Migrating from Magento 1 to Magento 2: A complete guide

Migrating from Magento 1 to Magento 2 may seem daunting but it’s worth the effort. Discover why you should do it and how to migrate with minimal downtime.
Get fast, reliable hosting for WordPress
Power your site with the industry’s fastest, most optimized WordPress hosting

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.
Access the latest performance and security updates

- 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.
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.
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.
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.
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.
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:Make sure you replace the placeholder with the version of your codebase. For example:
$ composer require magento/data-migration-tool:2.4.5After 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 1.9.3.6 to Magento 2, use the following commands:
$ mkdir -p app/code/Vendor/Migration/etc/opensource-to-opensource/1.9.3.6 $ cp vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.3.6/config.xml.dist app/code/Vendor/Migration/etc/opensource-to-opensource/1.9.3.6/config.xmlFinally, edit the configuration file and add the following details:
- Magento 1 and Magento 2 database access details in theand tags.
- The Magento 1 encryption key from the app/etc/local.xml file of your Magento 1 store in the tag.

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.
$ bin/magento migrate:settings --resetThe settings migration should complete in a few minutes. After that, migrate data using the following command:
$ bin/magento migrate:data --resetThe 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 --resetRemember 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:cleanAfter 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.Additional resources
What is managed WordPress hosting? →
Get details and decide if managed WordPress hosting is right for you.
Must-have web development plugins to create WordPress websites at scale →
Explore the best web development plugins to enhance functionality, improve performance, and streamline your WordPress site.
A complete guide to WordPress shortcodes →
Shortcodes make life easier. Learn how to get started!