How to Migrate Magento 1 to Magento 2?

Are you planning to migrate from Magento 1 to Magento 2?

If yes, then you are on the right track.

If No, then think about it again.


The official support for the Magento 1.x versions will stop after 2020.

Here is an interesting fact-

More than 250,00 sites use Magento, but only 11,000 of them run on Magento 2.

So, don’t worry. You are not alone. In this article, I will share with you some quick steps through which you can easily upgrade Magento 1 to Magento 2 using the data migration tool.

Why Migrate From Magento 1 to Magento 2?

The answer is simple. You want to stay updated, not outdated.

  1. Magento has stopped introducing any updates in its Magento 1 version.
  2. All the changes done in Magento 1 have to be repeated in Magento 2 version, whenever you choose to upgrade.
  3. Magento 2 provides better results, improved site performance, and drive differentiated omnichannel commerce experience.

What should be kept in mind before Magento Migration?

Before you upgrade Magento 1 to Magento 2, here are some essential aspects to consider:

  1. Review and analyze what needs to be kept or removed from the new Magento 2 website.
  2. Make sure you have a full backup of your Magento 1 store and the required database, files, and folders.
  3. Avoid using the live store for the migration process. Transfer the data from the cloned database of the Magento 1 store.
  4. Check if your current extensions, custom code, and themes are compatible with the Magento 2.

Migrate Magento 1 to Magento 2 in 4 Easy Steps

  1. Theme Migration
  2. Extension Migration
  3. Customizations Migration using Code Migration Tool
  4. Data Migration using Data Migration Tool

Step 1: Theme Migration

  1. To upgrade Magento 1 theme to Magneto 2, you have to check if Magento 1 theme is compatible with Magento 2 version or not.
  2. If Yes, then you can install the same theme in Magento 2. This will make the process of migration a lot easier for you.
  3. If No, then you can either create a custom theme in Magento 2 or buy and install a Magento 2 theme from Magento Marketplace.

Step 2: Extension Migration

  1. Again, you have to check if Magento 1 extensions are compatible with Magento 2 version or not.
  2. If yes, then you can integrate the same extensions in Magento 2.
  3. If No, then you have to add new extensions.

Step 3: Customization Using Code Migration Tool

  1. Magento 2 customization can be done using a Code Migration Tool.
  2. It can enormously lessen the work involved in the code migration.
  3. However, after running the toolkit, you may have to edit some of the generated files manually.

Step 4: Data Migration Using Data Migration Tool

The last step is to migrate data from Magento 1 to Magento 2. You can use Magento 2 Data Migration Tool for a smooth migration. With the help of this tool, you can migrate critical data such as products, orders, categories, store settings & configurations, etc. to Magento 2.

Migrate Magento 1 data to Magento 2

Here’s a step-wise guide to data migration:

4.1. Install Data Migration Tool via Composer

1. Before installing this tool, make sure the version of both – Data Migration tool and Magento 2 are precisely the same. For example, if you are using Magento v2.1.1, you must install the Data Migration Tool v2.1.1.

Don’t know your Magento version?

Navigate to the root directory of your Magento 2 via SSH terminal and enter this command:

  • php bin/magento –version

2. Now that you know the version of your Magento 2 store installs the Data Migration Tool.

Note: Update the location of the Data Migration Tool package in the composer.json file in the Magento 2 root directory. To do this, run this command:

  • composer config repositories.magento composer
  • Composer require magento/data-migration-tool:<version>

Here, <version> is your Data Migration Tool version. For example, for Data Migration tool for Magento v2.1.1. You will have to replace <version> with 2.1.1

  • Composer require magento/data-migration-tool:2.1.1

3. Enter your authentication keys

Go to Magento Marketplace > Sign in > Click on My Access Keys

If you already have keys, the public key is your username and the private key is your password. Else, you can create a new key pair. Click on “Create a New Access Key Button.”

4.2. Configure Data Migration Tool

After completing the installation, you will find the following directories to contain mapping and configuration files for the Data Migration Tool:

  • <Magento 2 root dir>/vendor/magento/data-migration-tool/etc/ce-to-ee

This includes configuration and scripts for migrating from Magento 1 Community Edition to Magento 2 Enterprise Edition.

For Magento 1 Enterprise Edition to Magento 2 Enterprise Edition, use this command:

  • <Magento 2 root dir>/vendor/magento/data-migration-tool/etc/ee-to-ee

Note: Before migrating any data and settings, create a config.xml file in the relevant directory.

  • <source>
  • <database host=“localhost” name=“Magento1-DB-name” user=“DB-username” password=“DB-password” />
  • </source>
  • <destination>
  • <database host=“localhost” name=”Magento2-DB-name” user=“DB-username” password=“DB-password” />
  • </destination>
  • </options>


  • <source> : has Magento 1’s database information
  • <destination> : has relevant information of Magento 2
  • <crypt_key> : encryption key of Magento 1 which can be found in in <key> tag for <Magento 1 rootdir>/app/etc/local.xml file.

Lastly, save config.xml file.

4.3. Migrate Settings

Use the Data Migration Tool to migrate settings from Magento 1 to Magento 2.

This includes websites, stores, system configurations like tax settings, payment, shipping, etc.

You should migrate the setting first. To start with that, navigate to your Magento 2 root directory via SSH terminal and run this command:

  • php bin/magento migrate:settings –reset <path to your config.xml>

Where <path to your config.xml> is vendor/Magento/data-migration-tool/etc/ce-to-ee/<Magento 1.x version>/config.xml.

Upon successful migration, a message will be displayed.

4.4. Migrate Data

To migrate products, orders, wish lists, customers, categories, ratings, etc. follow this command:

  • php bin/magento migration:data –reset <path to your config.xml>

If in case, there’s an error during the migration, refer Magento’s Troubleshooting page.

Wrapping it up..

After the migration has been done, run a test to ensure the proper functioning of Magento 2.

Migrating from Magento 1 to Magento 2 is not easy, as it involves a lot of manual tasks.

For hassle-free and safe migration, you can hire experts to get your job done.

Rate this post