Home » eCommerce » How To Migrate Magento 1 To Magento 2: A Migration Guide

Magento 1 to Magento 2 Migration Guide

How To Migrate Magento 1 To Magento 2: A Migration Guide

When it comes to Magento 1 to Magento 2 Migration, there are many reasons to take the leap. 

For starters, Adobe has already ended the support for Magento 1.x for both Magento Open-Source as well as Magento Commerce on June 30th, 2020.

What this simply means is that if you haven’t migrated your store from Magento 1 to Magento 2, then you’re practically on your own.

You won’t receive any further security updates and official patches. And any CMS without official support is prone to high-risk vulnerabilities. 

Furthermore, your store will also eventually suffer from poor customer experience, performance & loading speed issues. And this is just the tip of the iceberg. There are many other risks associated with not migrating your Magento 1 store to Magento 2.

So, if you haven’t yet decided to migrate your store to Magento 2, you immediately should. In this everything guide, we have explained all you need to know about Magento 1 to Magento 2 Migration such as:

  • What You Need to Prepare for Magento 2 Migration
  • 3 Key components of Magento 2 Migration
  • Steps for Magento 1 to Magento 2 migration
  • Benefits of Magento 1 to Magento 2 Migration

So without any further ado, let’s dive right in!

What You Need to Prepare for Magento 2 Migration?

When you migrate your eCommerce store from Magento 1 to Magento 2, it can affect your website traffic due to the changes in SEO parameters like your top-ranking pages, indexed pages, indexed images, and so on.

Not only that but when you migrate from Magento 1 to Magento 2, your Magento 1 store’s important data, files, extensions, themes, and other digital assets are also at risk.

Recommended: How to Minimize Downtime During Magento 2 Migration?

But the good news is, it is possible to avoid the risk of losing your store’s essential assets and even retain its original SEO juice when migrating from Magento 1 to Magento 2 platform.

Here are the most important things that you need to prepare for a successful Magento 2 Migration:

  • Make a clone of your store on a different server and work on that
  • Ensure all your existing Magento 1 extensions, themes, and code have forward compatibility
  • Take multiple backups at different stages of the Magento 2 Migration process
  • Consult with an SEO Expert to retain organic traffic from search engines
  • Get rid of unwanted data in order to keep your Magento 2 Migration process as simple & lean as possible

3 Key Components of Magento 2 Migration

So now that you know what things you need to prepare for executing a successful Magento 1 to Magento 2 Migration, it’s almost time to learn the step-by-step process.

Before we do, though, it is critically important that you’re aware of the 3 key components involved in Magento 2 Migration process.

1. Data

Data Migration

Data is one of the main & key components of the Magento 2 Migration process. And to successfully migrate your Magento 1 store’s data to Magento 2, we highly recommended leveraging the Magento 2 Data Migration Tool.

Recommended: How to Install Data Migration Tool in Magento 2?

Although, you should know that data migration is an extremely time-intensive process. And it’s also not a simple CSV export from Magento 1 and import into Magento 2 process. 

Recommended: How to Import Only Customer Logins and Passwords after Migration from Magento 2?

So, if this is the first time you’re performing Magento 1 to Magento 2 Migration, we strongly suggest consulting with an experienced Magento 2 Migration expert.

Recommended: How to Select The Best Magento 2 Migration Service Agency?

2. Extensions

Extensions Migration

The second key component of the Magento 2 Migration process is extensions. The Magento community has evolved a lot over the last few years and today, it supports all major extensions for the Magento 2 platforms.

In other words, there is a Magento 2 version available for almost all Magento 1 extension on the Marketplace, meaning you can easily deploy the same features & functionalities in your newly migrated Magento 2 store.

3. Themes

Theme Migration

Lastly, the third key component of the Magento 2 Migration process is the themes. 

Thanks to the advancement in technologies, Magento 2 is capable to provide store owners with the ability to deliver high performance & better personalize the shopping experience on their eCommerce stores.

However, in order to achieve the best level of performance as well as personalization, you will need to make modifications to the theme you’re planning to use.

Steps to Migrate Magento 1 to Magento 2

Magento 2 Migration Process

Now that you finally know the 3 key components of the Magento 1 to Magento 2 Migration process, it’s finally time to dive in & check out the steps you need to follow for successfully migrating your store to Magento 2.

