Magento 2

Magento 1 to Magento 2 Migration – The Complete Guide (2024)

Magento is a top-notch E-commerce platform to build a fully functional e-commerce store. Over 250,000+ websites are using Magento as their e-commerce platform. But only 26% of all Magento sites are transformed to Magento 2.

Magento 2 is the superior version with advanced features and capabilities compared to Magento 1. Check this Magento tutorial for beginners to get an in-depth understanding of all of the platform features. Magento 1 has ended its support since June 2020 which means there will not be any security and upgrade release after the Magento 1 End of Life. All the Magento merchants are recommended to move their store from Magento 1 to Magento 2.

Due to the complications in migration, many Magento merchants are hesitating to make the move. But the potentiality of Magento 2 is far more than the complexities. Running with Magento 1 will make your website slow and increase the risk of cyberattacks.

Hence, I bring to you a comprehensive guide on Magento 2 Migration. This will help you smoothly migrate your store to Magento 2. You can also avail Magento 2 Migration Service to eliminate doing it yourself and getting into trouble.

For now, let’s begin the Magento 2 Migration steps.

Magento 2 Migration Process

Before beginning the migration, I would recommend taking a backup of your Magento 1 store to avoid any data loss.

Prerequisites

Software Requirements

Magento will not run properly on the outdated software. So you need to make sure you have the latest software installed to run your Magento store smoothly.

Find the detailed information about software requirements for Magento 2 Migration. Click here

Data Migration Tool Requirements

Data Migration Tool is a CLI that helps in migrating data from Magento 1 to Magento 2. Later in this article, I will explain data migration through the Data Migration Tool. But for now, you need some prerequisites to use the data migration tool.

You need the latest version of the composer downloaded in your system before installing the Data Migration Tool.

Install Composer

Step 1: Install Magento

Install the latest version of Magento into your local host or server.

Step 2: Install Data Migration Tool

Run the following commands

composer config repositories.magento composer https://repo.magento.com
composer require magento/data-migration-tool:2.4.3

Note: In the second command, 2.4.3 is the version of the Magento 2 platform. You need to enter the version installed in your system.

Now the system will ask for your authentication keys

From your Magento Marketplace Account, select Access Keys under the My Products menu.

Create a New Access Key or use an existing one. The Public Key will be your Username and the Private Key will be your Password.

Once the information is added, you will be able to successfully install the Data Migration Tool.

Step 3: Configure Data Migration Tool

Firstly, find the current version of your Magento 1.

Then go to the Magento 2 root folder and find the following directory

vendor/magento/data-migration-tool/etc/opensource-to-opensource/<current_magento1_version>/config.xml

Say if your current Magento 1 version is 1.9.2.3 then you have to go through

vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.2.3/config.xml

Now open config.xml and find the code block below:

<source>
        <database host="localhost" name="your_m1_db" user="your_user" password="your_password" />
</source>
<destination>
        <database host="localhost" name="your_m2_db" user="your_user" password="your_password" />
</destination>

Change crypt key

Find below code in your config.xml

<crypt_key><![CDATA[CRYPT_KEY]]></crypt_key>

You can find your M1 crypt_key within the app/etc/local.xml file inside your Magento 1  site’s root folder. 

<config>
    <global>
        <install>
            <date><![CDATA[Sun, 24 Jan 2016 13:58:47 +0000]]></date>
        </install>
        <crypt>
            <key><![CDATA[CRYPT_KEY_OF_M1_SITE]]></key>
        </crypt>

Copy this  CRYPT_KEY_OF_M1_SITE to Magento 2 config.xml crypt key.

Step 4: Settings Migration

The Settings mode of the Data Migration Tool will move store and system configuration settings from Magento 1 to Magento 2.

Run the below command in your terminal to perform Settings Migration,

php bin/magento migrate:settings -a vendor/magento/data-migration-tool/etc/opensource-to-opensource/your_magento1_version/config.xml

Step 5: Data Migration

The Data mode of the Data Migration Tool will move data from Magento 1 database to Magento 2 database.

Run the below command in your terminal to perform Data Migration,

