Every eCommerce merchant’s goal is to have a site that has a faster load time, improved admin interface, enhanced customer experience, and so on. Magento 2.x can help you in achieving that goal. As the End of Life of Magento 1.x is approaching – June 2020, it’s crucial to consider migrating from Magento 1 to Magento 2

What is holding you back from migrating to Magento 2?

Magento 2.x works much better in many cases than Magento 1.x. If your site performs better, your clients would have a better experience that could lead to higher conversion rates, and eventually, higher revenues.

This blog will guide you to easily migrate your Magento 1.x store to Magento 2.x with the following steps. Before that, let’s focus on the reasons to migrate to Magento 2.x.


Some key features of Magento 2.x are:

  • Improved checkout
  • Improved search and SEO features
  • Improved product section
  • User-friendly approach
  • Mobile-optimized experiences

Magento 2.3.x has excellent features, optimizations, and back-end enhancements. Such as:

  • Progressive Web App (PWA)
  • Providing support for GraphQL – Alternative solution for REST and SOAP web APIs for front-end development.
  • Multi Source Inventory (MSI) – Supports easy management of physical inventory across locations in Magento.
  • Declarative DB Schema – Simplifies the installation and upgrade procedures.
  • Elasticsearch – Performs swift and advanced searches on products in the catalog. Click here to know the advantages of using Elasticsearch in Magento 2.
  • PHP 7.2.x Support – Enhances performance and security.
  • Page Builder – A Drag and Drop visual content editing tool that allows customizing the appearance of your storefront without writing any code.
  • Provides better security enhancements.
  • Admin Backend – Import and export improvements.

Still thinking about “Why you should be migrating from Magento 1.x to Magento 2.x?” The answer is simple – “You want to stay updated, and not outdated.”

Points to be considered before Magento migration

Before you upgrade from Magento 1.x to Magento 2.x, the following essential aspects should be considered:

  • Make a complete backup of your Magento 1.x store’s files, databases, and the folders you need.
  • Start data migration from the cloned Magento 1.x store database.
  • Examine what has to be removed or maintained from in the new Magento 2.x store.
  • Make sure that your current custom code, extensions, and themes are compatible with Magento 2.x.

4 Simple Steps to Migrate from Magento 1.9 to 2.3

  • Theme Migration
  • Extension Migration
  • Customization Migration via Code Migration Tool
  • Data Migration using Data Migration Tool

Step 1: Theme Migration

  • To upgrade from the Magento 1.9.x theme to Magento 2.3.x, you must check if the same Magento 1.9.x theme is available in the Magento 2.x version or not.
  • If yes, then you can install the same theme in Magento 2.x. It will simplify the process of the migration and also save your time.
  • If no, then you can either get the theme from the Magento Marketplace or create your custom theme.

Step 2: Extension Migration

  • To upgrade from the Magento 1.9.x extension to Magneto 2.3.x, you have to check if the same Magento 1.9.x extension is available in Magento 2.3.x version or not.
  • If yes, then you can integrate the same extension in Magento 2.3.x.
  • If no, then you must convert the Magento 1.9.x coding into Magento 2.3.x or get the required extensions from your Prefered Magento Store or the Marketplace.

Step 3: Customizations/Code Migration

  • You can migrate your customizations by using the Magento’s Code Migration Tool. It will save your time and work involved in migration.
  • However, after following the migration procedure, you will have to manually edit some of the generated files.

Migrate Magento 1 to Magento 2

Step 4: Data Migration

Before proceeding with the data migration, you must first install the Data Migration Tool from repo.magento.com and configure the Data Migration Tool for the migration. The Data Migration Tool version should be the same as the version of Magento 2.x.

4.1 Check your Magento 2 version by using the following command

4. 2 Installing the Data Migration Tool

The command above will update the Magento 2.x root composer.json file to add the repository https:/repo.magento.com. Instead of that, you can replace it with the Magento 2.x version that’s required. Let’s consider that the required Magento version is 2.3.2.

Hence, the actual command would be:

4.3 Configuring the Magento 2 Data Migration Tool

