Magento 2 Upgrade
Magento 2 is a fresh start¶
From a user perspective, Magento 2 is very similar to Magento 1. And it is - it has the same Product types, categories, orders, credit memos, CMS content, payment methods. They've gone to a lot of effort to keep the user experience familiar.
But behind the scenes they've massively overhauled the way it generates that experience. Magento 1 was released over 10 years ago, which in terms of the web is an age. So when they started developing Magento 2, they wanted to make sure it would keep pace with other modern platforms.
A couple of simple examples of how things have changed are:
- Customising core functionality
- Magento 1 allowed extension to replace bits of core functionality, but only by one extension at a time
- Magento 2 introduced "Plugins" whereby multiple extensions can apply their own customisation to one piece of core functionality
- Frontend themes
- Magento 1's theme assets were stored in a specific folder which were loaded by the browser directly
- Magento 2's theme assets are collected together into a publicly accessible folder where they can be optimised for speed
These are a couple of small examples, which should give you an idea of why a Magento 2 upgrade is such a significant step.
Three items to migrate¶
There are three top level items you'll need to consider when migrating to Magento 2:
- Extensions - any extensions that provide custom functionality will need to be redeveloped for Magento 2. Off the shelf extensions often, but not always. have Magento 2 equivalents.
- Data - your products, orders, customers, and crucially any data specific to your custom extensions. Magento's Data Migration Tool handles standard data quite well, but anything non-standard will need to be set up to be migrated
- Theme - you'll need a new theme for Magento 2 as the themes used on Magento 1 can't be migrated. See our Themes page for more on this.
Start with a Prototype¶
Magento's migration tool does a good job of migrating the default data sets - products, customers, orders etc, the question comes in with how much non-standard data you have.
Because it's difficult to give an idea of how long a Magento 2 upgrade will take with your specific setup, we start with a Prototype upgrade. This means running Magento's Data Migration tool against your site, migrating only the standard data. This will give us a better idea of what pitfalls there might be, what custom data we'd need to think about, and which extensions might be relevant.
We can use the information gained from the Prototype phase to give a better idea of how well the real upgrade would likely go.
To give an overview of how we'd take your Magento 1 site and migrate it to a fully built, ready to go live Magento 2 site, you should keep the following process in mind.
I'd caution that this makes no allowance for custom functionality and is based on Magento's tool migrating the default data set successfully. In reality I would highly expect there to be some customisation needed either during or after the migration and would consider it possible for the project to be at least double inthe amount of work once we consider custom data and functionality.
This stage is a fact-finding process to establish how we think a migration will go with your store
- Set up a development environment and install a fresh Magento 2
- Install the data migration tool to your Magento 2
- Configure the data migration tool
- Perform the Prototype Migration, giving you a clean Magento 2 with the default content - products, orders, customers
Custom Data Stage¶
Here we deal with all the custom data particular to your setup. It's the longest stage, and involved lots of rebuilding of the new Magento 2 store
- Establish what custom data exists in Magento 1
- Decide which custom data you need migrating to Magento 2
- Configure the Migration Tool to migrate the data you need to migrate
- Set up customisation scripts to configure Magento 2 according to your store
- Customise the Magento 2 blank theme (this will vary based on what you'd like to be customised)
Ongoing Update Stage¶
Once the custom data stage has been completed we'll need to keep things updated as your live Magento 1 store accrues new orders, products etc
- Continually run data updates (called deltas) to bring in the live site's new data to the migrated Magento 2 database
Once we decide the new Magento 2 site is ready to go live, make preparations
- Ensure your hosting environment is set up for Magento 2 (this could vary based on your hosting setup)
- Set up a new hosting environment for Magento 2
- Run a real migration on live