php bin/magento migrate:data -a vendor/magento/data-migration-tool/etc/opensource-to-opensource/your_magento1_version/config.xml

Step 6: Delta Migration

The Delta mode of Data Migration Tool migrates additional data such as new orders and catalog data that may have changed since the settings and data migration performed previously.

Run the below command in your terminal to perform Delta Migration,

php bin/magento migrate:delta -a vendor/magento/data-migration-tool/etc/opensource-to-opensource/your_magento1_version/config.xml

Media Files Migration

While performing the Magento 2 Migration, some things need to be migrated manually. Media files need to be migrated manually.

Migration of Media Files in Database

Follow the below steps to migrate media files stored in your database. Make sure you perform these steps before the data migration.

  • Log in to your Magento 1 Admin Panel.
  • Navigate to System > Configuration > ADVANCED > System.
  • From the right panel, expand Storage Configuration for Media.
  • Select Media Storage and Select Media Database.
  • Click Synchronize.

Repeat the above steps in your Magento 2 Admin Panel as well.

Migration of Media Files in the File System

All the media files including images for product, category, WYSIWYG editor, etc will be copied manually.

Copy from the below path

<Magento 1 install dir>/media

Paste it to the below path

<Magento 2 install dir>/pub/media

Note – Do not copy .htaccess files from Magento 1 media folder. Magento 2 has its own .htaccess files that need to be protected.

Theme Migration

You cannot simply copy the layout files from Magento 1 and move them to Magento 2 as the XML structures are different for both.

It is recommended to use a prebuilt theme provided by Magento 2. And if you want to carry along the Magento 1 theme, Hire a skilled Magento Developer.

Extension Migration

Magento 1 modules will not work with Magento 2. For that, you need to do the work manually. Make a list of all the extensions you want for Magento 2. Hire a Magento Developer that will help you make the Extensions compatible for Magento 2.

Test, Check, and Verify

After you are done with the migration process, you need to test your Magento 2 store thoroughly. Take a note of the below points at the stage of testing:

  • Make a list of all the features of your Magento 1 and check them in Magento 2.
  • Ensure that the payment methods are working and money can be received.
  • Make sure all the shipping methods work as they are supposed to be.
  • Check the products, categories, orders, customers.
  • Test your Magento 2 website from the user’s viewpoint.
  • Give your website to others for testing.

Testing is very crucial as at the end of the day you want an error-free website that increases user experience. User hates websites that run incompetently.

Wrap Up:

Migration from Magento 1 to Magento 2 is no easy task. It requires planning and attention to every detail. After migration, keep a report of the website traffic. Check the speed of your Magento 2 store. Quickly Migrate your Magento Store with zero downtime.

Click to rate this post!
[Total: 4 Average: 5]
Dhiren Vasoya

Dhiren Vasoya is a Director and Co-founder at MageComp, Passionate ?️ Certified Magento Developer?‍?. He has more than 9 years of experience in Magento Development and completed 850+ projects to solve the most important E-commerce challenges. He is fond❤️ of coding and if he is not busy developing then you can find him at the cricket ground, hitting boundaries.?

Recent Posts

Improving Error Handling and Transition Management in Remix with useRouteError and useViewTransitionState

In modern web development, seamless navigation and state management are crucial for delivering a smooth…

5 days ago

Magento Open Source 2.4.8-Beta Release Notes

Magento Open Source 2.4.8 beta version released on October  8, 2024. The latest release of…

1 week ago

How to Create Catalog Price Rule in Magento 2 Programmatically?

Hello Magento Friends, Creating catalog price rules programmatically in Magento 2 can be a valuable…

1 week ago

Top 10 Tips to Hire Shopify Developers

As the world of eCommerce continues to thrive, Shopify has become one of the most…

1 week ago

Managing Browser Events and Navigation in Shopify Remix: useBeforeUnload, useHref, and useLocation Hooks

Shopify Remix is an innovative framework that provides a streamlined experience for building fast, dynamic,…

1 week ago

Ultimate Guide to Hiring a Top Shopify Development Agency

Building a successful eCommerce store requires expertise, and for many businesses, Shopify has become the…

2 weeks ago