Author - Robert Popovic

Founder and Technical Director of LERO9, a web agency specializing in Magento and WordPress design and development.

I launched Magebase in April, 2010 and am its editor and contributor. My main topics of interest are Magento development, customization and how to get the most out of Magento with the least amount of headache.

More Info » Follow me on Twitter »

Reader Comments (40)

  1. Customizing the Magento Error Report and Maintenance Page – Tutorials – Magebase | Magento Training Course

    […] an error. All you need is an understanding of the error processing and some HTML/CSS skills. Link – Trackbacks source: Topsy – magento tutorial – Customizing the Magento Error […]

  2. Links 27/2011: Magento, Google Plus, NoSQL und HTML5 | Matthias Zeis

    […] doch ein paar neue Details könnt ihr in seinem Beitrag finden.Fehlerseiten: Magebase stellt die Anpassung der Fehlerseiten im Detail vor.Google PlusDeutschsprachige Google-Plus-Charts: Das Ding ist in aller Munde und ich […]

  3. amy
    July 10, 2011 at 7:10 am /

    I created new theme + updated local.xml pointing to it and still get same error page

  4. amy
    July 10, 2011 at 7:11 am /
  5. amy
    July 10, 2011 at 5:27 pm /

    this error page tutorial = leaves out variable or something. changing local.xml to point to new theme i created in error directory did nothing.

    overwrite default images and css works. for some reason , no matter what I put in local.xml it had no effect.

    working for now just by overwrite default

  6. amy
    July 11, 2011 at 4:08 pm /



    i had


    and said mytheme in local.xml but it did not work

    (by the way…could you pls remove /errors/report.php from my above post because everytime someone goes to that page i get an email notice (silly me for posting it!!)

  7. amy
    July 11, 2011 at 4:42 pm /

    thanks, i did have it that way but will go back and check permissions on the file i guess. (plus i will drink a big cup of coffee in the morning before looking closer!! 😉

    1. Don V.
      Don V.
      September 6, 2012 at 7:48 pm /

      I am having the exact same issue as Amy–I have followed this tutorial, and I can’t seem to use my custom skin.
      I read xbb’s comment below, but don’t understand how to ensure I use the “good DocumentRoot value”.

      Please point me in the right direction.
      DOn V.

  8. xbb
    September 2, 2011 at 4:21 am /

    @Amy :
    processor.php uses $_SERVER[‘DOCUMENT_ROOT’] to check your custom error folder.
    Be sure your httpd.conf or zend.conf contains the good DocumentRoot value. If not, processor.php won’t find your “mytheme” folder and will keep the default skin !!

    I found it in the file :
    See line 573

  9. Vanessa
    September 28, 2011 at 7:40 am /

    Thanks Robert, your tutorial is very enlightening!

    But I have one question, is a especial case, maybe…

    I have a Magento with a multistore configuration and consequently with many website scopes.

    You know how can I do one costumized skin for each website scope?

  10. Vanessa
    September 29, 2011 at 7:24 am /

    Thanks again!! I will try it, and when found the solution, I will post here. 🙂

  11. xbb
    September 30, 2011 at 1:24 am /

    Look forward to it 🙂

  12. Joanna
    October 7, 2011 at 5:31 pm /

    GENIUS! Thank you so much for this clear and detailed explanation – it worked like a charm!

  13. Gloria
    February 6, 2012 at 1:18 am /


    Your tutorial save me hours of frustration! Now if I can only get shop by brands to work. LOL

  14. Chintan Parikh
    March 13, 2012 at 6:35 pm /


    Is it possible to redirect user to home page on error?

  15. xbb
    March 13, 2012 at 6:51 pm /

    IMO this is non-sense and dangerous (e.g. redirection loops)

  16. Neo
    July 10, 2012 at 2:39 pm /

    Thank you, this is a very helpful article for me in recent project. I created a static block and have the error page to call that static block for showing message.

  17. How to customize content of error page / A Blog for Magento & Ecommerce

    […] page or change the layout and css to make it the same as your site.  Thanks to a Magebase post (, we can understand about error page very clearly. In this post, I will expand the tutorial to help […]

  18. Neo
    July 30, 2012 at 4:09 pm /

    We wrote a further article for how to change header and footer of error page to be same as other pages. This article also helps you call static block in error page. You can see it here:

  19. alex
    August 17, 2012 at 2:25 am /

    Thanks, nice article. I see you are really a professional in this. Then you must heard about shoping cart diagnostics service. I use it, so maybe it will be useful for anyone here. It is closely related to your topic as it checks diferent kind of Magento errors, providing solutions on fixing the problem. So Magento owners are protected from such unexpected troubles! I give you a link I also
    would like to stay in touch with you, and your articles

  20. Vijay
    October 21, 2012 at 5:32 am /

    This might help others with the same problem. I wasn’t able to override the default 503 error page and couldn’t figure out why until I started poking around the processor.hp file (under the errors folder). It turns out that if you have installed magento under a hosting account that is running multiple websites and your magento site is not the primary site – you need to modify the _getIndexDir function in processor.php to reflect the correct path to the root of your magento site. For a full explanation see:

  21. Phil
    January 11, 2013 at 7:30 am /

    I was wondering if it’s possible to use different skin folders in error/ dir to match store views. I have a Website with two different Stores Views (two different brands and domains).

    What I want to say, if there is a way to have the same usage as the hierarchy of magento Websites>Stores>Store Views to show error pages themes.

    When I am surfing in Store View B I would expect to see a 503 error page same as my Store view template (colors logo etc) and not something universal for all my Store views.

    So is it possible to hardcode processor.php to check if my skin “my_package” has any “sub_themes” within the subfolders and serve the Store View depending where the customer is?

    I have:
    skin/frontend/my_package/default <– main theme
    skin/frontend/my_package/theme1 <– sub theme (store view A changes to reflect my brand)
    skin/frontend/my_package/theme1 <– sub theme (store view B changes to reflect my second brand)

    1. Phil
      January 11, 2013 at 7:32 am /

      Sorry mistype “theme2”

      I have:
      skin/frontend/my_package/default <– main theme
      skin/frontend/my_package/theme1 <– sub theme (store view A changes to reflect my brand)
      skin/frontend/my_package/theme2 <– sub theme (store view B changes to reflect my second brand)

  22. samuel sandeep
    samuel sandeep
    August 7, 2013 at 7:05 pm /

    Hi Robert,

    Nice Article,thanks for sharing this information in very detail.

    Magento Developers

  23. Nino
    August 8, 2013 at 10:08 pm /

    Hi Robert,

    if a change on the webspace app/etc to app/ than they come not the 404 or the 503. How i can change this if i change something on the webspace that they come also an error page same like in your tutorial?

    with best regards

  24. Chatura Dinesh Halwatura
    January 24, 2014 at 3:44 am /

    I wanted to customize default error skin theme. But it keep fallback to default skin folder even I made changes to custom skin name in local.xml file.

    Finally I realize there is costant variable define under “processor.php” in errors/ folder.

    class Error_Processor
    const MAGE_ERRORS_LOCAL_XML = ‘local.xml’;
    const MAGE_ERRORS_DESIGN_XML = ‘design.xml’;
    const DEFAULT_SKIN = ‘default’;

    If I rename as follows,

    const DEFAULT_SKIN = ‘my-theme’;

    now it’s fallback without any problem.

    I don’t know really I used best practice. Please advise me if I did wrong way.

  25. Sammy Gibson
    August 20, 2014 at 10:15 am /

    How do you test the Server Processing error page after you’ve customized it? Is there an easy way to manually throw a server processing error? I have my local.xml and customizations all ready to go, but I’m not sure how to throw an error to test the changes.

  26. Somesh
    January 2, 2015 at 1:56 am /

    Need your assistance ?
    I’ve created a Magento website on local host i.e on my pc with it’s database but, i don’t know how to put that on the live server and how to connect the database with that

  27. Jaimie Dijstra
    Jaimie Dijstra
    May 12, 2015 at 1:31 am /

    Great article and applicable to Magento thanks for the guide!

  28. Anonymous
    September 4, 2015 at 12:28 pm /

    I have Magento installed in a subdirectory and it doesn’t load styles/images for error pages (incorrect path produces 404 because it doesn’t include a subdirectory). What should I do?

  29. jake
    September 11, 2015 at 12:09 pm /


    i tried on latest version and it is not working. Can you please help?
    Was able to get the logo changed, but not the email form.

    My files and folders are:

    liena/ (this folder contains all files and folders from the DEFAULT folder and is the skin name that is
    referenced in local.xml)

    Thank you.

    1. Ray
      February 24, 2016 at 10:54 am /

      If you followed the steps accordingly, you need to trigger the processReport function so you the report.phtml is render.

  30. Carla Mcdaniel
    Carla Mcdaniel
    February 3, 2016 at 3:54 pm /

    Savvy comments , I was fascinated by the info – Does anyone know where I would be able to get access to a blank IRS W-3 document to fill out ?

  31. Ray
    February 24, 2016 at 10:55 am /

    Cool set of instructions, worked like magic in magento CE 1.9.2.


Add a Comment & Join the Discussion

Insert small snippets of code by using [code]{your_code_here}[/code]
For larger code blocks please use and paste your link.

You may also use the following HTML in your comment: <a href="" title=""> <abbr title="">
<acronym title=""> <blockquote cite=""> <cite> <em> <strike> <strong>