Magento Open Source (previously Magento Community Edition or Magento CE) is an open-source eCommerce platform first released in 2008 (Magento 1). In 2015, Magento 2 was released concurrently, a revised architecture that comes with significant improvements in performance, security, features and developer tools. Magento 1 reached its end-of-life in 2015, but every year thousands of companies are still making the switch to Magento 2.
In this article we cover how to migrate from Magento 1 to Magento 2 for your store, including compelling information on:
- If you haven’t yet migrated to Magento 2 in 2024, you’re not alone
- Why you should no longer wait to migrate to Magento 2
- A simple step-by-step guide to take the fear out of upgrading to Magento 2
- What is Adobe Commerce and should you migrate there instead?
Disclaimer: The information below is accurate as of October 2, 2024.
Why Migrate From Magento 1 to Magento 2?
Magento was acquired by Adobe in 2018, who made the decision to sunset Magento 1 on June 30, 2020 since Magento 2 offered significant benefits over Magento 1 across all aspects: performance, security, checkout processes, admin interfaces, advanced analytics, mobile-responsiveness and more.
Among other improvements, Magento 2 leverages PHP 8.x, Nginx (for performance, security), Varnish (for performance), Composer (component management), Symfony (to accelerate coding), Redis (caching), Elasticsearch and Open Search (search engine).
For more, we encourage you to review the current 11 biggest benefits of using Magento, which reflects all the opportunities on today’s Magento 2 platform. Adobe continues to make regular updates to Magento 2 for the free Magento Open Source software, which is now at version 2.4.7. This means that, if you are still on Magento 1, you will experience:
- Reduced performance and scalability: Magento 1 is at least 20% slower than Magento 2, with increasing performance lags as product catalogs or data grow.
- Security and compliance risks: No new security patches, so new vulnerabilities remain unaddressed and expose you to risk and potential PCI-DSS non-compliance.
- Extension issues: Third-party services have mostly sunset support for Magento 1, causing extensions to stop working or work sub-optimally.
- Reduced productivity & skills gap: As Adobe invests in functional improvements to Magento 2, such as Page Builder, developers and content creators using Magento 1 are stuck doing everything the “old” way and could find a widening skills gap for Magento 1 developers.
- Outdated features, lack of agility: Magento 2 sites enjoy a competitive advantage with evolving features and functionality.
- Failure to meet customer expectations: With customers increasingly demanding personalized omnichannel experiences, legacy platforms fall further behind.
Still on Magento 1? You’re not alone.
Despite the fact that Magento 1 reached its end-of-life in 2020, tens of thousands of websites still use Magento 1.x, including global brands with hundreds of thousands of dollars in annual sales revenue. Each year, the risks and challenges associated with continued use of Magento 1 grow, compelling brands to finally make the switch. This is particularly true for those brands still using earlier 1.x versions of Magento.
The top reasons that businesses have for remaining on Magento 1 are:
- Lack of skilled developers
- Budget constraints
- Extensive customizations
- Complex and/or large data sets
- Fear of data risks and/or performance issues
Acknowledging these obstacles is the first step to overcoming them, creating a comprehensive plan that minimizes risk and creates a roadmap to success. Best of all, migrating to Magento 2 allows you to tap into all the benefits of a stronger, faster and more secure platform—benefits that ultimately deliver a strong ROI.
How to Migrate from Magento 1 to Magento 2
If you’re ready to migrate from Magento 1 to Magento 2, to take advantage of all that Adobe now includes in the base eCommerce platform and to deliver on outstanding customer experiences (check out some examples of great Magento 2 websites), we have laid out a simple step-by-step plan (and also a Magento 2 migration checklist) to help you overcome the fear and get started on the journey to a more responsive, agile, scalable digital storefront for your brand.
Although Adobe publicly refers to only “Magento Open Source” now, for the sake of clarity in this post, we will refer to “Magento 1” and “Magento 2” when necessary, to help clarify the process of migration.
1. Assess your Magento 1 store
Step 1 is to take stock of where you are, where you want to go, the potential risks involved in the migration, and a general sense of budget and ideal launch time. Although the timeline can vary, allow around 3 months for the migration.
Examine current extensions
Determine which extensions are now a part of the core Magento 2 platform and which require a more recent version of that extension or an alternate service from the marketplace. Verify if any extensions have database assets that must also be migrated.
Examine customizations and integrations
Establish the current level of customization of the core Magento program: what functionality have you built, what integrations do you have to internal systems or data, and what shifts will need to take place during the migration to remove or alter these. It is typical for websites to need fewer customizations on Magento 2.
Review themes
Magento 2 themes deviate from Magento 1 themes, using new approaches and technology, resulting in greater mobile responsiveness and performance. Themes built for Magento 1 should not be migrated to Magento 2. This is a great time to reassess your user experience and determine how to take advantage of new capabilities of Magento 2.
Map and clean data
In order to prepare for the migration to Magento 2, you need to have a clear understanding of all your data and take steps to prepare it for migration.
- Map data: to know where data is coming from and where it needs to move to (choose to retain or alter the structure and data format)
- Clean data: to remove duplicate or outdated data
Perform SEO assessment for the store
Benchmark the current search engine optimization (SEO) position with an SEO assessment using tools such as Semrush, Google Analytics, and your Google Search Console. Examine:
- Top landing pages (page views / sessions) and keywords
- Run crawl texts to see the status of SEO and what efforts will need to be made during migration (e.g. optimize on-page SEO with greater product details or metadata, alter the URL structure, fix 404 errors). Assess if the page still serves a purpose.
- Robots.txt file to see warnings, errors, last time crawled
- Create a store URL redirection plan (if needed)
2. Set up Magento 2
Set up Magento 2 (the latest version) on your server in a local development environment, ensuring your hosting environment meets the detailed system requirements, including PHP (see required PHP settings), Apache or NGINX (min 2GB of RAM), MySQL and a search engine (we suggest OpenSearch).
- Download Magento Open Source directly from GitHub or with Composer (recommended).
- Create a database on the same MySQL server as the Magento 1 database (establish a replica of your Magento 1 database). Note, you can choose to alter the data structure and data format, but take note of these changes as they impact migration.
- Upload Magento using FTP or the File Manager (easier, will trigger an install wizard)
- Customize your store (URL, time zone, currency, language)
- Create an admin account
- Complete the install Magento 2 (Magento Open Source)
3. Back up Magento 1 store data
Before you get started, it’s critical to back up your data to allow you to restore the database if migration is not successful. For smaller sites, data migration from Magento 1 to Magento 2 may be as simple as using CSV files, while larger sites data migration can be a time-intensive project involving complex back-up and/or import / migration workflows using APIs.
Backups are stored in the var/backups directory of your Magento file system. You can run backups from the command line or using the system interface, going to System > Tools > Backups.
4. The Magento 1 to Magento 2 migration process
In order to validate your migration process, run through data migration first in your staging (testing) environment, then move to your production environment.
Migrate themes
You can use the standard “Luma” theme for a traditional / coupled infrastructure, examine alternative themes in the Adobe marketplace, or create a custom theme using the “Blank” theme as a basis. Regardless of your approach to the process, the first step will be to apply a new theme before deleting the old Magento 1 theme.
Migrate extensions
Update extensions or switch to new extensions, as determined earlier. If extensions create data in the storefront database, capture these in the Data Migration Tool config files (see below). If the extension has its own tables, these will need to be tracked separately following instructions here.
Migrate customizations & integrations
If Magento 2 connectors are not available, custom integrations may be needed. Develop new or modified code to support any remaining needed customizations for Magento 2, referencing Adobe’s PHP Developer Guide. Adobe also offers advice on how to map configuration files to Magento 1 store configurations here.
Migrate data
The last stage of any migration is the data migration, which we’ll go into in depth using the Data Migration Tool provided by Adobe.
5. Download and install the Data Migration Tool
Adobe provides a Data Migration Tool to transfer data from Magento 1 to Magento 2. This command-line interface (CLI) tool verifies database structures (tables and fields), tracks progress, generates logs, and runs appropriate data verification tests to ensure the process works as expected.
The Data Migration Tool shares the same system requirements as Magento 2, ensuring you have the appropriate tool for the version of Magento (e.g. Magento 2.4.7 requires Data Migration Tool 2.4.7). After meeting prerequisite conditions for the tool, either:
Download the tool from GitHub and enter the following commands in the application root directory:
<code>composer config repositories.data-migration-tool git https://github.com/magento/data-migration-tool</code>
<code>composer require magento/data-migration-tool:<version></code>
Note: <Version> must match the version of the Magento 2 codebase.
Download the tool from repo.magento.com and update composer.json to provide the location of the tool package:
composer config repositories.magento composer https://repo.magento.com
composer require magento/data-migration-tool:
6. Configure the Data Migration Tool
Before starting, you can adjust the Data Migration Tool in case some data doesn’t need to be migrated or if you need to convert customizations as part of the migration. The following directory contains mapping and configuration files in Magento 2:
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/opensource-to-opensource: Configuration and scripts for migrating from Magento Open Source 1 to Magento Open Source 2
You will then configure the Data Migration Tool to set access details to the Magento 1 and Magento 2 databases and encryption key. If you have customizations, this is where you would map them, which can include:
- Changing table names
- Changing field names
- Ignoring tables or fields
- Adapt transferring data of a field to Magento 2 format
You can configure the tool in one of two ways:
- In a separate module (recommended, necessary for source control) following the instructions from Adobe here.
- In the above /etc/ directory
Before data migration, you must also create a config.xml configuration file from within the application server as the file system owner, changing this directory:
cp config.xml.dist config.xml
Entering this command to create the config.xml file, double checking that the file contains a value for the encryption key.
<source>
<database host=”127.0.0.1″ name=”magento1″ user=”root”/>
</source>
<destination>
<database host=”127.0.0.1″ name=”magento2″ user=”root”/>
</destination>
<options>
<crypt_key />
</options>
For added security, you can alternatively use the TLS protocol and add SSL attributes to the database element. Within the config.xml file, you can optionally make data format and structure changes:
- Url Rewrite Step
- OrderGrids Step
- EAV Step
- Custom Step – to make major data format and structure changes
For further details, refer to the Data Migration Tool Technical Specification.
7. Start the Migration
The Data Migration Tool will split migration into three modes or set of operations, each including steps to validate, transfer and verify the data:
- Settings Mode: migrates the system configuration and website settings
- Data Mode: migrates database assets
- Delta Mode: migrates incremental changes (anything since the previous run), to ensure you have complete accuracy over customers and orders when the final switch over occurs.
When you are ready to migrate, run through the following pre-migration checklist:
- Stop all Magento 1 cron jobs.
- Stop all Magento 1 Admin Panel activities (except order management). These will resume only when you’re live on Magento 2. Magento 1 storefront operations are allowed, with updates adjusted in Delta Mode.
- Stop all Magento 2 Admin and storefront changes.
- Stop all code modifications.
- Ensure that the Data Migration Tool has network access to both Magento 1 and Magento 2 databases.
Next, begin the migration:
-
- Use the Data Migration Tool to migrate settings and websites (Settings Mode)
Note: Settings migration does not capture timezone settings. These will need to be manually set at Stores > Configuration > Locale Options > Timezone.
- Migrate media files, which is done manually from the magento1-root/media directory to magento2-root/pub/media.
- Use the Data Migration Tool to migrate data from the Magento 1 database to the new Magento 2 database (Data Mode). Use the mapping files in the tool if extensions have different data structures
- Perform other manual migrations of storefront design (theme migration), admin user accounts, access control lists (ACLs).
8. Modify the migrated data
Once migrated, you have the opportunity to add new CMS pages or adjust catalog structures or sales rules—however, any manual changes may make incremental data migrations (Delta Mode) more difficult and add delays to completing your Magento store.
If you have data changes that have occurred during this period that reflect storefront activities (orders, customers), this is also the time to capture those incremental updates using the Data Migration Tool in Delta Mode.
9. Launch
After you have verified that everything in your store is working as it should, you’re ready to go live. This will potentially cause downtime in your store, so choose a time that minimizes impact on your customers.
- Put Magento 1 in maintenance mode
- Press Control+C in the Data Migration Tool command window to stop incremental updates
- Start Magento 2 cron jobs
- Flush all Magento 2 cache types
- In System > Tools > Cache Management, either Flush Cache Storage (bin/magento cache:flush) or Flush Magento Cache (bin/magento cache:clean)
- Reindex all Magento 2 indexers, which is a special table used by Magento 2 to help render catalog pages quickly. This process should be repeated any time you add or change product attributes or other merchant data, you’ll need to reindex some or all indexers. You can do this via the command line (running “bin/magento indexer:reindex”) or via the Admin:
- Go to System > Index Management > Indexers (you will see “Reindex Required”) > Actions > Update on Schedule
- Change DNS and load balancers to point to the Magento 2 production hardware
Congratulations, you’ve made it! We hope these migration steps were helpful.
Magento 2 Case Study
Global retailer Legend Footwear approached us, they were experiencing a number of optimization challenges with their Magento 2 implementation. Sub-optimal loading speeds on desktop and mobile, verified on GTMetrix, were causing a failure to both index and rank on Google, low engagement rates by mobile users, and a high cart abandonment rate.
Net Solutions was brought in to assess and remediate the problem, including:
- Using more efficient programming techniques and configurations to reduce the number of HTTP requests
- Reduced the server space and installed the Varnish cache to enhance web speed
- Fix catalog indexing issues
- Switched to an instant checkout process with integrated payment gateways
- Optimized images through compression
- Made the website more responsible for mobile users
As a result, Legend Footwear increased website speed overall, increased their engagement rates with mobile users (their primary target), and reduced checkout time by 80%.
Should you consider Adobe Commerce instead?
If you are a large enterprise or global client still on Magento 1, before taking the leap to Magento 2, you should take a hard look at the licensed Adobe Commerce products, which significantly improved upon by the Magento 2 core with additional features, capabilities and composable services. Adobe Commerce is available on-Premise or on Cloud (Adobe Commerce Pro and Adobe Commerce Managed Services).
Adobe’s continued investment in the platform has made them the seven-time Leader in the digital commerce space for delivering personalized B2C and B2B experiences at scale. Learn more about Adobe Commerce vs Magento Open Source to see which may be right for you.
How Net Solutions Can Help With the Migration
We hope that the above step-by-step migration guide has been helpful in reducing the fear around migrating to Magento 2. However, we acknowledge that for some brands, the obstacles to migration can be higher, requiring significant development resources to re-theme and re-architect a highly customized implementation. For others, migration is a great opportunity to go back to the drawing table on user experience, design, and performance goals, requiring an experienced Magento development company.
Thankfully, the Net Solutions team of Adobe certified developers have extensive experience in working with Magento and in helping global brands not only make the transition to Magento 2, but do so in a way that fully realizes the benefits of the new platform capabilities and extensions, while also navigating any needs for customization.
To help you on your way, we’d be happy to speak with you directly to help you get clarity on your project and offer a no-commitment project scope.
Frequently Asked Questions
1. How much does it cost to move from Magento 1 to Magento 2?
The average enterprise migration cost is between $25,000 to $500,000, according to an eCommerce platforms report; a Magento 1 to Magento 2 migration would likely fall on the lower spectrum, since Adobe has provided helpful tools to assist.
2. What common problems occur when moving from Magento 1 to Magento 2?
The most common Migration 1 to Magento 2 problems include theme incompatibility, difficulty finding extensions, lack of adequate testing of system and extensions, inadequate SEO strategy to understand the impact of URL rewrites, unexpected amounts of downtime (with experience, this should just be minutes), or cost overages. The best way to avoid these unexpected problems is to work with an experienced team of Magento experts.
3. What is the expected timeframe for migrating from Magento 1 to Magento 2?
The average migration takes about three months once a roadmap has been established, allowing ample time to create new templates, add custom code, implement new features and capabilities, start with a dry run, and move into production. The experience of your development team or partner can have a large impact on the project timeline.