Magento Migration – From Magento 1 to 2 in 5 Simple Steps

As Magento 1 fades away and Magento 2 takes it place, it’s high time for businesses, especially retailers to head for Magento migration. This migration, nevertheless, may seem to be a nightmare to many in retailers. We want to make this transition easier for you. That’s why we bring you this blog post that walks you through migration from Magento 1 to 2 in 5 simple steps.

The Context

According to Built With, “Magento is currently powering 28% of internet sites with 16% of the top sites using it as the preferred ecommerce platform.”

However, despite its popularity and flexibility, Magento’s version 1, had been continually under scrutiny by critics and Magento website development experts alike, for performance related issues, including a poor page load speed, until it breathed its last in November 2018. Though Magento will keep extending support for Magento 1 till 2020, it’s Magento 2 that hold the place that Magento 1 once did.

Magento 2 has turned out to be a huge upgrade from Magento 1.x versions – especially when it comes to performance and usability, it’s high time you move your store from Magento 1 to Magento 2.

Why Migrate to Magento 2

  • Magento has stopped rolling out any new features in the Magento 1.x versions now, except for the security updates.
  • Magento team will stop the official support for the Magento 1.x versions and stop releasing new security updates after 2020.
  • All the customizations you will be doing on your Magento 1.x version will have to be repeated in the Magento 2.x version, whenever you go for Magento 2 upgrade.

Understanding the Magento Migration Process

There are four stages you need to go through in order to migrate your website from Magento 1 to Magento 2:

  1. Data Migration
  2. Extension Migration
  3. Customizations Migration
  4. Theme Migration

In this technical note, I am going to explain the procedure of Magento 2 data migration using the data migration tool.

Magento has released a data migration tool that helps developers migrate data from a Magento 1.x version to a Magento 2.x version. It is a command line interface that provides tracking, logging, verification, progress, and testing functions.

5 Simple Steps to Migrate from Magento 1 to 2

Step1: Setup Magento 2 Instance

Download Magento 2 from without the sample data. Extract the downloaded data and follow the setup wizard to install the platform. Now, you have Magento 2 setup with an empty database. The data will be migrated in the database of this Magento 2 instance.

Step 2: Download the Data Migration Tool

Open the command line in the root folder of Magento 2. Download the data migration tool in the newly setup Magento 2, by following the command:

composer require Magento/data-migration-tool:

The version of the data migration tool must match the version of the Magento 2 codebase. The version of Magento 2 can be found in the composer.json file present in the root of the Magento 2 directory.

For example, for Magento version 2.1.0 the command would be:

composer require Magento/data-migration-tool:2.1.0

You will be prompted for the public key and your private key for authentication.

To get these key values, login to your account in . After you log in, click on “My Accounts”. Now, click on the developer’s link in the left menu and then click on security keys. Here, you can find your keys.

After filling these details, a new folder named data migration tool will be created in /vendor/magento/. You can download the data migration tool from Github also:

Step 3: Configuring the Data Migration Tool

After downloading the data migration tool you will need to set the configuration for it. Under the data-migration-tool/etc folder you can see 3 folders: ce-to-ce, ce-to-ee, ee-to-ee.

The folder ce-to-ce includes configuration files and scripts for migrating data from Magento 1 CE to Magento 2 CE. Folder ce-to-ee includes configuration files and scripts for migrating data from Magento 1 CE to Magento 2 EE. Folder ee-to-ee includes configuration files and scripts for migrating data from Magento 1 EE to Magento 2 EE.

Now, enter the directory for which you are performing the migration (for example: ce-to-ce in the case of migrating data from community edition to community edition). Now enter the directory with the Magento 1 version name. For instance, if you are doing migration for Magento version then the you should enter the folder

Next, make a copy of the file map.xml.dist and rename it map.xml, in this folder. (Use of this file explained in the migration step.)


<database host=”magento1host” name=”magento1databasename” user=”magento1databaseusername” password=”magento1password” />



<database host=”magento2host” name=”magento2databasename” user=”magento2databaseusername” password=”magento2password” />







Then, make a copy of the file config.xml.dist and rename it config.xml, in this folder. Open this file and do the following changes in it:

Required Values:

Under source enter the Magento 1 database details, and in the destination enter the Magento 2 database details.

Crypt_key value can be found in local.xml file which is located in the Magento 1 instance directory at: app/etc/local.xml in tag.

Optional Values:

If you don’t have a prefix set for the Magento 1 and Magento 2 tables, then you can leave the “1” source prefix, and “2” source prefix fields empty.

Database mapping between your Magento 1 and Magento 2 databases is performed through mapping files which are located in: /vendor/Magento/data-migration-tool/etc/<ce version>

These files are used for changing the table names, field names, ignoring tables and fields and transferring data of a field to the Magento 2 format. We need to remove the .dist extension of these files to make use of these mappings.

After removing the .dist from file names we need to change these file names (removing the .dist) in the config.xml file under the options tab. Here you can see the location of the files that need to be renamed.

















It should look like this now:

















Step 4: Provide the Prerequisites

