Insights

Secrets of Magento 1 to 2 Migration: The Why, What, & How

Migrating from Magento 1 to Magento 2. Everything that Falls in Between

Out of 185,158 Magento stores, only 62,384 have migrated to Magento 2 (as on 26/06/2020). And the rest of the 122,774 business owners using the Magento eCommerce Platform are at risk of running onto an unsupported software starting June 2020.

Deadline of migrating to Magento 2

Magento 1.x is rounding off its support on June 30, 2020, and those who fail to upgrade Magento 1 to Magento 2 will be at multiple business and security risks.

CMS without support is prone to vulnerabilities. With an increase in the number of web skimming (Magecart) attacks, such web stores will risk getting hacked and infected with code that steals sensitive customer data.

Increased security is one of the reasons why leading eCommerce businesses such as Tile Giant, Pino’s, Land Rover, and many others have already upgraded to Magento 2 because they understand that a significant software upgrade can improve their business.

Here’s a similarity they all share:

They do not leave things for tomorrow and embrace the change that promises long-term success.

Magento 2 upgrade eBook

Steps to Prepare for a Magento 2 Upgrade

Migrating your entire website can affect your site traffic due to the changes in SEO specific parameters of your website. Your indexed pages, top-ranking pages, indexed images, and overall discoverability might get compromised.

That’s not all; Magento 1 store’s data, configuration files, extensions, themes, and numerous digital assets are also at risk.

Here’s how you can avoid that, and retain your current site’s essential components, and SEO juice:

  • Never put your Magento 1 store at risk. Make a clone of your store on a separate server and start working with that.
  • Make sure your current Magento 1 extensions, themes, and code workarounds have forward compatibility. If they’re not compatible with Magento 2, you’re going to lose them.
  • Taking backups of your Magento store is one of the most important practices you must follow. Always keep multiple backups of your store’s most significant versions.
  • You must retain all the SEO-driven traffic your current Magento 1 store has. Analyze your high performing keywords, sitemaps, robot.txt files, and any other SEO-related data that you can find in your Google Analytics or Google Search Console. We recommend working with an SEO expert while you do this.
  • Keep your migration process light. Get rid of any unwanted or useless data from your current eCommerce store.

The Upsides of Magento 2 Migration

The primary reason behind the reluctance towards a Magento to Magento migration is that decision-makers feel that this shift will make no significant difference – like changing adjacently placed seats with no difference in the experience.

If that’s what you think, you couldn’t be further from the truth.

Compared to the now-outdated Magento 1, the new version offers a host of benefits that can significantly impact your business growth in the long run.

Let us look at some of the essential benefits of converting Magento 1 to Magento 2.

Benefits of Magento 1 to Magento 2 migration

1. Improved Performance and Scalability

There’s no doubt that Magento 2 is superior to Magento 1 in all aspects. It’s equipped with an improved indexer that helps in increasing its query performance speed. Moreover, Magento 2 uses Varnish Cache, a prominent HTTP accelerator technology, which simplifies cache requests.

This makes it simple for more than one admin user to create and edit eCommerce product information without data conflicts in Magento 2, imagine how much time you’ll save. Magento 2 has enhanced performance and scalability because it:

  • Improves web pages for faster delivery
  • Boosts server response times for all website activities
  • Enhances proficiency of backend operations
  • Improves database flexibility and scalability to deal with peak loads

How Migrating to Magento 2 Reduced the Page Load Time of ‘Graham & Green’ eCommerce store by 43.5%

Graham & Green, the British furniture company, ran their , a British furniture company, ran their eCommerce operations on Magento commerce 1 for years. Their website was not responsive and did not work well on mobile devices.

But in the year 2018, they planned to embark upon a Digital Transformation journey. They decided to migrate to Magento commerce 2 to create a bespoke customer journey for ordering Made-to-Order (MTO) products like custom sofas.

Graham & Green first launched their mobile site on October 15, 2018, during the peak time of Black Friday sales. Their visitors witnessed high site speed, which improved their entire customer experience. On top of that, their average page load times were down to a staggering 43.5 percent year-over-year, making the buying experience lightning fast.

Graham & Greens' successful journey after migrating to Magento 2

2. Enhanced Security

Magento 2 has focused on security, and subsequently, has highly secure information handling. With its primary focus on securing user details and offering a secured checkout process, an upgrade to Magento 2 will fulfill every crucial requirement of an advanced eCommerce website development.

