Adobe Commerce Performance and Cloud Experts | MagentoEcom
Back to Blog

Migrating from Magento 1 to 2 A Complete Guide

Magento, a robust and versatile e-commerce platform, has been a favorite among online store owners for years. However, with the continuous evolution of technology, it's essential to keep up with the latest advancements. Magento 1 has reached its end-of-life, and it's time to migrate to Magento 2 for a smoother and more efficient online shopping experience.

Migrating from Magento 1 to 2 A Complete Guide

Are you thinking about migrating from Magento 1 to Magento 2? If so, you’re making a wise decision. Magento 1 is no longer officially supported by Adobe, which means it’s no longer receiving security patches and critical updates. This leaves your store vulnerable to security risks and potential performance issues. Magento 2, on the other hand, is the latest and greatest version of the Magento platform. It offers a number of improvements over Magento 1, including better performance, scalability, and security.

In this blog post, we’ll walk you through the complete process of migrating from Magento 1 to Magento 2. We’ll cover everything from analyzing your Magento 1 store to setting up Magento 2 and migrating your data.

Why Migrate from Magento 1 to Magento 2?

There are several reasons why you should migrate from Magento 1 to Magento 2. Here are a few of the most important:

  • Security: Magento 1 is no longer officially supported by Adobe, which means it’s no longer receiving security patches. This leaves your store vulnerable to security risks. Magento 2, on the other hand, is the latest and greatest version of the Magento platform and benefits from the latest security patches and updates.
  • Performance: Magento 2 is faster and more scalable than Magento 1. This means that your store will be able to handle more traffic and provide a better user experience for your customers.
  • Features: Magento 2 offers a number of new features and functionalities that are not available in Magento 1. These features can help you improve your store’s conversion rate and overall customer experience.

The Migration Process: Step by Step

1. Analyzing Your Magento 1 Store

Before diving into the migration process, it’s essential to assess your Magento 1 store thoroughly. Here’s what you need to do:

Review Extensions: Take stock of the extensions installed on your Magento 1 store. Identify essential plugins and determine compatibility with Magento 2. Remove any outdated or incompatible extensions.

  • List the extensions that you have installed on Magento 1. Check the following aspects:
  • Identify the plugins you require for the new site.
  • Remove unwanted plugins
  • Replace incompatible plugins from Magento Marketplace
  • Review the new Magento 2 extensions
  • Check custom code on plugins
  • Analyze which database assets you have to migrate

Evaluate Themes: Assess whether your Magento 1 theme is compatible with Magento 2. Consider purchasing a new theme from sources like the Magento Marketplace or ThemeForest if needed.

Data Cleanup: Remove outdated data from your Magento 1 database, including logs, site content, and unused custom code.

SEO Analysis: Perform an SEO analysis to mitigate any potential loss of traffic during the migration process. Address issues such as 404 errors, update metadata, and ensure proper redirection. Use Google Analytics to check your store’s ranking components. It includes:

  • High performing keywords
  • Fixing 404 errors
  • Robots.txt File
  • Sitemap.xml File
  • Canonical tags
  • Metadata
  • Product details

2. Setting Up Magento 2

Once you’ve assessed your Magento 1 store, it’s time to set up Magento 2. Follow these steps:

  • Installation: Install Magento 2 on your server, ensuring that you meet the platform’s system requirements.
  • Configuration: Configure your Magento 2 store settings, including language, currency, and payment methods.
  • Theme Selection: Choose a suitable theme for your Magento 2 store, either from the default options or third-party providers. Customize the theme to align with your brand’s identity.

3. Backing Up Magento 1 Store Data

Before proceeding with the migration, it’s crucial to create a full backup of your Magento 1 store data, including files, folders, and the database. This ensures that you have a copy of your store’s data in case of any issues during the migration process.

4. Magento 2 Migration Process

The migration process involves several key components:

  • Theme Migration: Select and customize a theme for your Magento 2 store, ensuring compatibility with the new platform version.
  • Extension Migration: Review and migrate essential extensions to Magento 2, ensuring that only necessary plugins are utilized.
  • Customization: Migrate custom code using tools like the Code Migration Toolkit and develop new customizations as needed for Magento 2.
  • Data Migration: Utilize the Magento 2 Data Migration Tool to transfer store data and settings from Magento 1 to Magento 2.

5. Installation of Data Migration Tool

Install the Magento 2 Data Migration Tool using Composer, ensuring compatibility between the tool and your Magento 2 version. Configure the tool with the necessary database details and encryption key from your Magento 1 store.

To check the version of Magento installed, enter the command:

php bin/magento –version Additionally, ensure to update the package location in the composer.json file. Execute the following commands:

composer config repositories.magento composer https://repo.magento.com composer require magento/data-migration-tool: Here, <version> refers to the desired version of the Data Migration Tool. For instance, if your Magento version is 2.2.0, you would run:

