Since Magento 2 release in 2015 thousands of online merchants have considered migrating their Magento 1 stores to a new platform,but at that moment, 3 years ago Magento 2 platform had still been raw and buggy and only the bravest took courage to replatform.
More deliberate ones decided to wait for platform to be put the finishing touches on, and with the release of Magento 2.2 version their patience has been rewarded. Magento 2.2 platform business-to-business capabilities were improved because of better performance speed, stability, security and the number of significant updates like
- accelerated page load times with the help of Varnish Cache
- indexes running in batches in the background allowing customers to buy online without any slowdowns
- ability to add/manage up to 300 products to a single shopping cart at once
- automatic anti-fraud measures to sell products online more safely
- addition of hashing algorithm for better security of users information
Let us merit a closer look at migration process, how it’s handled and what information you should have prepared before giving a green light to migration.
Don’t upgrade it – migrate it!
First of all, let’s define the term: do we upgrade Magento 1 to Magento 2 or migrate it? The point is the technological stack of these two platforms is so different that even entities inside the database code don’t always match.
Most of Magento developers use the term “upgrade” in the meaning of Magento version upgrade – for instance, from Magento 2.2.0 to Magento 2.2.5.
So, it is more correct to use the term “migration” in the context of moving from Magento 1 to Magento 2 platform.
How long it will take?
To reply the second question, you need to size up the customization of your current Magento 1 store, its complexity and the total number of extensions. As we mentioned above, Magento 1 and Magento 2 platforms technological stacks differ, so all the customized elements (extensions, design, code) will be impossible to migrate – your development team will have to develop them from scratch or find their analogues on Magento 2 and install them if we are talking about extensions.
So, to create a rough estimate, you need to calculate how many hours total were spent on your Magento 1 store development, customization and support, and this will be the starting point for your Magento 2 store.
Pre-migration website audit
Let’s take a simpler example and assume that you have close to default Magento 1 website with some minor customization.
To begin with, a website audit should be made. This way the development team will make a list of every customized extension, file, template that needs to be migrated. They will also be able to investigate the database and how these customizations influenced it. Afterall that’s a database we are hunting for during migration – it contains all your customers, orders, invoices, discounts and other vital data for an online store.
Please make sure your current development team is well-versed with both Magento 1 and Magento 2 platforms. Technological differences of 2 platforms are substantial and it may take your people considerable amount of time to adjust and follow the new standards. You should also bear in view that this “education” can cut the future supportability if Magento 2 website is developed by inexperienced developers.
By far the audit phase should be completed and we are moving forward.
Migrating Magento design
The next step will be a serious website customer perception decision. Are you going to migrate existing design, get a ready-made theme or create a custom one? This is a very important question as it defines the project time and cost – if customisation is required, does the return for it justify the investment?
Migrating the existing design
Talking about migrating the existing design, a new theme will be developed from scratch on Magento 2 platform which will surely take some time – it is not about just copying and pasting code lines.Let’s say if you’re moving to a new apartment, it is not possible to take your old wallpapers off with you – you’ll need something fresh, stylish, tailored to your personal vision. To illustrate the process – imagine that you already have a nice looking design for your current Magento 1 store and you would like it to go untouched for your future Magento 2.
The option doesn’t require the design creation phase, but it will certainly take some time of your frontend developers to re-develop the theme on the new platform.
Using a ready design theme
Using a ready design theme gives you the option to create a good looking Magento 2 store at a fraction of the cost on the one hand, but on the other you should be careful while choosing the theme dealer.
At the moment there are not so many reliable ready-made themes for Magento 2 on the market and as all ready-made solutions they have a number of downsides to put up with: costly customization in the future, hardcoded elements, their predefined behavior (like sliders, tabs), no SEO, poor stability and overall performance.
Creating custom design phase is a golden opportunity to analyze your current UI\UX design dearths and improve them.
According to Thomas digital, an average lifespan of a website design is about 3 years.
Technology changes and so do the rules of internet marketing – mobile first Google indexing, loading speed requirements, integration with mailing services and social media channels, changing stages of your customers’ journey, new animated and video call-to-action-elements, and finally a blog, attracting organic traffic. Are you sure your website is up-to-date?
When you choose a custom design, the development team most likely will develop a custom theme based on Magento 2 default one, taking into account all your preferences.
Custom design including mobile version will take at least couple of weeks to be prepared (better to give your development team 1-1.5 months as there will be several versions of design and some elements can be added on the way). Undoubtedly, this investment will be paid off as custom designed Magento stores return in the form of greater control, flexibility and scalability.
When design part is meticulously planned, we can go to another section of Magento for which it has become world famous – the extensions.
Migrating Magento extensions
If the functionality of your store was extended with the help of Magento 1 extensions, you will need to discuss with your development team which extensions you’d like to migrate to a Magento 2 store.
Good news is that there are lots of extensions analogues on Magento 2. Some might still be missing, but usually those are only very specified domain extensions and in this case developers can create those for your Magento 2 store from scratch (but this goes as a separate cost item).
If we talk about custom extensions – the process is the same as with any customized elements – your development team will have to re-create them from scratch, due to differences in technological stacks of Magento 1 and Magento 2.
Now we’ve reached the most significant part of the overall process – migrating your precious data. As in any development work there are several ways to do it. Below we will show some of the options available. Please note that regardless on what option you choose, you need to install all the modules before the data migration as they add attributes to the data.
Magento Data Migration Tool
Data Migration Tool the official migration tool from Magento company was created to mitigate all the risks of replatforming. At the moment it is the best possible solution for developers who transfer databases from Magento 1 to Magento 2. It has separated steps, issue logging, mapping and many other features that come in handy for this сrucial and tricky process. If you have experienced development team – they would go for this tool with probability of 99% to implement the migration. The solution comes with 2 IFs:
- If your Magento 1 store default entities include any custom attributes especially if we talk about complex functionality such as configurable or bundle products, your development team will have to customize the migration tool which will take additional time.
- If there were custom entities developed on your Magento 1 store, it will be not possible to migrate them via this tool, only re-develop from scratch.
Migration of database through a direct script
Development team create a custom module that migrates data from Magento 1 to Magento 2. Creating such module from scratch is time consuming and vulnerable for errors, especially if it’s supposed to migrate big amounts of data (not to mention how much time the team is going to spend on mapping the files transfer from old Magento 1 database to a new Magento 2 one, analyzing database structure and approving which data should be migrated and which not).
Migration through export/import of files
There is an ability to export your sets of data in different formats (like CSV) from Admin Panel, and the same ability to import those into a new database. But this option is suitable mostly for products migration as to do this, you need to create their attributes in Magento 2 Admin Panel first.
External migration tools
These can be tricky, some take charge depending on the data amount. Others corrupt data while migrating and as your development team don’t have direct access to the flow it’s really hard to understand what was broken and when. However, if your Magento 1 store was really close to default one, there is a probability that migration process will be smooth.
Choosing Magento 2 edition: OpenSource or Commerce
The last point but not the least is in Magento 2 OpenSource and Commerce. Those 2 platforms are created by the same company but their business goals are different. Magento 2 OpenSource suits small and midsize businesses and has zero official support,but a strong artillery of Magento Community behind them and tons of 3rd-party extensions to scale up the basic functionality.
Meanwhile Magento 2 Commerce version is designed for greater sized businesses with monthly fee based on store revenue. This version has official Magento support, more features out of the box (if compared to OpenSource edition). For example, such features as Elastic Search, Bluefoot CMS, Magento Order Management and Magento Shipping are default features for Commerce but they are not included in OpenSource edition. To find out more about Magento 2 editions, read our article “The Difference between Magento OpenSource and Commerce Editions”.
Migration from Magento 1 to Magento 2 platform is a good opportunity for you and your development team to optimize your Magento store architecture and stop using the Magento 1 implementations that haven’t proven their value.
In our experience, the migration process from Magento 1 to Magento 2 doesn’t complete with the data migration (we wish it did!). Your QA engineers will apparently need some time to test-drive the new platform and iron out any issues in the foreseeable future.
Have any questions left? Don’t hesitate to drop us a line in the contact form below.