Here’s how you will witness enhanced security when you migrate to Magento 2:

Ways to secure commerce store with Magento 2

  • Password: Magento 2 helps enhance password security by using SHA-256 hashing algorithms within its password management system.
  • 2-Factor Authentication: Magento 2 platform offers an incredible 2-Factor Authentication extension, which gives an additional layer of protection to your business and customers.
  • Dynamic Backup Plan: To further enhance the security, eCommerce store owners can have a full backup of their Magento store files by downloading them with an FTP client. This allows store owners to have an hourly offsite backup plan and downloadable backups. A backup plan guarantees that your eCommerce store doesn’t lose valuable data in case of hacks or crashes.
  • Unique Admin URL: A unique admin URL of your Magento store offers a secure protection layer by making it difficult for hackers to locate it.
  • Optimal Development Environment: Magento 2 makes the development procedure quicker and more straightforward with Magento DevBox Beta, another development environment option.

3. Improved Checkout Process

Magento 2 platform packs a safe and straightforward checkout for your eCommerce site. It offers an approach to recognize visitors as guests, eliminating the login or registration form required for users to continue the checkout process.

Another advantage comes in the form of displaying an active shipping rate based on a specific country, region, or postal code. In Magento 2, you can conveniently integrate any payment method into the checkout procedure.

There are several payment options available that include Paypal, Braintree, and Stripe. You can also make your own particular favored payment modules with easy integration with any merchant checkout platform.

There are several payment options available that include Paypal and Braintree. You can make your own particular favored payment modules with easy integration with any merchant checkout platform.

Magento 2 checkout process comprises the order summary, so your customers can review their shipping information. These features help reduce the checkout hassle and enhance customer experience.

It even reduces the checkout time, thereby boosting your website’s conversion rate while reducing cart abandonment.
How Cabinets.com Reduced the Average Time on Checkout by 8 Sec Using Magento 2

Cabinet.com, a successful US-based company, dealing with kitchen cabinets, launched Kitchen Resource Direct, one of the first companies to sell cabinets online. They launched their brand initially on Magento Open Source and gradually shifted to Magento Commerce 1 in 2014.

However, in today’s dynamic digitized world, cabinets.com aimed to offer homeowners and professional contractors a large selection of competitively-priced, customizable products. Thus, in 2017, they decided to upgrade with a Magento 2 migration service.

One of the vital results achieved with this migration was a seamless Magento commerce 2 checkout process, which reduced the average checkout time by 8 seconds.

Cabinets.com' successful journey with Magento 2

4. Advanced Reporting

When it comes to succeeding in your eCommerce business, reporting is very crucial. The new advanced reporting features, located in Magento Admin, offer 20 reports through its web interface. This feature gives you insights into three critical areas, such as:

  • Orders: the number of orders, AOV, and taxes and shipping fees collected
  • Customers: the number of registered accounts
  • Products: the number of products orders and which product sells best

The reporting is dynamic and real-time, offering you the metrics that you need for better management of your eCommerce business.

Comparing Two Products with Advanced Reporting in Magento 1 to Magento 2 migration

5. Mobile-friendly and Responsive Design

Magento 2 offers mobile-friendly and responsive designs for delivering the perfect checkout experience.

The admin panel in Magento 2 is touchscreen-friendly – making your site easy to use and easy to navigate irrespective of the device you’re accessing it from.

Magento 2 upgrade eBook

3 Key Components of Magento 1 to Magento 2 Migration

Magento 2 upgrade comprises three major components, which include:

3 key components of magento 1 to magento 2 migration

The Magento 1 to Magento 2 Migration Process

By now, you must be wondering how to migrate Magento 1 to Magento 2? To migrate Magento 1 to 2 successfully and avoid issues, it is crucial that you thoroughly plan and test your migration. The following diagram explains the workflow followed for the much talked about Magento upgrade. You can do this by hiring an expert Magento Developer to create a custom path that paves the way for a successful migration.

Magento 1 to magento 2 migration process

A Magento migration process isn’t an easy DIY project, but still, here’s how you can do it.

Step1: Setup Magento 2 Instance

Download Magento 2 from https://magento.com/tech-resources/download without the sample data.

Extract the downloaded data and follow the setup wizard to install the platform on a server.

Now, you have Magento 2 setup with an empty database. Your data from Magento 1 will migrate to the database of this Magento 2 instance. After this, you must use a Magento 2 migration tool.