Before you start your migration, you must do all of the following:

  • You need to stop all the current activities in Magento 1.
  • Stop all the cron jobs running on Magento 1 version and put the site on maintenance mode. The purpose of this is to stop all the activities that make any changes in the database. We need to make sure that there is no activity in the database once the data migration process starts.
  • Open ports in your firewall so that the migration tool can communicate with databases, and the databases of Magento 1 and Magento 2 can communicate with each other.
  • Migrate your theme to Magento 2 theme structure.
  • Migrate all your Magento extensions and customizations from version 1 to 2.

In the event of unexpected issues that might cause redundancy, we advise you to make a backup of your Magento 1.x database.

Step 5: Migrate the Websites

Now we will migrate the websites, stores and system configuration like tax settings, payments, shipping, etc. For this we need to run the following command in the Magento 2 instance:

bin/magento migrate:settings [-r|–reset] {<path to config.xml>}

[-r|–reset] is an optional argument that starts the migration from the beginning.

{<path to config.xml>} is the absolute path to config.xml file and is a required field

The command should be:

sudo bin/magento migrate:settings /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/

Once it is done you will see the “migration complete” status.

Next, you will need to run the data migration command:

bin/magento migrate:data [-r|–reset] {}

The command should be:

udo bin/magento migrate:data /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/

This command checks the consistency of tables and fields between Magento 1 and Magento 2. If any problem is found then an error message will appear with a list of all tables and fields that are not mapped.

For example: if you extension tables error, and the custom field that I created in one of the tables. So, I got the following error.

To fix this problem you need to install the Magento 2 version of the extensions in the Magento 2 instance so that the missing tables are in the Magento 2 instance database as well.

You can also ignore the tables and fields by adding their entries in map.xml file

After making the entries, the corresponding tables and fields will be ignored and will not be migrated to the Magento 2 database.

Run the migration command again to verify that the issues are fixed.

The data migration is completed once you get the migration complete message.

After migration is completed, if there are any new changes in the database, such as new orders are placed, or new reviews are added, then you can migrate that data by executing the following command:

bin/magento migrate:delta [-r|–reset] {}

The command should be:

sudo bin/magento migrate:delta /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/

This command can be stopped by pressing ctrl + C, or else it will keep on running.

Now your database is successfully migrated to Magento 2.

Flush your Magento 2 cache, and re-index all Magento 2 re-indexers, then thoroughly test your new Magento 2 site.

After the migration, you need to copy the media files from Magento 1 to Magento 2.

Brace yourself for the following challenges during Magento 2 migration:

Homepage Not Appearing Correctly:

If your Magento 1 version has a custom layout set for the home page, then in Magento 2 after migration, the home page will not appear correctly. You either need to create a custom layout in Magento 2, or you can go to the Magento 2 admin panel and change the layout in pages for your home page.

Products Not Appearing in the Category:

You need to re-index all the indexers. In Magento 2 you need to go through the command line as it can’t be done from admin panel like in Magento 1.

CSS JS Files Not Loading:

For this, you need to flush your cache and then deploy the static content.

(If you are still facing a problem after removing the cache, then manually remove all the subfolders from the cache folder.)

The Upsides of Magento 2 Migration

1. Improved Performance and Scalability

There’s no doubt that Magento 2 performs superior to Magento 1 in all cases. It accompanies an improved indexer that helps in increasing its query performance speed. Moreover, Magento 2 uses Varnish cache, the prominent HTTP accelerator technology which makes it simple to cache requests.

This makes it simple for more than one admin users to create as well as edit e-commerce products information without data conflicts in Magento 2. Magento 2 has enhanced performance and scalability because it:

  • Improves web pages for faster delivery
  • Boosts server response times for all website activities
  • Enhances proficiency of backend operations
  • Enhances database flexibility and scalability to deal with peak loads

2. Improved Checkout Process

Magento 2 platform gives simple and safe checkout to your eCommerce site. It offers an approach to recognize visitors as their guests. This eradicates the login or registrations form that is required for users to continue the checkout process.

Also, it offers an active shipping rate as per country, region, or postal code. In Magento, you can you can easily integrate the convenient payment method into the checkout procedure. There are several payment options available that include Paypal and Braintree. You can make your own particular favored payment modules with easy integration with any merchant checkout platform.

Magento 2 checkout process, likewise, comprises the order summary where you’ll see the summary of your shipping information. These features help reduce checkout hassle and enhance customer experience. It even lessens the time it takes to checkout, boosting up your conversion rate while reducing cart abandonment.

3. Mobile-friendly and Responsive Design

Magento 2 offers mobile-friendly and responsive designs for delivering the perfect checkout experience to everyone around the world. With it, eCommerce development is possible that is supported by various devices including mobile using any screen resolutions.

The Magento 2 admin panel is touchscreen friendly and makes it easy to deal with your store via your mobiles or tablets. It makes your site engaging, easy to use, and easy to navigate irrespective of the device and its resolutions. Magento 2 makes your site to emerge and customers can see your products and place order effortlessly on your e-commerce store.