composer config repositories.magento composer https://repo.magento.com composer require magento/data-migration-tool:2.2.0 Next, you’ll need to provide authentication keys. Follow these steps:

  1. Navigate to the Magento Marketplace.
  2. Sign in using your credentials.
  3. Click on “Access Keys” under the “My Products” section.
  4. If you already have keys, your public key is the username, and the private key is your password.
  5. To create a new key pair, click “Create a New Access Key.”
  6. Add the generated keys to complete the Data Migration Tool installation.

6. Configuring Data Migration Tool

Configure the Data Migration Tool by creating the required configuration files and specifying the database details for both Magento 1 and Magento 2. Save the configuration files and ensure that they are correctly set up for the migration process.

To configure the Data Migration Tool, you’ll need to handle the configuration files located in specific directories. The following directories contain the necessary files for the Data Migration Tool:

/vendor/magento/data-migration-tool/etc/opensource-to-opensource These files include configurations and scripts tailored for migrating from Magento 1 Open Source to Magento 2 Open Source.

/vendor/magento/data-migration-tool/etc/opensource-to-commerce This directory holds scripts and configuration files designed for migrating from Magento 1 Open Source to Magento 2 Commerce.

/vendor/magento/data-migration-tool/etc/commerce-to-commerce Here, you’ll find scripts for migrating from Magento 1 Commerce to Magento 2 Commerce.

Additionally, you need to create a config.xml file in the appropriate directory. For instance, if you’re migrating data from Magento 1 Open Source to Magento 2 Open Source, follow these steps:

Navigate to:

/vendor/magento/data-migration-tool/etc/opensource-to-opensource/ Rename ‘config.xml.dist‘ to ‘config.xml‘.

Open ‘config.xml‘ in your code editor and specify the following:

Magento1-Encrypted-Key

Explanation:

  • <source> contains the database details of Magento 1.
  • <destination> holds the relevant database details of Magento 2.
  • <crypt_key> is mandatory and must be filled. It represents the encryption key of Magento 1, typically found in <Magento 1 root dir>/app/etc/local.xml. Save the config.xml file after making these adjustments.

7. Initiating the Migration

Commence the migration process using the Data Migration Tool, ensuring that it has network access to both Magento 1 and Magento 2 databases. Ensure that the Data Migration Tool has network access as it needs to establish connections with both Magento 1 and Magento 2 databases.

In Magento 1.x Admin Panel, halt all activities except for order management tasks like shipping and invoice creation. These operations should not resume until Magento 2 stores are live.

Stop all Magento 1.x cron jobs except for those necessary for migration processes.

Utilize the Data Migration Tool to migrate settings and websites. It’s crucial to have migration service or expertise to effectively use the tool.

Manually copy your Magento 1.x media files to Magento 2.x. This process involves copying files from the magento1-root/media directory to magento2-root/pub/media.

Use the tool to transfer your data in bulk from the Magento 1 database to the Magento 2 database. Some plugins may have data with different structures in the Magento 2 database; in such cases, use the mapping files provided with the Data Migration Tool.

Reindex all Magento 2.x indexers. For more details, refer to the indexers’ site

8. Adjustments to Migrated Data

After migration, make any necessary adjustments to the migrated data, such as updating CMS pages, catalog structures, or sales rules. Exercise caution during manual data migration to avoid errors that could impact the new Magento 2 site.

9. Incremental Data Upgrade

Continue to capture incremental data updates from Magento 1 and transfer them to Magento 2 using the Delta mode. Test the Magento 2 site for any issues and resolve them before proceeding.

You can proceed to capture incremental data updates from Magento 1, including new orders, reviews, and other changes.

Transfer these updates to Magento 2 using the Delta mode.

Initiate the incremental migration process, which will continuously synchronize site updates.

Conduct testing on your Magento 2 site to identify any potential issues.

To halt incremental migration, press Ctrl+C. You can resume it once any identified issues are resolved.

10. Going Live

Once the migration is complete and the Magento 2 site has been thoroughly tested, it’s time to go live. Put the Magento 1 system into maintenance mode, stop incremental updates, start Magento 2 cron jobs, reindex stock indexers, cache pages, and perform final verifications before updating DNS settings to point to the new Magento 2 store.

To transition to the new site, follow these steps:

  1. Place the Magento 1 system in maintenance mode to initiate downtime.
  2. Stop incremental updates by pressing Control+C in the migration tool command window.
  3. Activate Magento 2 cron jobs.
  4. Reindex the stock indexer for the Magento 2 system.
  5. Pre-cache pages ahead of customer visits to your storefront.
  6. Perform a final verification of the Magento 2 site.
  7. Update DNS and load balancers to direct traffic to the new production hardware, marking the end of downtime.
  8. With the Magento 2 store now live, resume all store activities.

End Note

Migration from Magento 1 to Magento 2 may seem daunting, but with proper planning and execution, it can be a smooth and successful process. By following this comprehensive guide, you can ensure a seamless transition for your online store, taking advantage of the latest features and improvements offered by Magento 2. Embrace the change and watch your business thrive in the dynamic world of e-commerce.