Since Magento 2’s release in 2015, thousands of online merchants have considered migrating their Magento 1 stores to a new platform, At the time of it’s release 3 years ago, Magento 2 was still a bit raw and buggy, only the bravest came forward with the courage to replatform.
More cautious users decided to wait for some of the newness of the platform to wear off, when bugs were fixed and finishing touches were added. With the release of Magento version 2.2 their patience has rightfully been rewarded. Magento 2.2’s platform has increased business-to-business capabilities 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 the migration process, how it’s handled, and what information you should prepare 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 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.
In the context of moving the entire setup from Magento 1 to Magento 2, that term is migration.
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 have different technological stacks, so all the customized elements (extensions, design, code) will be impossible to migrate. This means 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 what is essentially a default Magento 1 website with minor customization.
To begin with, a website audit should be made, allowing the development team to make a list of every customized extension, file, and template that needs to be migrated. They will also be able to investigate the database and how these customizations influenced it. After all, this is the most important – a database information we are hunting for during migration – things like 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. The technological differences between the 2 platforms are substantial and it may take your people a considerable amount of time to adjust and follow the new standards. You should also bear in mind that this “education” step can reduce the need for future support if the Magento 2 website is to be developed by inexperienced developers.
At this point the audit phase should be completed, so we’ll move on to the next steps.
Migrating Magento design
The next step will be a serious website customer perception decision. Are you going to migrate your existing design, choose 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, will the return for it justify the investment?
Migrating the existing design
The next step is design, do you migrate? Or start from scratch? Migrating the existing design, 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 with you, you’ll need something fresh, stylish, and tailored to your personal vision. In the same way you can’t take your old wallpaper with you, even if it’s something you really like, you can choose to have the same wallpaper pattern installed in your new apartment. If 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.
Migrating your current design meansthe design creation phase can be eliminated, but it will certainly take some time for your frontend developers to re-develop the theme on the new platform.
Using a ready design theme
On the one hand, using a ready-made design theme gives you the option to create a great looking Magento 2 store at a fraction of the cost. However you should pay careful attention when choosing the theme dealer.
At the moment, there are only a handful of reliable ready-made themes for Magento 2 on the market, and as all ready-made solutions they have a number of downsides to consider. Costly customization in the future, hardcoded elements, their predefined behavior (like sliders, tabs), no SEO, poor stability, and overall performance.
The custom design phase is a golden opportunity to analyze your current UI\UX design dearths and improve them.
According to Thomas digital, the average lifespan of a website design is about 3 years.
Technology changes quickly and so do the rules of internet marketing. Things like 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 will most likely develop a custom theme based on a default Magento 2 theme, taking into account all your preferences.
Custom designs including mobile versions will take at least a 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 have a high return as custom Magento stores offer greater control, flexibility and scalability.
Once the design has been meticulously planned, we can go to another section of Magento which 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.
The good news is that there are lots of analogue extensions on Magento 2. While some might not be available, they’re usually those with very specified domain extensions, in which case developers can create those for your Magento 2 store from scratch (but this existsas 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 of which option you choose, you need to install all the modules before the data migration as they add attributes to the data.
Check out in our case study, where we told how we executed a data migration from the old version of the marketplace with all roles and entities to the new one on Magento 2.
Magento Data Migration Tool
Data Migration Tool the official migration tool from Magento 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 an experienced development team they should consider this tool which should aid in about 99% of 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
Your development team creates a custom module that migrates data from Magento 1 to Magento 2. Creating such module from scratch is time consuming and prone to errors, especially if it’s used to migrate large amounts of data. Not to mention how much time the team is going to spend on mapping the transferred files from the Magento 1 database to Magento 2, plus analyzing database structure and approving which data should and should not be migrated.
Migration through export/import of files
There is an option to export your data sets in different formats (like CSV) from the Admin Panel, and the same ability to import those into a new database. But this option is suitable mostly for product migration as to do this you need to create their attributes in the Magento 2 Admin Panel first.
External migration tools
These can be tricky, some will charge you depending on the amount of data you’re migrating. Others corrupt data while migrating, and as your development team won’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 possibility that the 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 with zero official support, but a strong Magento Community artillery behind it, and tons of 3rd-party extensions to scale up the basic functionality.
Meanwhile Magento 2 Commerce version is designed for larger businesses and has a monthly fee based on store revenue. This version has official Magento support, and many 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 that aren’t included in the OpenSource edition. To find out more about Magento 2 editions, read our article “The Difference between Magento OpenSource and Commerce Editions”.
Migration from the 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 though the migration process from Magento 1 to Magento 2 doesn’t stop with the data migration; we wish it did!. Your QA engineers will then 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.