After installing the data migration tool, you must set the configuration for data migration. Inside the data-migration-tool/etc. folder, you could locate three folders with the following names: ce-to-ce, ce-to-ee, ee-to-ee.

The folder ce-to-ce contains scripts and configuration files for migrating the data from Magento 1.x CE to Magento 2.x CE, and the folder ee-to-ee contains configuration files and scripts for migrating the data from Magento 1.x EE to Magento 2.x EE. Similarly, there are setting files and scripts in the ce-to-ee folder to migrate the information from Magento 1.x CE to Magento 2.x EE.

Now, enter the folder for which you have planned to perform the migration. For example, in the case of data migration from the community edition to enterprise edition, you need to choose ce-to-ee. Now, navigate to the directory with the Magento 1.x version name. For instance, if you perform the Magento 1.9.0 version migration, you should enter the 1.9.0 folder.

Before migrating the settings and data, first, create a config.xml file in the relevant directory. Let’s say that if you are performing the migration from the Magento 1.x Open Source platform to Magento 2.x Enterprise edition, then navigate to the

Next, open config.xml file and specify the following:

In the above code, the database information of Magento 1.x and the relevant database information of Magento 2.x. is mandatory and needs to be filled before running it. It is the encryption key of the Magento 1.x store, where you can find it in the /app/etc/local.xml file within the tag.

When finished, save the config.xml, and you are done.

4.4 Migrate settings

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

This step is related to reconfigure your language, currency, shipping, email templates, taxes, and CMS pages on the Magento 2 websites.

To begin, navigate to the Magento 2 root directory via SSH terminal and run the below command:

For example:

Upon successful migration, a message will be displayed.

4.5 Migrate Data

You have to migrate the database assets (e.g., products, categories, customer information, orders, configurations, etc.) from the existing Magento 1.9.x store to the new store. Follow this command:

For example:

Most common issues faced:

Source documents/fields are not mapped: This issue occurred due to some Magento 1 entities (in most cases, coming from extensions) not existing in the Magento 2 database. Install the corresponding Magento 2 extensions from the Magento Marketplace or Configure the tool to ignore the problematic data.

Class does not exist, but mentioned as an error: A class from Magento 1 codebase could not be found in the Magento 2 codebase during the EAV migration step. In most scenarios, the missing class might belong to an extension. Install the corresponding Magento 2 extension or ignore the attribute that causes the issue.

Foreign key constraint fails: There are missing database records in the parent_table to which the field_id of the child_table is pointing to. Delete the records from the child_table, which is causing the issue or disable the Data Integrity step by modifying the Data Migration Tool’s config.xml.

Duplicates in URL rewrites: The Target path in a URL rewrite must be specified by a unique pair of Request path + Store ID. Enable the auto_resolve_urlrewrite_duplicates option in the config.xml file.

Homepage not showing up correctly: If the home page does not show up correctly, then this issue might have occurred due to the Magento 1.9.x version having a custom layout for the home page. At this point, you will have to create a custom layout in Magento 2.3.x.

Products not appearing in the category: You need to reindex all the indexers by executing the following command, bin/magento indexer:reindex.

CSS JS files not loading: For this, you will need to flush your cache and then deploy the static content. In case of any error, refer to Magento’s Troubleshooting page.

After the migration has been done, run a test to ensure the proper functioning of Magento 2.x. Migrating from Magento 1.x to Magento 2.x is not easy, as it involves a lot of manual tasks. Magento migration from version 1.x to 2.x is a must for eCommerce merchants. It allows them to make their eCommerce website support a wide range of functionalities and offers a faster time to respond to users.

Looking to migrate to Magento 2.3.x, but don’t know where to start? Get started with the migration process and take your website to a whole new level.


  • Prema M

    Prema has over five years of experience as a senior software developer and has a passion for learning about new technologies, including Android, Magento, PHP, Photoshop, and UX Design. She is good at grasping the Business requirements and converting it into technical logic. She has a zest for cooking her own recipes and finds immense pleasure when gardening at home.


Ready to drive online revenue

Get In Touch

Leave a Reply

Your email address will not be published. Required fields are marked *