Magento 1 to Magento 2 Migration

Magento 1 to Magento 2 Migration: The Complete Guide

Back in July 2015, Magento released its second version, known as Magento 2. Since that time, the strength and focus of this e-Commerce platform have taken a shift from Magento 1 to Magento 2. In the latter version, the platform comes with a completely different architecture and supports a variety of new features. 

Not just that, but Magento 2 also supports full-page cache and PHP 7 by default and is much faster in comparison to Magento 1. With database optimizations, enhanced indexers, and a user-friendly checkout method, Magento 2 has proved to be a considerable choice among store merchants. 

On top of that, since Magento has completely stopped providing support to Magento 1, it’s high time that you make a shift to Magento 2 if you haven’t yet. So, to help you out, this post elaborates more on how to migrate from Magento 1 to Magento 2 without any hassles. 

Why Should you Upgrade to Magento 2?

Why Upgrade to Magento 2?

If you’re still pondering upon why you should be upgrading to Magento 2, here are a few facts to look at:

  • Magento 2 supports all new stacks, including Varnish 6.x, RabbitMQ 3.8.x, Elasticsearch 7.9.x., NGINX 1.x, Apache 2.4, PHP 7.4, and more.
  • Such a combination helps improve the performance and speed of the website.
  • Ultimately, you’ll be able to take more orders. 
  • The frontend content will load faster as compared to Magento 1.
  • You can find more reliable extensions and a cleaner code in Magento 2.
  • A substantial impact of SEO with rich snippets and on the catalog pages can be seen with Magento 2.
  • This version is more mobile-friendly.
  • Themes are more responsive. 
  • The checkout process is highly optimized.
  • It supports PWA, allowing you to develop mobile native app experiences for the online store.

Magento 1 to Magento 2 Migration: Precautions to Follow


As much as it’d be exciting to begin the migration process right away, there are a few things you should be wary of. Here are a few precautions to take before you migrate from Magento 1 to Magento 2:

  • Take a complete backup of the Magento 1 store, including the database, folders, and files.
  • Create a clone of the Magento 1 store and don’t use the live store to begin the migration process. 
  • Evaluate your store and keep whatever is necessary while deleting the rest of it.
  • Cross-check whether the current custom code, extensions, and themes are compatible with Magento 2 or not.
  • Migrate the entire data from the cloned database of the Magento 1 store.
  • Remove useless and outdated data from the database, including compared products, recently viewed products, logs, and more.
  • Install Magento 2 on the same server. 
  • Ensure that the store traffic and SEO-related strategies are streamlined. 

Magento 2 Migration Process

Migration Process

Without further ado, let’s begin with the Magento 2 migration process. 

  • Theme Migration

Magento 2 has come up with new methodologies and technology to provide an improved store and shopping experience to both users and merchants. Developers can make the most out of these new methods to create eye-catching Magento 2 themes or modify the ones in use to make them compatible with the standards of Magento 2.

However, keep in mind that there is no way to directly migrate Magento 1 theme to Magento 2. You will have to create a new theme and make it responsive enough to provide an adequate user experience. 

If you don’t wish to go through the hassle of developing a theme, you can simply buy a Magento 2 theme and use it accordingly. 

  • Extension Migration

Extensions are necessary as they offer new features and easily extend the functionalities of the Magento store. Just like themes, you cannot directly migrate Magento 1 extensions to Magento 2. Even if you try using them, you’ll experience adverse compatibility problems.

Thus, you can simply install a Magento 2 extension(s) from the Magento Marketplace. Generally, experts recommend that you only install only relevant extensions. So, make sure you don’t end up filling up the site with extensions. 

  • Customizations Migration

In most cases, the custom code used by Magento 1 will be compatible with Magento 2. This platform provides a Code Migration Toolkit that will be helpful in this process. One thing to note here is that there are structural differences between the two versions; thus, the customization migration might need extra work to ensure that everything has been migrated to Magento 2 successfully. 

  • Data Migration

To ease up the process of data migration, Magento has officially come up with a Magento 2 Data Migration Tool that assists developers in migrating the data and settings through CLI commands. This way, the entire procedure becomes hassle-free, and you can seamlessly migrate critical data, such as settings & configurations, orders, categories, products, and more, to Magento 2. 

The Data Migration Tool helps migrate all of the databases of Magento 1 to the database of Magento 2 on the basis of a few rules defined in the XML files. 

Install Magento 2 Data Migration Tool via Composer

Data Migration Tool

You can easily install the Data Migration tool into your new Magento 2 store using the Composer. Keep in mind that this one isn’t any extension but a distinctive shell application that needs your Magento 2 store to turn operational. 

Before moving ahead with the installation of the Magento 2 Data Migration tool, you’ll have to shift media files from Magento 1 to Magento 2. This can be done by using the following command:

rsync -a magento-sample-data /media/
{username}@{publicIP}:{Media Folder Path}
Magento 2 Data Migration Tool via Composer

And then, the transfer will be done. 


Before installing the Data Migration Tool, ensure that the versions of the tool and Magento 2 store are matching. For instance, you must download and install the Data Migration Tool 2.2.0 if you’re using Magento version 2.2.0. 

If you’re unaware of your store’s version, simply go to the root directory of Magento 2 via SSH and enter this command:

php bin/magento –version

Once you get to know the version, you can move ahead with installing the Magento 2 Data Migration Tool. Make sure that you’re updating the tool package’s location in the composer.json file to make it work. Run the following command to do so:

composer require magento/data-migration-tool:<version>

In the command mentioned above, <version> is the Data Migration Tool’s version. 

You’ll have to enter the developer authentication keys. For this:

  • Visit the Magento Marketplace
  • Sign in through the login credentials
  • Go to your Magento profile
  • Under My Products, click Access Keys

