I'm having a live site running Magento Besides having customized template, I also have installed 3rd party modules.

As time goes by I thought it would be wise to upgrade the system, as well as changing the theme from normal to responsive.

Currently my site is running on a cloud hosting server (aka VPN), therefore I can run more than 1 magento in the account.

There are 2 known methods:

  1. Upgrade via Magento Connect
  2. Fresh install

Any one knows which method is best practice? If fresh install is needed, any idea what are the steps required? Thanks!

Oops, meanwhile which is better? or


6 Answers 6


Upgrade Roadmap for CE from

  1. Take a backup of current database and current code. place maintenance.flag file inside code folder to put website offline.
  2. Download latest magento from the http://www.magentocommerce.com/download
  3. Remove all folders and files from your code except maintenance.flag (but you should have backup somewhere) and place all folders and files from the 1.9.
  4. Now from your merge your following custom folders into the 1.9
    • Community app/code/community
    • Local app/code/local
    • Media
    • your theme or package (app/design/frontend/default/<your theme> or app/design/frontend/<your package>)
    • custom folders from Skin (both for adminhtml and frontend).
    • copy your custom xml files from app/etc/modules/ to current app/etc/modules/
    • any custom admin theme folder from adminhtml/default/yourtheme.
    • copy your custom folders from adminhtml/default/default/ ( to adminhtml/default/default/ (1.9).
    • custom js files if any from app/js/.
  5. Now go to app/etc/local.xml.Edit database details their.put your database username and password and database name.
  6. Remove maintenance.flag file and check the site in the browser. it is done.

P.S. For more inforrmation on magento upgrade you can refer http://learnnewtechnologiesonline.com/magento/upgrade-your-magento-1-x-version

  • you this step... Jul 30, 2014 at 17:42
  • Thanks for the roadmap, starting to follow it now. Hope all works!
    – Daniel
    Aug 2, 2014 at 7:26

This guide has worked well for me:


  • The guide seems to be quite old.
    – Amasty
    Jul 30, 2014 at 21:33
  • It is but the process still works fine. You may need to update some of your theme files as the form key was added to several areas it wasn't previously.
    – Jason
    Aug 2, 2014 at 20:08

For Magento upgrades we normally follow the Magento WIKI


The procedure is more time consuming but it will ensure you have a stable upgraded site when you are finished.

I would NEVER use Magento connect to upgrade your website. I would also recommend backing everything up before you attempt it. We normally will upgrade a site 5 or 6 times before we actually do it live. We document each step to ensure there are no hiccups when it really counts.

I think you are ok to 1.9 now. It includes a great responsive theme that you can use for your next redesign!

  • Link updated for MageBayVaporation prevention. One of the few that actually redirects forward into the new wiki content, refreshed the link in case the redirect goes away. Oct 17, 2015 at 3:48

I just finished an upgrade from to, this took me some time because the system was running a multistore setup with several different templates. Most of the work was changing the templates to the new version to get them working again.

Because of the used extensions/product catalog and I wanted to keep the data I decided to upgrade step by step. I first updated the system to, next to, and as last I ran every update on a separate GIT branch on a test domain to verify that everything still works as before (and fix the problems). When the upgrade step was OK I merged the branch to the master branch and pushed the upgrade to production. When the production site was upgraded I upgraded the test domain to a next version and repeated the steps. This might be a bit slow, but this way I was able to fix problems per version upgrade at my own pace.

Also, the upgrades on production where done with a week between them (minimal), to ensure that the previous upgrade was working without problems. This would make troubleshooting a bit easier as the amount of code changes is less then when you upgrade to the latest version in one step.

For the installed extensions I had no problems with upgrading (even with the ones not listed as compatible), I did upgrade them to the latest version where available.

  • sounds like a long way. So to summarize: (1) Create a beta site and copy existing system over (2) Upgrade next version on beta site and debug (3) Once completed, transfer finished beta to original (4) Repeat above steps. What about database? How to ensure that existing site still runs while debugging on beta? And after beta is finished, how to bring the updated database over?
    – Daniel
    Jul 30, 2014 at 16:00
  • The production database stays the same, the upgrade is run against the real data (with a backup ofcourse). The beta site only gets a dump from production for testing. I also tested the upgrade by a new dump from production and run the upgrade before the upgrade to production. By running the upgrade scripts when moving to production on the original database the downtime is minimal. Jul 30, 2014 at 16:16

we are refering below steps for upgrading Magento to any version, first of all you will upgrade your stage environment. Then need to follow same steps on production environment if all features working propely.

Step 1 1. Enable maintenance mode on your instance

cd /stageIstance

for example: cd /var/www/magento

touch maintenance.flag

STEP 2: Manually you can take backup of your database and directories. Make sure you take the full backup of your store’s database and directories.

STEP 3: Commence the upgrade process cd /magento_folder cd /magento_folder rm -rf var/cache/* var/session/* chmod -R 777 /magento_folder chmod 550 ./mage ./mage mage-setup . ./mage config-set preferred_state stable ./mage list-installed When you use ‘./mage list-installed’ command in the command prompt, the Magento modules are listed in the same manner as shown below.

Installed package for channel 'community' :

Lib_Js_Ext stable

Lib_LinLibertineFont stable

Lib_Js_TinyMCE stable

Lib_Js_Calendar stable

Lib_Phpseclib stable

Lib_ZF stable

Lib_Js_Prototype stable

Lib_ZF_Locale stable

Mage_All_Latest stable

Interface_Adminhtml_Default stable

Interface_Frontend_Default stable

Interface_Install_Default stable

Mage_Downloader stable

Mage_Centinel stable

Interface_Frontend_Base_Default stable

Phoenix_Moneybookers 1.3.2 stable

Mage_Compiler stable

Magento_Mobile stable

Mage_Core_Adminhtml stable

Mage_Core_Modules stable

Lib_Varien stable

Lib_Google_Checkout stable

Lib_Js_Mage stable

Mage_Locale_en_US stable

Lib_Mage stable

In case, modules are not listed, use the below given command to upgrade further:

./mage install http://connect20.magentocommerce.com/community Mage_All_Latest --force And if your Magento modules are listed – use the following commands:

./mage list-upgrades ./mage upgrade-all Once the upgrade process is done, you’ll see a list of modules – ‘already installed’, ’package upgraded’, make sure your permissions are set back to normal:

php shell/indexer.php reindexall chmod -R 644 ./* find . -type d -exec chmod 755 {} \; chmod 550 ./mage STEP 4: Verification Before migrating to version, check the compatibility of all third party extensions on your website.

STEP 5: Go live with your website Execute the following command to remove security flag.

cd /magento_folder rm -f maintenance.flag

  • First create a backup of your entire Magento Store.
  • Download Magento’s new version, 1.9, from here. After downloading, upload and install it to your server or localhost. During installation, set the same Database name, Username and Password as your previous Magento Store in the configuration page.

  • Delete all the tables from your Magento 1.9 and import all the tables from your previous Magento version 1.6 to it.

  • Replace app/code/community folder in Magento 1.9 with your previous Magento 1.6 app/code/community folder.

  • Replace app/code/local folder with your previous Magento 1.6 app/code/local folder.

  • Replace media folder with your previous Magento 1.6 media folder.

  • Replace app/design/frontend/ folder with your Magento 1.6 app/design/frontend/ folder.

  • If you have created any custom xml files, then replace all those files from app/etc/modules with your previous Magento 1.6 app/etc/modules folder.

  • Replace all custom folders from skin folder with your previous Magento 1.6 skin folder.

  • If you have any custom admin theme folder then replace this folder with your previous Magento 1.6 app/design/adminhtml/

  • If you have any custom js folder then replace this folder from app/js in Magento 1.9 with your previous Magento 1.6 app/js.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.