Here’s a comprehensive diagram that explains the entire workflow of the Magento 2 Migration process:

As you can see from the diagram, the Magento 1 to Magento 2 Migration process is not as simple as a DIY project. 

It requires an extreme amount of expertise and experience to execute it properly.

Follow below steps for Magento 1 to Magento 2 Migration.

Step 1. Install and Setup Magento 2 Instance on Staging Server

The first thing you need to do for Magento 1 to Magento 2 Migration is to set up the Magento 2 Instance. So, download the Magento 2 from https://magento.com/tech-resources/download without the sample data.

After that, extract the downloaded file and execute the setup wizard to install Magento 2 on a server. Once the installation is complete, you’ll finally have Magento 2 set up with an empty database.

Now, the next step is to migrate the database from Magento 1 to Magento 2 instance using Magento 2 Data Migration Tool.

Step 2. Install Magento 2 Data Migration tool

To download the Magento 2 Data Migration tool, open the command line in the folder of Magento 2 in your system. Then, execute the following command to download the data migration tool:

composer require Magento/data-migration-tool

NOTE: Make sure that the version of the data migration tool must match with the Magento 2 codebase version, which you can find in the composer.json file.

For instance, the correct command for Magento Version 2.4.0 will be:

composer require Magento/data-migration-tool:2.4.0

Once you download the data migration tool, you’ll be prompted with public & private keys for authentication.

To obtain these keys, login to your Magento Commerce Account, open “My Accounts” section, click on the “Developer’s Link” from the left-side menu, and then click on “Security Keys”.

After filling the public & private keys for authentication, a new “data migration tool” folder will be automatically created in the extension /vendor/Magento/ directory.

Step 3. Configure Magento 2 Data Migration tool

Once you’ve successfully installed the Data Migration Tool, the next step is to configure it as shown below.

Open the data-migration-tool/etc folder where you’ll find the following sub-listed folders:

  • ce-to-ce: This folder consists of configuration files and scripts for migrating data from Magento 1 CE to Magento 2 CE.
  • ce-to-ee: This folder consists of configuration files and scripts for migrating data from Magento 1 CE to Magento 2 EE.
  • ee-to-ee: This folder consists of configuration files and scripts for migrating data from Magento 1 EE to Magento 2 EE.

At this point, you need to enter the folder for which you’re performing the data migration. After that, you need to enter the folder with the Magento 1 version name.

For example, if you want to upgrade from Magento 1.9.0 to Magento 2.4.0, you should enter the folder name as 1.9.0. In addition to this, you should also make a copy of the map.xml.dist file and rename it to map.xml.

Similar to this, make a copy of the config.xml.dist file and rename it to config.xml. Now, you need to make the below changes to the config.xml file:

Required Values:

In this field, you need to enter the Magento 1 database details Under Source and enter the Magento 2 database details in the Destination. After that, you need to enter the Crypt_key which can be found in the local.xml file in the app/etc/local.xml in the tag of Magento 1 directory.

Optional Values:

Here, leave the “1” source prefix and “2” source prefix fields empty if you don’t have a prefix set for Magento 1 & Magento 2 tables.

Now, if you want to map databases between Magento 1 and Magento 2, you can do so by mapping files in the following directory:

/vendor/Magento/data-migration-tool/etc/

Next, you need to delete the .dist extension of files to make database mapping work. 

And after deleting the .dist from the file names, you need to make the same changes to the file names in the config.xml file which can be located under the “options” tab.

Here is the list of the files that need to be renamed:

<options>

<map_file>etc/ce-to-ce/1.9.3.0/map.xml.dist</map_file>

<eav_map_file>etc/ce-to-ce/map-eav.xml.dist</eav_map_file>

<eav_document_groups_file>etc/ce-to-ce/eav-document-groups.xml.dist</eav_document_groups_file>

<eav_attribute_groups_file>etc/ce-to-ce/eav-attribute-groups.xml.dist</eav_attribute_groups_file>

<log_map_file>etc/ce-to-ce/map-log.xml.dist</log_map_file>

<log_document_groups_file>etc/ce-to-ce/log-document-groups.xml.dist</log_document_groups_file>

<settings_map_file>etc/ce-to-ce/settings.xml.dist</settings_map_file>

<customer_map_file>etc/ce-to-ce/map-customer.xml.dist</customer_map_file>