In case you already have keys, your username will be the public key, and your password will be the private key. If not, simply click the Create a New Access Key option to create a new key pair.

Just within a few seconds, the Data Migration Tool will get installed successfully on the Magento 2 store. 


Once you’re done with the migration process, run the setup:upgrade command as the Migration tool is the Magento module, and it’s recommended to always run this command whenever you’re installing a new module.

  • Configure Magento 2 Data Migration Tool

Post installation, you can find mapping and configuration files for the Data Migration Tool in the following directories:

This file mentioned below will have scripts and configuration to migrate from Magento 1 Open-Source platform to Magento 2 Open-Source platform.

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

The following file will have scripts and configuration to migrate from Magento 1 Open-Source platform to Magento 2 Commerce.

<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-commerce

This next file comprises scripts and configuration for Magento migration to M2 Commerce from M1 Commerce.

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

Keep in mind before you migrate any data and settings, you should create a config.xml file in the applicable directory. For instance, if you’re migrating data from Magento 1 Open-Source platform to Magento 2 Open-Source platform, go to the

<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-opensource/<Magento 1.x version> directory and rename config.xml.dist to config.xml

And then, open the config.xml in any code editor and specify the following things:

<database host="localhost" name="Magento1-DB-name" user="DB-username" password="DB-password"/>
<database host="localhost" name="Magento2-DB-name" user="DB-username" password="DB-password"/>

In the code mentioned above, <source> contains the database information of Magento 1 and <destination> has the applicable database information of Magento 2. <crypt_key> is necessary and has to be filled before running. It is known as the encryption key of the Magento 1 store and can be located in the <Magento 1 root dir>/app/etc/local.xml file in the <key> tag.

Once done, you can save the config.xml.

  • Migrate Settings Using Magento 2 Data Migration Tool

When it comes to migrating settings through Magento 2 Data Migration Tool, you can do so for stores, sites, and system configurations, such as tax settings, payment, shipping, and more. 

As per the Magento Data Migration Order, you must migrate settings first. To do so, simply go to the Magento 2 root directory through the SSH terminal and run this command:

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

Here, <path to your config.xml> will become vendor/magento/data-migration-tool/etc/opensource-to-opensource/<Magento 1.xversion>/config.xml.

In the above command, –reset argument has been used that will compel the Data Migration Tool to start from the beginning. 


Once you’re done with the migration of settings, you will get a success message.

Magento Migration 9
  • Migrate Data Using Magento 2 Data Migration Tool

The data migration from Magento 1 to Magento 2 comprises ratings, wish lists, customers, orders, categories, products, etc. To migrate this data, you’ll have to run the following CLA command:

php bin/magento migrate:data –reset –auto <path to your config.xml>
Magento Migration 9-1

With the running of this command, the Magento 2 Data Migration Tool will save the current progress. Also, in case there is an error, the tool will stop the process and resume from the last good state. 

Furthermore, the Magento 2 Data Migration Tool might come up with some errors during the process of migration. In this situation, you can go to the Troubleshooting page of the tool to get more assistance.

Once the migration of data is complete, you’ll get a success message. 

Also, don’t skip running these below-mentioned commands:

Run the setup:upgrade command


Refresh the indexes


Flush Cache


Set the permissions in the media files


Upgrade Magento with the Automated Tool

Upgrade with the Automated Tool

 Besides manually upgrading through Composer, you can also go for an automated data migration tool to switch to Magento 2 from Magento 1. Currently, you can use LitExtension as it is one of the leading shopping cart migration tools that assists you in automatic, accurate, and secure migration of all entities, including customers, orders, products, multiple languages, and more. 

Before you begin the migration, you’ll have to register or log into LitExtension. Alternatively, you can sign in with Facebook or Google account. Once done, you’ll be redirected to the My Migration page. There, you can click on Create New Migration option to begin.

  • Shopping Cart Information

In this step, choose Magento as the Source Store and Target Store and give the URL to the store. And then, download the LitExtension connector. You’ll get a zip file that you’ll have to extract. 

Then, simply follow the instructions to upload the connector to the root folders of Source and Target stores. Towards the end of the Setup page, click Next. 

  • Select Entities

You can choose as many entities as you want to migrate. If you wish to migrate everything to Magento 2, choose the Select All option. 

Make sure you look at the Additional Options, as they’ll help you extend the possibility of migration. Here, the LitExtension tool offers 10+ options from where you can choose the adequate ones. 

  • Run Full Migration

Now, you can begin the Full Migration procedure that will upgrade the Magento 1 store to an improved version. Once it is completed, you’ll get an email that will notify the success. 

To ensure everything is transferred, click on the Check Result option.

Easy Way to Migrate: HumCommerce

HumCommerce Magento Solutions

By now, you’d have realized how tedious and time-consuming it is to complete the migration process from Magento 1 to Magento 2. Sure, you can do it on your own. However, if you don’t have adequate technical skills or easily run out of patience, it’s better that you leave this task to professionals. 

In such a scenario, seek assistance from HumCommerce. This platform is backed by a team of Magento professionals who are adept at offering migration services, among other things. Right from performance audit & optimization to theme development, extension development, UI/UX design, customization services, and much more is offered by HumCommerce.

Wrapping Up

Once you’re done with the Magento 1 to Magento 2 migration process, make sure you test the Magento 2 store cautiously so that everything operates adequately. Although the entire process is right in front of you, know that the migration isn’t a cakewalk. Also, it is not completely automated either, at least not for the time being.

So, if you decide to do it on your own, get ready to invest hours of manual work in the process. If not, you can simply approach the team at HumCommerce for a hassle-free job. 

Editorial Staff

Add comment

Want To Grow Your Digital Commerce Business?

HumCommerce- Hire Adobe Commerce Experts