Step 2: Download the Data Migration Tool

To use this Magento migration tool, open the command line in the root folder of Magento 2. Download the data migration from Magento 1 to Magento 2 tool in the newly set up Magento 2 instance by following this command:

composer require Magento/data-migration-tool

The data migration tool version must match the Magento 2 codebase version, which is found in the composer.json file present in the root directory of Magento 2.

For example, for Magento version 2.3.3 the command would be:
composer require Magento/data-migration-tool:2.3.3

You will be prompted for your public and private key for authentication.

To get these key values, login to your Magento commerce account. Once you log in, browse through ‘My Accounts.’ Now, click on the developer’s link on the left menu, and then click on security keys. Here, you can quickly locate your keys.

After filling in these details, a new folder called “data migration tool” will be created at this path extension /vendor/magento/.

Alternatively, you can also download the data migration tool from Github from this link: https://github.com/magento/data-migration-tool

Step 3: Configuring the Data Migration Tool

Once you have the required data migration tool, you will need to move on with its configuration.

Here’s how to do it:

Under the data-migration-tool/etc folder you can find additional sub-listed folders, i.e.,

  • ce-to-ce: includes configuration files and scripts for migrating data from Magento 1 CE to Magento 2 CE
  • ce-to-ee: includes configuration files and scripts for migrating data from Magento 1 CE to Magento 2 EE
  • ee-to-ee: includes configuration files and scripts for migrating data from Magento 1 EE to Magento 2 EE

Now, enter the directory for which you are performing the migration (for example: ce-to-ce in the case of migrating data from community edition to community edition).

Next, enter the directory with the Magento 1 version name. For instance, if you want to upgrade Magento 1.9.0.1 to 2.0, you should enter the folder 1.9.1.0.
Also, make a copy of the file map.xml.dist and rename it to map.xml, in this folder. (Use of this file is explained in the migration step).

Now you may make a copy of the file config.xml.dist and rename it to config.xml, in this folder. Open this file and make the following changes to it:

a. Required Values:

Under source, enter the Magento 1 database details, and in the destination enter the Magento 2 database details.

Crypt_key value can be found in local.xml file which is located in the Magento 1 instance directory at: app/etc/local.xml in tag.

b. Optional Values:

If you don’t have a prefix set for the Magento 1 and Magento 2 tables, then you can leave the “1” source prefix, and “2” source prefix fields empty.

Database mapping between your Magento 1 and Magento 2 databases is performed through mapping files which are located in:

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

These files are used for changing the table names, field names, ignoring tables and fields and transferring data of the field to the Magento 2 format.

We need to remove the .dist extension of these files to make use of these mappings.

After removing the .dist from file names, we need to change these file names (removing the .dist) in the config.xml file under the “options” tab.

Here you can see the location of the files that need to be renamed.

It should look like this now:

Step 4: Provide the Prerequisites

Before you start your migration, you must do all of the following:

  • You need to stop all the current activities in Magento 1 before moving ahead with Magento migration.
  • Stop all the cron jobs running on Magento 1 version and put the site on maintenance mode. The purpose of this is to stop all the activities that make any changes in the database. We need to make sure that there is no activity in the database once the data migration process starts.
  • Open ports in your firewall so that the migration tool can communicate with databases, and the databases of Magento 1 and Magento 2 can communicate with each other.
  • Migrate your theme to Magento 2 theme structure.
  • Migrate all your Magento extensions and customizations from version 1 to 2.

In the event of unexpected issues that might cause redundancy, we advise you to create a backup of your Magento 1.x database.

Step 5: Migrate the Websites

Now we will migrate the eCommerce store and system configuration like tax settings, payment gateways, shipping, etc.

For this, we need to run the following command in the Magento 2 instance:

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

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

The 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 it is done you will see the “migration complete” status.

Next, you will need to run the data migration command:

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

The command should be:

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

This command checks the consistency of tables and fields between Magento 1 and Magento 2. If any issue exists, then an error message will appear with a list of all tables and fields that are not mapped.

For example, you face an extension tables error and a particular custom field goes missing in one of the tables. So, to fix this problem you need to install the Magento 2 version of the extensions in the Magento 2 instance so that the missing tables are in the Magento 2 instance database as well.

You can also ignore the tables and fields by adding their entries in map.xml file
After making the entries, the corresponding tables and fields will be ignored and will not be migrated to the Magento 2 database.