<customer_document_groups_file>etc/ce-to-ce/customer-document-groups.xml.dist</customer_document_groups_file>

<customer_attribute_groups_file>etc/ce-to-ce/customer-attribute-groups.xml.dist</customer_attribute_groups_file>

<delta_document_groups_file>etc/ce-to-ce/deltalog.xml.dist</delta_document_groups_file>

<order_grids_document_groups_file>etc/ce-to-ce/order-grids-document-groups.xml.dist</order_grids_document_groups_file>

<map_document_groups>etc/ce-to-ce/map-document-groups.xml.dist</map_document_groups>

<class_map>etc/ce-to-ce/class-map.xml.dist</class_map>

</options>

It should look like the following after renaming the file names:

<options>

<map_file>etc/ce-to-ce/1.9.3.0/map.xml</map_file>

<eav_map_file>etc/ce-to-ce/map-eav.xml</eav_map_file>

<eav_document_groups_file>etc/ce-to-ce/eav-document-groups.xml</eav_document_groups_file>

<eav_attribute_groups_file>etc/ce-to-ce/eav-attribute-groups.xml</eav_attribute_groups_file>

<log_map_file>etc/ce-to-ce/map-log.xml</log_map_file>

<log_document_groups_file>etc/ce-to-ce/log-document-groups.xml</log_document_groups_file>

<settings_map_file>etc/ce-to-ce/settings.xml</settings_map_file>

<customer_map_file>etc/ce-to-ce/map-customer.xml</customer_map_file>

<customer_document_groups_file>etc/ce-to-ce/customer-document-groups.xml</customer_document_groups_file>

<customer_attribute_groups_file>etc/ce-to-ce/customer-attribute-groups.xml</customer_attribute_groups_file>

<delta_document_groups_file>etc/ce-to-ce/deltalog.xml</delta_document_groups_file>

<order_grids_document_groups_file>etc/ce-to-ce/order-grids-document-groups.xml</order_grids_document_groups_file>

<map_document_groups>etc/ce-to-ce/map-document-groups.xml</map_document_groups>

<class_map>etc/ce-to-ce/class-map.xml</class_map>

</options>

Step 4. Provide the Mandatory Prerequisites

After you’ve configured the Data Migration Tool, you need to provide the following mandatory prerequisites before starting the migration process.

  • Stop all activities in Magento 1
  • Stop all cron jobs running on Magento 1 & put it on maintenance mode
  • Migrate Magento 1 theme to Magento 2 theme structure
  • Open ports in firewall so that Magento 1 & Magento 2 databases can communicate with each other
  • Migrate all Magento extensions from Magento 1 to Magento 2

In case you face any issue, take the full backup of your Magento 1 database before any further action.

Step 5. Perform Magento 1 to Magento 2 Migration

Finally, it’s time to migrate your eCommerce store as well as important configurations such as payment gateways, tax settings, shipping, etc.

To initiate the migration process, you need to execute the below command in the Magento 2 instance:

bin/magento migrate:settings [-r|–reset] {}

In the above command…

  • {} is a required field & is the absolute path to the config.xml file.
  • [-r|-reset] is an argument that makes sure the migration starts from the beginning.

Therefore, the actual command should be:

sudo bin/magento migrate:settings /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/1.9.0.1/config.xml

Once you execute the above command, you’ll be prompted with “migration complete” status.

After that, you need to execute the below data migration command:

bin/magento migrate:data [-r|–reset] {}

Here, your actual command should be:

sudo bin/magento migrate:data /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/1.9.0.1/config.xml

The above command will confirm the consistency of database tables between Magento 1 & Magento 2. And in case any issue occurs, then you’ll immediately see the error message with all the details.

Once you fix the errors, execute the same migration command again to verify that all issues have been resolved.

And once the entire data migration process is finished, if there are any new changes to the database like new orders or new reviews, you can migrate the new data by executing the following command:

bin/magento migrate:delta [-r|–reset] {}

Your actual command should be:

sudo bin/magento migrate:delta /var/www/magento2/vendor/magento/data-migration-tool/etc/ce-to-ce/1.9.0.1/config.xml

Now, the above command will keep on running indefinitely so you need to stop once new data is migrated by pressing Ctrl + C on your keyboard.

Finally, once the database migration is successfully completed, you need to flush your Magento 2 cache, re-index all Magento 2 re-indexers, & test your Magento 2 site thoroughly.