4. A More Organized Admin Interface

The admin panel of Magento 1 was always criticized for its complexity. The admin panel in Magento 2 is more user-friendly. The new dashboard shows lifetime sales, average order, last orders, last and top search terms, helping you monitor your current state of the business.

It is a modern admin interface that allows users to easily navigate all parts of the admin panel, find information easier and manage the store more efficiently. Now, the admin panel can be customized as per your convenience.

This personalizes each admin panel for every user, in order to increase productivity when managing products, orders, and customer data. Creating products in the admin panel is easier than before with 4x faster product import capabilities.

5. Easy to Upgrade

Magento 2 is a continuous process and is easy to upgrade to enhance the platform. It offers security patches to help retailers stay secure. This requires the release of Magento latest version every time.

The redesign enhances the eCommerce experience for you as well as your customers. When a new version is released, developers look for how to include new features and enhance old ones to provide a better user experience.

6. Enhanced Security

Magento 2 has put considerable focus on security, and subsequently, has more secure information handling. With its main focus on securing user details and offering a secured checkout process, this new version will fulfill every crucial requirement of an advanced e-commerce store.

Select any payment method to complete the transaction in the advanced eCommerce website and let the version secure your crucial details. High security will offer more protection.

7. Offers a Plethora of Key Integrations

Magento 2 is designed to offer many key integrations that are useful extensions. The Magento 2 extensions are medium that helps you carry out crucial activities in your e-store. It enhances the features and the functionalities of your e-commerce store.

Many retailers are using them to run their eCommerce business to customize their e-store as per requirement. The Magento 2 extensions include payment gateways such as Paypal, Braintree, and so forth. This gives payment options to your customers to make a wise selection and helps in enhancing sales.

8. Instant Purchase

When a customer comes on your eCommerce website to make a purchase, they tap on the instant purchase button on the detail page of the product. Then, they are redirected to a confirmation page, where they can place their order.

The instant purchases use Braintree Vault which is available on Braintree credit card, Braintree PayPal, and PayPal Payflow expert for stored payment information. This cuts down the amount of time it will take to place an order by 90 percent. It is useful for mobile shopping as it makes it easy to place orders.

9. Email Marketing Automation

One of the best features of Magento 2.2 and later versions, is the dotmailer email marketing automation. It allows merchants to create campaigns in a few minutes. You can create automated campaigns through SMS, Push, email and other channels and manage transactional emails for your Magento stores.

Dotmailer’s toolset is easy to use. In case you need their assistance, they offer 24 x 5 to solve customers’ problems. You can test out dotmailer by signing up for their free 14-day trial.

10. Email Advertising Computerization

One of the most recent highlights of Magento 2.2. is the dotmailer email advertising computerization. It enables traders to make crusades in a couple of minutes. You can make mechanized crusades through SMS, Push, email and different channels and oversee value-based messages for your Magento stores. Dotmailer’s toolset is anything but difficult to utilize.

If you require their help, they offer 24 x 5 to take care of clients’ issues. You can try out dotmailer by agreeing to accept their free 14-day preliminary trial.

11. Advanced Reporting

The report is refreshed ceaselessly to demonstrate new information. This element gives you the understanding, information, and measurements you have to all the more likely deal with your web-based business.

When it comes to getting success in your e-commerce business, reporting is very crucial. The new advanced reporting features, located in Magento Admin, offer 20 reports through its web interface. This feature gives you insight into three critical areas, such as:

  • Orders – the number of orders, AOV, and taxes and shipping fees collect
  • Customers – the number of registered accounts
  • Products – the number of products orders and which product sells best

The report is updated continuously to show new information. This feature offers you the understanding and metrics you need to better manage your e-commerce business.

Still Pondering on Magento Migration?

Magento migration from version 1 to 2 is a must for retailers. It allows them to make their eCommerce website support a wide range of functionalities and offer faster time to respond to users.

With the withdrawal of Magento 1 support coming closer, retailers will not have a choice but to move to Magento 1, better sooner than later. By 2020, this migration will no longer be a matter of choice. If you are planning on moving any soon, make sure you are ready for the challenges and the changes thereof. Any decent Magento web development company can, in fact, help you prepare for the migration.

So, ready to move?

Surabhi Shukla

About the Author

Surabhi is a proficient PHP developer and has worked on frameworks and CMS like Joomla, CakePHP, Drupal, and Magento. She is also a Magento certified developer and Developer Plus. When not at work, she relaxes by listening to music and is an avid reader.

Leave a Comment

Kasyapa Malladi

5:25 PM, Jun 24, 2019

Thanks for such a great content you put together. I additionally have experienced an awesome method for learning. You have made the whole procedure incredibly straightforward and educational.

Vishnu Bhadoriya

6:49 PM, Jun 22, 2019

Hii Surabhi,

i have followed magento official document for migration but failed somehow
But this blog helps me lot

Sachin Bhaderia

2:10 AM, Jun 01, 2019

Hello Surabhi,
I like this blog very much and it was really very helpful for me. You have really explained it very well. Once again thank you a lot. God Bless You :-)