Magento has announced June 2020 as the Support End Date for Magento 1.x platform. Magento 1 to Magento 2 migration is an essential step for Magento 1 shops now. Once official support for Magento 1 ends, we cannot expect further official patches or security updates. Therefore, it is high time to consider migration and those who fail to migrate from Magento 1 to Magento 2 will not receive security updates and additional features will not be added as well. With an increase in the number of web skimming attacks, CMS web stores without support will face the risk of getting hacked and infected with code that steals customers’ payment details.
Even though migration from Magento 1 to Magento 2 may mean extra work and costs for the business, the advantages of migration to Magento 2 outweighs the cons.
Migration helps retailers to get access to a shop with enhanced feature set, performance and security improvements. Additional benefits offered by Magento 2 platform are faster load time, improved admin interface and customer experience and better mobile shopping experience.
The following things must be considered before starting migration process:
There are four different stages in migration process:
Attractive and user friendly themes are an essential part of a store. Before theme migration, you have to ensure whether the current Magento 1 theme is compatible with Magento 2 or not. If it is compatible, then you can install the same theme in Magento 2. Otherwise, you can either create a custom theme or buy and install a Magento 2 Theme.
Extensions are essential components that allow you to add new features and custom functionalities to any area of the Magento store. Consider extensions installed in current Magento 1 store and determine those extensions that are needed in future Magento 2 store. Only install the relevant extensions that are available, compatible and required for your Magento 2 stores.
The next step in migration process is customization. Magento 2 Customization can be done using Code Migration Toolkit that lessen the work involved in the code migration. However, after running the toolkit, due to structural differences in the two platforms, you have to do additional work to make sure that the custom code successfully integrates with the Magento 2 store.
The last step you need to perform during Magento migration process is migrating Magento 1 settings and data to Magento 2 store. For the smooth Magento migration process, Magento has officially released Magento 2 Data Migration Tool to ease the work of developers to migrate their store data and settings. Using CLI commands, developers can migrate critical data (products, categories, orders, store configurations & settings, etc.) to Magento 2.
Based on a set of rules defined in the XML files, Data Migration Tool migrates the entire data from the database of Magento 1 platform to the database of Magento 2 platform. Before data migration, we recommend to stop all activities in the Magento 1.x Admin Panel, except for order management, such as shipping, creating invoice, credit memos, etc. Also, stop all Magento 1.x cron jobs, even though we can adjust settings of the Delta mode in Data Migration Tool for extending allowed activities.
Following Steps needs to be performed during the process:
1. Copy your Magento 1.x media files to Magento 2.x. You need to copy these files manually from the magento1-root/media directory to magento2-root/pub/media.
2. Data migration tool can be installed into a fresh Magento 2 store using Composer. Before installing ensure that the version of Magento 2 store matches the Data Migration Tool
To find the version of your Magento store, navigate to the root directory of your Magento 2 via SSH and Use the command
php bin/magento –version
Run the following commands to install the Data Migration Tool:
composer config repositories.magento composer https://repo.magento.comcomposer require magento/data-migration-tool:<version>
<version> refers to the version of the Data Migration Tool that matches the Magento 2 version obtained in previous step.
Developer authentication keys can be obtained by:
Go to Magento Marketplace -> Sign in -> click Access Keys under My Products section.
If you already have keys, then public key will be your username and the private key will be your password. Else, you can create a new key pair by clicking on the Create a New Access Key button.
The Data Migration Tool will be successfully installed on your Magento 2 store after few seconds.
3. After the installation is complete, we need to configure the Data Migration Tool.
The following directories will be found which will contain mapping and configuration files for the Data Migration Tool:
This file includes configuration and scripts for migrating from Magento 1 Open Source platform to Magento 2 Open Source platform.
This file includes configuration and scripts for migrating from Magento 1 Open Source platform to Magento 2 Commerce.
This file includes configuration and scripts for migrating from Magento 1 Commerce to Magento 2 Commerce.
You must create a config.xml file in the relevant directory, before you migrate any settings and data. For example, if you are performing data migration from Magento 1 Open Source platform to Magento 2 Open Source platform, navigate to
<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. Open config.xml in your code editor and specify the Source and Destination Database name, password and username. The <crypt_key> tag in config.xml is mandatory and it can be obtained from <key> tag in local.xml file located in the directory of Magento 1 instance at path app/etc/.
4. Migrate Settings Using Magento 2 Data Migration Tool
Settings such as stores, websites, system configurations etc can be migrated from Magento 1 to Magento 2 using the Data Migration Tool. It is recommended to migrate settings first according to the Magento Data Migration Order.
To start migrating the settings, navigate to your Magento 2 root directory via SSH terminal and run the following command:
php bin/magento migrate:settings –reset <path to your config.xml>
where <path to your config.xml> is the vendor/magento/data-migration-tool/etc/opensource-to-opensource/<Magento 1.x version>/config.xml.
5)Migrate Data Using Magento 2 Data Migration Tool
Data migration includes migrating products, categories, orders, customers, wish lists, ratings, etc. from Magento 1 platform to Magento 2 platform
To migrate data, run the following CLI command:
php bin/magento migrate:data –reset <path to your config.xml>
Refer the Troubleshooting page of the Magento 2 Data Migration Tool for assistance in case of errors (https://devdocs.magento.com/guides/v2.0/migration/migration-troubleshooting.html).
Upon successful data migration, you will receive a success message.
Flush the Magento 2 cache, and re-index all Magento 2 re-indexers, then thoroughly test the new Magento 2 site to ensure proper functioning.