And it’s done. All that’s left to do is to copy all the media files from Magento 1 to Magento 2.

Benefits of Magento 1 to Magento 2 Migration

Compared to Magento 1, Magento 2 offers a wide range of benefits that have already proven to boost the growth of an eCommerce business significantly.

Let’s look at the top 5 benefits of Magento 1 to Magento 2 Migration.

1. Better Performance & Scalability

Better Performance

Magento 2 is, without any doubt, superior to Magento 1 in every aspect. For example, Magento 2 is equipped with an improved indexer which boosts its query performance speed. 

Besides this, Magento 2 also comes with an in-built Varnish Cache & HTTP accelerator technology that greatly simplifies the cache requests.

This, as a result, allows more than one admin user to add and edit product information without causing data conflicts. 

Overall, Magento 2 offers better performance & scalability because:

  • It greatly enhances the proficiency of backend operations.
  • It improves web pages for faster loading.
  • It provides database flexibility & scalability to handle peak loads.
  • And it boosts server response times for all website activities.

2. Uncompromising Security

Uncompressing Security

Along with better performance & scalability, Magento 2 also offers uncompromising security when it comes to sensitive information management. In simple words, Magento 2 primarily focuses on providing the highest security on the user details and the checkout process through different ways like:

  • Strong Password: Magento 2 uses SHA-256 algorithms in its password management system to enhance password security.
  • 2-Factor Authentication: Magento 2 allows integrating 2-Factor Authentication extension which helps to add an extra layer of security for your business as well as customers.
  • Dynamic Backup Plan: Magento allows store owners to create a full backup of Magento store files by downloading them with an FTP client. This ultimately helps you to ensure that you don’t lose valuable data in case of cyber attacks or crashes.
  • Unique Admin URL: Magento 2 provides you with a secure protection layer through a unique admin URL so that it becomes difficult for hackers to locate it.
  • Optimal Development Environment: Lastly, Magento 2 comes with DevBox Beta, which is a  development environment that makes the development process much faster & more straightforward.

3. Faster Checkout Process

Faster Checkout

Unlike Magento 1, the Magento 2 comes with a fast and safe checkout process with an option to let visitors make purchases as guest users and eliminate the need for registration & login.

Apart from this, you can also integrate almost any payment gateway into the checkout process of your eCommerce store easily & conveniently. 

Magento 2 supports all popular payment gateways like Stripe, Paypal, Braintree, etc. And you can also now display an active shipping rate based on region, country, and postal code.

All these features, in the end, help store owners to reduce the checkout time, enhance the shopping experience, and boost conversion rate while also minimizing the cart abandonment rate.

4. Advanced Reporting

Advanced Reporting

The next key benefit of migrating from Magento 1 to Magento 2 is the advanced reporting capabilities it provides.  You see, when it comes to the eCommerce business, reporting is extremely critical.

And the good news is, Magento 2 is packed with all the advanced reporting features that allow you to gain incredible insights into 3 main areas such as:

  • Orders: The number of orders, taxes, shipping fees collected
  • Customers: The number of registered customers
  • Products: The number of products uploaded and which products sell the most

Overall, the advanced reporting in Magento 2 is highly dynamic and real-time, which provides all the metrics you need to better understand & manage your eCommerce business.

5. Mobile-Friendly

Mobile Friendly

On top of extraordinary features, Magento 2 provides extremely responsive & mobile-friendly designs for delivering a phenomenal online shopping experience on your eCommerce store.

In fact, the admin panel of Magento 2 is also touchscreen-friendly, which makes your eCommerce store easy to navigate irrespective of the device it is being accessed.

The best part is, the responsive & mobile-friendly design also gives a notable boost in SEO efforts & helps to rank higher in search engine results.

Conclusion…

Magento 2 Migration has become inevitable for all Magento 1 stores. Therefore, it’s better to pull the plug and upgrade to Magento 2 as soon as possible before your Magento 1 store becomes obsolete.

And if you need our professional assistance, you can contact us at any time and we will make sure a successful Magento 1 to Magento 2 Migration without losing any data, breaking your site, and no downtime throughout the process.

Tags

Jaimin Kapadia

Jaimin Kapadia

Jaimin is a Sr. Technical Content Writer at MageDelight and is expert in creating content that commands attention, builds authority, and drives action. In his free time, he likes to read fictional books and write short stories.