Run the migration command again to verify that the issues are fixed.

The data migration is completed once you get the migration complete message.

After the migration is completed, if there are any new changes in the database, such as new orders are placed, or new reviews are added, then you can migrate that data by executing the following command:

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

The 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

This command can be stopped by pressing ctrl + C, or else it will keep on running.

Now your database is successfully migrated to Magento 2.

Flush your Magento 2 cache, and re-index all Magento 2 re-indexers, then thoroughly test your new Magento 2 site.

Bingo! You are almost done and ready to be an active part of the Magento 2 powered businesses.

After Magento migration from 1 to 2, all you are left with is the need to copy the media files from Magento 1 to Magento 2.

Magento 2 upgrade eBook

Challenges of Migrating from Magento 1 to Magento 2

The journey of Magento 1 to Magento 2 migration is no cakewalk. There are many challenges that might make it a roller coaster ride, some of which include:

Magento 1 to Magento 2 migration process challenges

Homepage Not Appearing Correctly

If your Magento 1 version has a custom layout set for the home page, there are chances that the home page will not appear correctly after migration.

Solution: You either need to create a custom layout in Magento 2, or you can go to the Magento 2 admin panel and change the layout for your home page.

Products Not Appearing in the Category

The category-wise distribution of the products on your eCommerce store is likely to go haywire.

Solution: Re-index all the indexers. In Magento 2, you need to go through the command line because it can’t be done from the admin panel like it was done in Magento 1.

CSS JS Files Not Loading

This is yet another issue that many eCommerce stores have reportedly faced after Magento 1 to Magento 2 migration.

Solution: Flush your cache and then deploy the static content. (If you are still facing a problem after removing the cache, then manually remove all the subfolders from the cache folder.

Loss of Data

Improper Magento migration processes can result in loss of essential data, potentially leading to a loss in revenue. It is important to work with an experienced professional while migrating your M1 to M2.

Magento 2 is the Perfect Choice to Make

The countdown has begun. With 56,134 Magento 1 sites already ahead of your Magento 1 store, it is time to take this much-awaited decision. A Magento 2 upgrade/migration is a step that will make your brand’s entire eCommerce experience a seamless one, for both your users and your business.

A Magento upgrade is inevitable, so why delay and wait for your Magento 1 store to become obsolete? Reach out to Magento development experts who can assist you with Magento 1 to Magento 2 migration without breaking your current site or losing any data.

After all, today is always better than tomorrow!

Contact Net Solutions to migrate from Magento 1 to Magento 2

Surabhi Shukla

About the Author

Surabhi is a proficient PHP developer and has worked on frameworks and CMS like Joomla, CakePHP, Drupal, and Magento. She is also a Magento certified developer and Developer Plus. When not at work, she relaxes by listening to music and is an avid reader.

Leave a Comment

akshay nathani

8:36 PM, Jun 02, 2020

hi surabhi, i am a novice to this migration hence asking this question, now i have my website on localhost one supports php5.6 and magento2 supports 7. due to this i have installed magento 1 on say xampp1 and magento 2 on xampp2. is it possible to migrate the data and follow this entire process on localhost so that data is migrated from xampp1 to xampp2. certainly i am not able to run both php versions on same xampp and hence this question.

Mike

12:31 AM, Feb 25, 2020

Great article!
A lot of your business’s growing pains can be solved by migrating to Magento 2. More about why and how you need to migrate, read here, https://elogic.co/blog/magento-1-to-magento-2-migration-guide/.

Kasyapa Malladi

5:25 PM, Jun 24, 2019

Thanks for such a great content you put together. I additionally have experienced an awesome method for learning. You have made the whole procedure incredibly straightforward and educational.

Vishnu Bhadoriya

6:49 PM, Jun 22, 2019

Hii Surabhi,

i have followed magento official document for migration but failed somehow
But this blog helps me lot
Thanks

Sachin Bhaderia

2:10 AM, Jun 01, 2019

Hello Surabhi,
I like this blog very much and it was really very helpful for me. You have really explained it very well. Once again thank you a lot. God Bless You :-)

Pin It on Pinterest

SIGN UP AND STAY UPDATED

Articles written by industry experts about things that matter most in designing and building Digital Products and Platforms for Startups and Enterprises.

Subscribe to our

Digital Insights

Follow us on:

Aw, yeah! That was a smart move.

We have sent a short welcome email your way.