Magento Skip Login/Registration at Checkout

A client wanted every checkout on his site to be a guest checkout. He was selling a very niche product and wanted to avoid hassling potential customers with a user log-in or registration form. The goal was to modify Magento's One Page Checkout to completely skip Step 1: Login/Register and show Step 2: Billing Information.

We are going to:

  1. Hide Step 1
  2. Tell Magento that Step 1 was "completed" as Guest
  3. Have Step 2 appear as Step 1

Here goes:

1. Hiding Step 1 - Login/Register

Open /app/design/frontend/<your_company>/<your_company>/template/checkout/onepage.phtml


  • And replace it with:

  • id="opc-" {...}
  • 2. Set Step 1 to equal Guest

    Open /app/design/frontend/<your_company>/<your_company>/template/checkout/onepage/login.phtml

    Basically, comment everything out and insert:


    3. Make Step 2 look like Step 1

    Open /app/design/frontend/<your_company>/<your_company>/template/checkout/onepage.phtml


    $i=0; foreach($this->getSteps() as $_stepId => $_stepInfo):

    And replace it with:

    $i=-1; foreach($this->getSteps() as $_stepId => $_stepInfo):

    Finally, in the same file, change this snippet that we added in step 1:

    echo $i==1


    echo $i===0

    And there you have it. Credit goes to poster imagebox on this particular Magento how-to thread

  • 22 thoughts on “Magento Skip Login/Registration at Checkout”

    • Mark Rinella

      Worked perfectly. Thanks!

    • Eric

      At first it seemed that this solution worked perfectly. But it seems that "Guest" is not selected by default in IE 6. Any suggestions would be fantastic. This is a great tip.

    • anoop

      thanks..its great...:)

    • Tiago

      Eric, in post #10 from the thread of which this article is based on you can see how to correct the internet explorer error. Basically you need to use this code instead in login.phtml

      Event.observe(window, 'load', function() {
      // fix for IE
      var cb = $("login:guest");
      cb.checked = true;


    • Ramona

      it doesn't work...and I dont understand why.....
      I have also the billing form hide...
      Please help me!!!


    • Luci

      I am getting a message when placed a order.

      "Sorry, guest checkout is not enabled. Please try again or contact store owner".

      Do you have any idea how fix this issue?

      I am running in Magento 1.4.0

      • Bob

        Ok, I know this is super old, but I'm just leaving this here because this is one of the only things that comes up when searching for this error.

        This is caused by persistent cart feature. When a persistent cart cookie is present, magento will disable guest checkout. This usually happens when the customer session time is lower than the persistent cart time. To replicate this, log in to an account, add something to your cart, and then edit your frontend cookie expiration time to some time in the past. You should now get this error at checkout.

        To fix this, you need to force the customer to register if they have a persistent cookie. You can do this by rewriting Mage_Checkout_OnepageController and adding in this code.

        You'll also have to hide the 'Create an account' checkbox in billing.phtml when Mage_Checkout_Model_Type_Onepage::METHOD_REGISTER

    • mandar

      Worked like a charm using IE update posted by @Tiago.

      Thanks to both of you.

      P.S. for those using Magento V 1.4.1 if you can't find the files onepage.phtml and onepage/login.phtml look under

    • Matt

      This works brilliantly!

      Is it possible to use a similar method to skip shipping info / shipping method / payment information?

      All of these are defaults on the store I'm creating and so it would be useful to skip them.


    • Noman

      I am getting error on Checkout Now button (onepage checkout last step), the error is:
      "Please check billing address information. Please enter first name. Please enter last name. Please enter street. Please enter city. Please enter telephone. Please enter zip/postal code. Please enter country. Please enter state/province."

      Please help me to remove this issues.


    • Ior

      This worked, thanks!

    • Leon

      Still works perfectly in even.
      Just remember to get the login.phtml from the persistent directory now (persistent/checkout/onepage/login.phtml).

    • kaushik

      My billing information is disabled what should i do....

    • abc

      i am getting disabled billing information and cannot move forward.
      thank u.

    • Sahand


      What if i don't have the 'persisten' dir?? Please i really want to make this work! V

    • Krysis

      Same issue like abc and Sahand
      All other steps are disabled now.
      using v
      Anyone a solution?

    • Krysis

      May found a part of the solution myself.

      <div id="checkout-step-" class="step a-item" style="display:none;">

      and replace the "display:none;" with ""

      The 1 Step (Billing Info) now appears - but it didn't close on Continue.
      The rest of the process seems to work fine.

    • Krysis

      Ahh f**k
      The replace should be (hope it now works):

    • Krysis

      What a ...
      Set in php

      echo $i!==1 ? 'display:none;' : ''

    • JS

      Excellent....still working in Magento 1.8

    • Rukshan

      Excellent post, and have done it in style, with minimum effort.
      Can you kindly let me know what "Event.observe" method to use if we want to skip the shipping method in the same way please??

    • karob

      works also on magenta 1.9, great!


    21 Item(s)

    Leave a Reply

    About NVNCBL

    Quick Support

    Memory usage: real: 8388608, emalloc: 5983888
    Code ProfilerTimeCntEmallocRealMem