How to Migrate from Magento 1 to Magento 2
Professional Magento 2 Migration Services
Our Expert Team of Magento Professionals will Help You Make a Smooth Transition From Magento 1 to Magento 2.
Released in 2015, Magento 2 is an upgraded version of the Magento platform with new features and better performance. The new Magento 2 release line is just good enough to perform the migration for Magento 1 users.
Furthermore, Adobe declared Magento 1 end of life in 2020, which means the older release line will no longer receive updates, security patches, and official support. That triggers a security alarm for Magento 1 users.
Therefore, Magento 1 to Magento 2 migration has become an unavoidable step for merchants to continue selling online hassle-free.
We’ve prepared a complete step-wise guide to help you easily migrate from Magento 1 to Magento 2.
In this post, find the complete Magento 2 migration steps that our certified Magento professionals follow at Meetanshi.
Steps for a successful Magento 1 to Magento 2 migration:
- Step 1: Plan Your Migration
- Step 2: Install Magento 2 on Staging Server
- Step 3: Install and Configure Data Migration Tool
- Step 4: Perform Magento 1 to Magento 2 Migration
- Step 5: Make Required Changes in Migrated Data
- Step 6: Launch Magento 2 Store on a Live Server
Now, let’s dig deeper into the topic!
The Complete Magento 2 Migration Steps
Well, you’ve finally decided to perform the Magento 2 migration. It’s a clever decision, I must say.
Now, follow these comprehensive steps to perform a successful Magento 2 migration.
Step 1: Plan Your Migration
The migration includes moving everything from Magento 1 to 2. This includes databases, custom extensions, themes, and more. You need to find replacements for your third-party plugins and theme for Magento 2. Some of them may even add some extra dollars to the overall migration cost.
Planning your Magento 2 migration can help you save additional costs and get the most out of your spending.
A few things to consider are:
- Make a list of third-party extensions you need in Magento 2.
- Find replacements for the extensions in the official Marketplace.
- Choose a replacement for your store theme for Magento 2.
- Decide the data you want to migrate to Magento 2.
Consider Magento 1 to Magento 2 migration as an opportunity to work on improving your store.
You can also:
- Delete unwanted pages
- Remove outdated data and log files
- Prepare an SEO report
- Back up your Magento 1 store
We recommend backing up your entire Magento 1 store before the migration. This backup will be helpful to revert back in case of any data loss or mishappenings.
Further, it is also important to glance at your site’s SEO before the Magento 2 migration.
You can use tools such as Screaming Frog for auditing your site thoroughly from technical aspects and export the report. You can also use Google Search Console to get a report of your site’s ranking and overall SEO.
These reports will be helpful in tracking the impact of Magento 2 migration on your store’s SEO.
Step 2: Install Magento 2 on Staging Server
Now, it’s time to lay the foundation of your brand-new store – the Magento 2 store setup. Before you install Magento 2 on the staging server, make sure you fulfil the Magento 2 system requirements for the respective version.
You can install Magento 2 in multiple ways. Here’s the simplest method to install Magento from an archive file:
- Download the Magento 2 package archive (.zip, .tar, and .gz), and upload it to the root directory.
- Extract the archive package in the server root directory.
- Run the Magento 2 Setup Wizard and complete the process.
- Create an admin account and start customizing it.
Step 3: Install and Configure Data Migration Tool
Next, you need to install the Magento Data Migration Tool to perform the M1 to M2 migration process. You can install it via Composer.
php bin/magento --version
Update the location of the Data Migration Tool’s package in the .JSON
file using the following commands:
1 2 3 |
composer config repositories.magento composer https://repo.magento.com composer require magento/data-migration-tool: {version} |
In the above code, replace {version}
with the version of your Magento 2 instance.
For example, if you’re using Magento 2.4.6, the code will look like this:
1 2 3 |
composer config repositories.magento composer https://repo.magento.com composer require magento/data-migration-tool:2.2.6 |
The installation will require the developer authentication keys. Follow these steps to get your authentication keys:
- Go to Magento Marketplace.
- Log into your profile, and navigate to My Products > Access Keys.
- Click Create a New Access Key.
Now, use the public key as your username and the private key as your password to complete the data migration tool installation.
The configuration and script files for the Data Migration Tool will be present in the below-provided directories.
- Magento 1 Open Source to Magento 2 Open Source:
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-opensource
- Magento 1 Open Source to Magento 2 Commerce:
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-commerce
- Magento 1 Commerce to Magento 2 Commerce:
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/commerce-to-commerce
Now, you need to create a config.xml
file in the respective directory to perform the data migration.
For example, if you are migrating from Magento 1 Open Source to Magento 2 Open Source, go to the following directory:
<Magento 2 root dir>/vendor/magento/data-migration-tool/etc/opensource-to-opensource/<Magento 1.x version>
and rename config.xml.dist
to config.xml
.
Now, open the config.xml
file in an editor and add the following:
1 2 3 4 5 6 7 8 9 10 |
<source> <database host="localhost" name="Magento1-DB-name" user="DB-username" password="DB-password"/> </source> <destination> <database host="localhost" name="Magento2-DB-name" user="DB-username" password="DB-password"/> </destination> <options> <crypt_key>Magento1-Encrypted-Key</crypt_key> </options> |
In the above-provided code:
- The
<source>
tag contains details of the Magento 1 database. - The
<destination>
tag contains details of the Magento 2 database. - The
<crypt_key>
is essential here to decrypt the data; you can find it in the<Magento 1 root dir>/app/etc/local.xml
file.
Save the configuration.
Step 4: Perform Magento 1 to Magento 2 Migration
Now, it’s time to perform the Magento 1 to Magento 2 migration using the Data Migration Tool.
We’ll use it to transfer all the data, including the settings and configuration related to payments, shipping, tax, etc.
But before that, keep the following things in mind:
- Make sure that the Data Migration Tool has access to the internet.
- Stop all other activities in Magento 1 except order processing.
- Stop Magento 1.x cron jobs, except the required ones.
Magento Settings Migration
Now, navigate to the Magento 2 root directory using the SSH Terminal, and run the following command to perform Magento 1 to Magento 2 settings migration:
php bin/magento migrate:settings --reset <path to your config.xml>
In the above code, replace the <path to your config.xml>
with the path of the file we created in the previous step.
Once the settings migration is done, a success message will be displayed on the screen.
Magento Data Migration
Next, you can migrate all your Magento 1 data to Magento 2, such as products, categories, orders, customers, wish lists, ratings, etc., by using the following CLI command:
php bin/magento migrate:data --reset <path to your config.xml>
On successful completion of the Magento 1 to Magento 2 data migration, a success message will be displayed on the screen.
In case of any error, the data migration process will be paused at the last-known good state.
Finally, reindex all the Magento 2 indexers. Refer to this for more information.
You can also turn on the incremental changes to update upcoming data and orders from Magento 1 to Magento 2 by running the following command:
bin/magento migrate:delta <path to config.xml>
Step 5: Make Required Changes to Migrated Data
Once the settings and data have been migrated from Magento 1 to Magento 2 platform, manually check all the configuration, product details, and other data to verify a successful migration. Configure the payments, sales rules, and other details in Magento 2 backend to meet your business requirements.
You may also require installing the third-party Magento 2 extensions to add additional features to your store.
Step 6: Launch Magento 2 Store on a Live Server
Now, you’re ready to launch your brand-new Magento 2 store.
But, before the launch, perform a dry run of the store. Try placing some orders to make sure everything is good to go!
Ready to launch your newly migrated Magento 2 store? Follow these steps:
- Put the Magento 1 store in maintenance mode.
- Start Magento 2 cron jobs.
- Press Ctrl + C in the Data Migration Tool window to stop incremental updates.
- Re-index the Magento 2 stock indexer.
- Cache the pages in Magento 2.
Verify the Magento 2 site in staging and make sure everything is good to go!
Finally, configure the DNS to point to the Magento 2 production, and make your store live. 🚀🚀🚀
Pheww!! 🥱
The lengthy process of Magento 2 migration ends here.
These were the complete steps for Magento 1 to Magento 2 migration, followed by our certified developers at Meetanshi.
I must admit that the process can be much more challenging for a person with no technical knowledge. 😅
It requires expert hands to successfully migrate from Magento 1 to Magento 2. Remember, one slight mistake can cost a lot of time and money.
The best way to migrate from Magento 1 to Magento 2 is to let the certified Magento experts do that for you. Meetanshi takes pride in accomplishing 200+ successful Magento 2 migration projects for our global clients. Choose our Magento 1 to Magento 2 Migration service to make a seamless upgrade now!
Choose our Magento migration services for a smooth and seamless migration of your online storefront to Magento.
Sanjay Jethva
Sanjay is the co-founder and CTO of Meetanshi with hands-on expertise with Magento since 2011. He specializes in complex development, integrations, extensions, and customizations. Sanjay is one the top 50 contributor to the Magento community and is recognized by Adobe.
His passion for Magento 2 and Shopify solutions has made him a trusted source for businesses seeking to optimize their online stores. He loves sharing technical solutions related to Magento 2 & Shopify.
4 Comments
Hi,
Getting the error Connection timed out, any solution for that?
Hii Ahtisham Ali,
Please Check the time limit / max execution time of server
or else Contact to the server.
Thank You.
Hi i have seen the migration version but i did not see the magento 2.3.7 version for migration can I use 2.3.5 version for migration
Hello Moazzam Ali,
Yes, you can use Magento 2.3.5 version for migration.
Thank You