Migrating from Magento 1 to Magento 2 might seem daunting, but it’s worth the investment because Magento 2 provides better performance, scalability, and security than Magento 1.
It also offers cutting-edge functionality that helps you future-proof your online business.
And although migrating to Magento 2 requires some effort, the truth is that you can migrate smoothly with minimal downtime. All you need is the right Magento migration strategy.
Need help figuring out where to start?
Read the rest of our guide to learn why you should migrate to Magento 2 and the steps you need to follow to migrate successfully.
Why migrate from Magento 1 to Magento 2?
Migrating from Magento 1 to Magento lets you:
- Access the latest performance and security updates.
- Simplify selling online with the latest ecommerce features.
- Future-proof your online business.
Let’s explore each of those benefits in more detail.
Access the latest performance and security updates
Data from Statista reveals that ecommerce losses due to online payment frauds more than doubled from $20 billion in 2021 to $41 billion in 2022. When you migrate to Magento 2, you don’t need to worry about payment fraud.
Magento 2 takes a multi-pronged approach to online store security and protects your customers from payment frauds with security features like:
- Advanced Encryption Standard (AES-256) encryption keys to protect sensitive data.
- Custom admin URLs to restrict admin access.
- Two-factor authentication (2FA) to prevent unauthorized logins.
- CAPTCHA to stop bots from creating customer accounts.
- Strict content security policies to prevent card skimming and clickjacking attacks.
Adobe also offers security patches, so you can selectively install time-sensitive security fixes during high-demand sales periods.
Besides security, Magento 2 also offers built-in support for Varnish caching and uses a horizontally-scaling Entity-Attribute-Value database model that makes it customizable without compromising performance.
The bottomline is that migrating to Magento 2 is the best way to get the latest performance and security features for your online store.
Get fully managed Magento hosting
Accelerate your store's potential, without the tedious maintenance
Simplify selling online with the latest ecommerce features
Magento 2 offers a streamlined checkout process to minimize cart abandonment and simplifies routine tasks like adding products.
Its product creation workflow lets you create configurable products with thousands of variations in minutes.
Adobe even replaced the default WYSIWYG editor with their Page Builder tool in Magento versions 2.4.3 and above, so you can create and edit content without code. You can use it to design full-page layouts for CMS pages and even customize products and category pages.
Magento 2 also makes it easy to improve SEO with schema markups, sitemaps, and customizable metadata. And unlike ecommerce platforms like Shopify, Magento allows you to customize your site URL structure and even create URL rewrites from the admin.
Future-proof your online business
Magento 1 has an outdated software infrastructure.
In contrast, Magento 2 is designed with the future in mind. Its modular architecture uses modern technologies to help your business grow and adapt to changing buyer needs.
But it’s not just about scalability. Magento 2 even offers a free mobile-friendly theme and empowers you to build Progressive Web Applications (PWAs) with its set of free developer tools called the PWA Studio project.
Moreover, Magento 2 has a robust API built into its core that lets you transform your Magento 2 store into a headless website and integrate it with multiple business systems.
Put simply, Magento is the perfect solution for businesses that sell across multiple channels.
How to migrate to Magento 2 (step-by-step)
You can migrate from Magento 1 to Magento 2 in three ways:
- Using the official Data Migration Tool.
- With the assistance of a Magento developer or agency.
- Using an automated data migration tool like LitExtension.
Follow these steps to migrate to Magento 2 with Adobe’s Data Migration Tool.
Note: Unless specified otherwise, you must run all commands from the Magento project root directory as the Magento filesystem owner.
1. Choose a Magento 2 hosting provider
The first step in migrating from Magento 1 to Magento 2 is choosing a hosting provider for your new store, especially if you’re using the open-source version. Magento 2 has a unique set of software requirements and dependencies compared to Magento 1.
Adobe provides a detailed list of all the software dependencies for Magento 2 on the official documentation page. However, keeping track of those dependencies can be tricky when you’re busy running an online business.
Managed hosting providers offer an easier way to host Magento 2. You get access to secure hosting environments and on-demand support when you need it.
2. Install Magento 2 on your server
Installing Magento 2 should be fairly easy if you’re using a managed service. If you’re hosting your Magento 2 store with a self-managed hosting provider, you can follow these steps to install Magento 2:
- Install Linux, Apache/Nginx, MySQL, and PHP.
- Create a user and database for Magento 2.
- Install and configure PHP-FPM.
- Create a separate user for the Magento file system.
- Enable SMTP on the server for 2FA.
- Install a compatible Composer version.
- Install an SSL certificate.
- Install and configure Elasticsearch.
- Install Magento 2 via the CLI.
- Verify the installation.
After that, log in to the admin panel and explore the new interface. It might seem drastically different at first, but you’ll appreciate its simplicity once you learn your way around it.
3. Migrate themes and extensions to Magento 2
Next, it’s time to recreate your store functionality on Magento 2. Review the extensions and custom code on your store, list everything you want to migrate to your new store, and look for their Magento 2 alternatives.
A Magento migration is also an excellent opportunity to refresh your online store branding. Review your store design and determine if you want to improve it. You can use Magento’s default Luma theme or install a custom Magento 2 theme for a unique shopping experience.
The Magento Marketplace is a great place to find themes and extensions. You can also contact your theme or extension developer directly if you can’t find a Magento 2 version of their product.
4. Install and configure the Data Migration Tool
Next, install the Data Migration Tool on your Magento 2 server by running the following command:
$ composer require magento/data-migration-tool:<Magento-version>
Make sure you replace the <Magento-version> placeholder with the version of your codebase. For example:
$ composer require magento/data-migration-tool:2.4.5
After that, you need to configure the Data Migration Tool to migrate your Magento 1 store by creating a custom Magento 2 module in the app/code directory.
The Data Migration Tool contains multiple directories with configuration files for different versions of Magento 1.
Navigate to the Magento 2 project directory and create two more directories for the configuration file inside your custom module using the following:
$ mkdir -p app/code/Vendor/Migration/etc/opensource-to-opensource/
Then copy the config.xml.dist file from the directory matching the version of your Magento 1 store into your custom module.
For example, if you’re migrating from Magento 220.127.116.11 to Magento 2, use the following commands:
$ mkdir -p app/code/Vendor/Migration/etc/opensource-to-opensource/18.104.22.168 $ cp vendor/magento/data-migration-tool/etc/opensource-to-opensource/22.214.171.124/config.xml.dist app/code/Vendor/Migration/etc/opensource-to-opensource/126.96.36.199/config.xml
Finally, edit the configuration file and add the following details:
- Magento 1 and Magento 2 database access details in the <source> and <destination> tags.
- The Magento 1 encryption key from the app/etc/local.xml file of your Magento 1 store in the <options><crypt_key> tag.
That completes the basic configuration of the Data Migration Tool. You can refer to Adobe’s guide for advanced configuration tasks.
5. Backup your Magento 1 store
The Data Migration Tool modifies the Magento 1 database when you start the migration. It creates new database tables to track and migrate differences between the source and destination databases during the final step of the migration process.
Therefore, we recommend creating a backup of your Magento store before you begin the migration process.
Creating a backup before initiating the migration enables you to roll back your store and database to the pre-migration state if things go wrong.
If your hosting provider doesn’t offer on-demand backups or server snapshots, you can use a third-party backup tool like Veeam.
6. Migrate and verify your store data
Create a staging copy of your Magento 1 site and disable all cron jobs to prevent database updates during the migration process. Then log in to your Magento 2 server and begin the migration.
The Data Migration Tool runs in three sequential modes:
- Settings: To migrate system and website settings.
- Data: To map and migrate database entities.
- Delta: To migrate incremental changes.
Start by migrating settings with the following command:
$ bin/magento migrate:settings --reset <path-to-config.xml-in-your-custom-module>
The settings migration should complete in a few minutes. After that, migrate data using the following command:
$ bin/magento migrate:data --reset <path-to-config.xml-in-your-custom-module>
The data migration step may continue for several hours, depending on the size of your store and the data being transferred. In case you see any errors during the process, you can refer to Adobe’s data migration guide for more information.
Verify everything works properly after migrating your store data. Test all extensions thoroughly and ensure all URLs and product data have migrated correctly.
Additionally, make sure you set up 301 redirects if you’ve changed your site URL structure to minimize any impact on your store’s SEO. You can also use tools like Semrush and Lumar to crawl your website and optimize your store SEO data before and after the migration.
7. Migrate incremental store data to Magento 2
The delta migration is the final step in the Magento 1 to Magento 2 migration process. In this step, you’ll migrate new store data like orders, customers, and product reviews from your live store.
Log in to your Magento server and run the following command to initiate the delta migration:
$ bin/magento migrate:delta --reset <path to config.xml>
Remember that Magento will only transfer data generated by its core modules. If you’re using custom code or extensions that add their own database tables, you need to add them to a deltalog.xml file and update the config.xml file separately.
You can refer to Adobe’s data mapping guide for more information.
8. Point your domain to your new store
You’re on the home stretch now. It’s time to update your DNS settings and point your domain to your Magento 2 store.
First, put your Magento 1 store in maintenance mode. Then switch to your Magento 2 server and stop the incremental updates by pressing "Ctrl + C" in the migration tool command window.
Start your Magento 2 cron jobs, refresh indexers, and clear the cache using the following commands:
$ bin/magento cron:install --force $ bin/magento indexer:reindex $ bin/magento cache:clean
After that, update your DNS settings to point your domain name to the new server and update your Magento 2 store base URL using the following command:
$ bin/magento config:set web/unsecure/base_url http://example.com/
That’s it. You’ve successfully migrated from Magento 1 to Magento 2.
Get support with migrating to Magento 2
Migrating from Magento 1 to Magento 2 is the best way to future-proof your online business because it gives you access to Adobe’s latest performance, security, and feature updates.
Make sure you plan ahead, migrate during low-traffic hours, and pick a reliable hosting provider that helps you leverage the benefits of Magento 2.
Managed Magento hosting with Nexcess gives you access to fully optimized Magento 2 servers with nightly backups, on-demand development sites, and 24/7/365 support. We offer a secure hosting environment so you can migrate to Magento 2 with minimal downtime.
Sign up for a plan to get started today.
This blog was originally published in December 2020. It has since been updated for accuracy and comprehensiveness.