Wondering about Magento 2 migration?
The time is now ripe for the perfect platform migration.
With 89% of the businesses already adopting digital transformation strategies, you cannot be left behind in upgrading your eCommerce website with the latest updates and innovations.
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 achieve that goal. As Magento 1.x reached the End of Life in 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 than Magento 1.x in many ways. High performance that Magento 2 guarantees will enhance your eCommerce website to be more conversion-driven.
This blog will walk you through accurate steps to easily migrate your Magento 1.x store to Magento 2.x. 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. (Learn more about 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 wondering 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 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 not, 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 Magento 2.3.x, you have to check if the same Magento 1.9.x extension is available in the Magento 2.3.x version or not.
- If yes, then you can integrate the same extension in Magento 2.3.x.
- If not, 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 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.
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
php bin/magento --version
4. 2 Installing the Data Migration Tool
composer config repositories.magento composer https://repo.magento.com
composer require magento/data-migration-tool:<magento_2.x_version>
The above command 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:
composer require magento/data-migration-tool:2.3.2
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 settings 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 the 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, 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-
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-enterprise/<Magento 1.x version> directory and rename config.xml.dist to config.xml.
Next, open config.xml file and specify the following:
<database host="localhost" name="Magento1-Database-name" user="Database-username" password="Database-password"/>
<database host="localhost" name="Magento2-Database-name" user="Database-username" password="Database-password"/>
In the above code, the database information of Magento 1.x and the relevant database information of Magento 2.x. are mandatory and should be filled in 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 reconfiguring 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:
php bin/magento migrate:settings --reset <path to your config.xml>
php bin/magento migrate:settings --reset
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:
php bin/magento migration:data --reset <path to your config.xml>
php bin/magento migrate:data --reset
Most common issues faced:
Source documents/fields are not mapped
This issue occurs when some Magento 1 entities (in most cases, coming from extensions) do not exist 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 is 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, 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.
Flaws in the display of Homepage
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.
Problems in loading CSS JS files
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.
A Seamless Magento 2 Migration – Your One-Stop Solution
Magento migration from version 1.x to 2.x is a necessity for your eCommerce business. With perfect platform migration, equip your eCommerce website with a wide range of functionalities and a faster time to respond.
Magento experts at DCKAP provide end-to-end services to ensure spotless Magento migration, promising endless customizations and flexibility. We help you upgrade your online store to the latest version and optimize your website for driving revenue. Our certified Magento experts have the right resources to aid you through seamless development and migration services along with all the much-required eCommerce services and solutions.
Looking to migrate to Magento 2.x, but don’t know where to start? Get started with the migration process and take your website to a whole new level.