Why is it Worth Upgrading from Magento 1 to Magento 2?
How do you estimate the scope of work and bring the Magento migration to actually end on the planned date? And if you are a business owner, how do you prepare yourself for this challenge?
This article will shed a light on how to stay sane in a hard time of upgrading, migrating and introducing major changes. The main focus, of course, is on the star of the show, Magento 2.
Why is it worth to upgrade to Magento 2?
But first, why is everyone so obsessed with Magento 2? Is this all just because of the fancy backend design and marketing promises? Here are the arguments for those who believe Magento 1 works just fine and there is no room for improvement. Numbers, new features and facts about real benefits to the business are just a few of the factors to consider.
Magento 1 will be gone soon
Official support for all Magento 1 versions will subside by June 2020. Magento has pushed back this date many times but they mean it this time. Magento 1 will be ‘over’ for both community and enterprise editions and without official support and security guarantee the Magento 1 websites will have their PCI compliance withdrawn. Therefore, no business will stay sustainable using Magento 1.
Better customer experience combined with faster performance
Customers expect a website to load within ten seconds. Any time above that mark is not sustainable for online retailers. Research shows that 34% of customers will not wait for that long.
Magento 2 has an updated Admin Panel that makes it easier and faster to manage the products and orders. There is Varnish page caching already integrated for better performance right out-of-the-box.
The requirements and conversion rates differ for every store. The order and product management and the checkout are different in Magento 2: the databases for each of them can be tuned to a specific load level.
Higher conversion rates and growing sales
Magento 2 stores are easier to buy from on every device or any screen resolution. The features worth upgrading are:
- Previews for all site changes made in the Admin Panel.
- Better search results, granted by Elasticsearch.
- Responsive design to cater to the needs of mobile users.
- An improvement of product merchandising that allows building in YouTube and Vimeo videos.
- Paypal already integrated into shorter and faster checkout.
- More accessible PCI compliance.
Improved UI and UX for the business users
- Much easier Admin interface for the new employees to learn.
- Drag and Drop functionality for orders, customers, and products.
- A new and intuitive way of editing and creating products.
- Importing and exporting of products for cross-selling and up-sell opportunities.
More efficient and flexible customization for developers
Magento 2 makes the work of the developers more flexible and opens up new opportunities for customization.
- New campaigns, market strategies, and product lines.
- Improved layout framework and theming.
- Faster QA operations due to automated testing.
- The upgrading process is easier to make new functionality available.
Compare store conversion and implementation to a desired Magento 2.x version
It may seem that you remember everything about the store you are working with, but when it comes to the estimations or real-time frames for the migration or an upgrade, it is easy to miss details that influence the final result. It is vital to inform the team of developers that will work on migration on every feature the owner wants to have in the upgraded store.
Get everything there is to know about the migrating store into a systemized piece of information you can refer to if needed. Here is the table that is useful for both merchants and developers, that can help you define at what point this business is technically.
|Size of the business||Small||Medium||Enterprise|
|Store characteristics||Store based off standard Magento features||More than 1 site, slightly customized UX||More than 2 sites with multiple integration and heavy customization|
|Channels engaged||B2C or B2B only||B2C or B2B, or both||Multiple channels|
|How many sites the store has?||1||Up to 3||3 and more|
|How many extensions are installed?||Up to 5||Up to 10||10 and more|
|How many integrations with other platforms the store has?||1-5||More than 5||More than 10|
|Which data types will be migrated||Basic data like customers, catalog and orders||Basic data types + minor customizations||Basic data types + major customizations like custom product types|
|The level of migration complexity for the store||Simple (1-3 months)||Medium (3-4 months)||Complex (3-6 months)|
After the approximate picture is clear, it is time to do three more steps towards a painless migration.
- Choose a new Magento 2 design template. Even if the old template works great and seems to be the best option, let it go. The themes for Magento 1 are not compatible with Magento 2. You will lose a lot of time on trying to copy it for the new version, while Magento 2 themes are responsive, out-of-the-box and perform well with built-in SEO tools.
- Spend some time on investigating extensions that are installed now. If there are no Magento 2 versions of what is used, you can find an alternative or explore other possible features on Magento Marketplace and its alternatives. Most extension developers are already investing their efforts into Magento 2 development, so there are more options not only to upgrade what you have but to purchase new functionality. For example, you can find some must-have modules for sales motivations and better store administration at NEKLO Store.
- Consider the timing according to the business schedule of the store (for example, planning an update on a holiday season is irrational) and notify the parties that can be affected by the store temporarily working: customers, partners, suppliers, etc.
- Consult a professional before performing ANY technical changes. If you are not a Magento developer yourself, get yourself one to review your migration plan. There is no need to put a whole business to the risk because of a small mistake. You can always request a consultation, help with your planning and performing migration as many Magento development agencies offer a migration service.
Create a migration plan
Migration to Magento 2 will inevitably take a lot of time and money. To make migration period bearable, affordable and feasible; have a plan ready. Magento itself released an extended Magento 2 Upgrade Checklist with a full plan, and here it is in a brief form:
Scope planning (determining what elements of your store will transfer to Magento 2)
- Consider your timing: plan a start date and milestones for other parts of the plan.
- Write down what UX features will be migrated or added, like mobile compatibility.
- Revise the requirements for the data that will be converted: content, customers, products, etc.
- Document every customization that is involved in customer experience.
- Note down every extension used in the store.
- Note down all necessary integrations for payments, taxes, logistics, etc.
- Define the current numbers and KPIs of the store: conversion rate, site traffic etc.
Budget planning (noting every obligatory and possible expense)
- Platform setup/implementation.
- Custom development/integration, like customer experience improvements and extension installation.
- Quality Assurance.
- Licensing and hosting costs.
- Further ongoing support.
Deployment planning (preparing the development team and the project)
- Create a timeline for implementation, based off of the points of scope planning.
- Have a communication plan ready, for both customers and the team, regarding the migration: who, when and how.
- Have a plan B, in case a migration goes wrong and there is a need to reestablish the store.
Post-deployment planning (getting the store back on track)
- Revise the key metrics: conversion rate, orders, traffic, etc.
Turn to the official upgrade checklist before applying any changes
Before applying any upgrade, whether it is a full-on migration or just a minor patch, make sure you are protected from the most commonplace errors. Magento DevDocs provide an Update and Upgrade Checklist for all existing versions above 2.0, where you can find quite extensive recommendations on how to avoid failures. In short, here are the main tips:
- Make sure that the file system owner group is granted the write access to the directories and files.
- Verify that your cron jobs are working correctly and check all related system messages. Three cron jobs need to be running under the Magento file system owner.
- Make sure you have specific file permissions set according to security requirements.
- For Magento versions 2.2 and higher the checklist recommends to setting a specific data for DATA_CONVERTER_BATCH_SIZE.
Pay attention to the most common errors while upgrading Magento
When the updating process is already on, you have to either be extremely careful or know where to seek help or advice. Here is a compilation of some common update or upgrade errors and their working solutions.
Magento is not installed. According to the error description, it happened while upgrading Magento on one version number up. The installation is stuck and the only tip the console gives out is that ‘Magento is not installed’. The error is located at indexing.
Solution: reinstall Magento.
Magento 2: setup:upgrade / di:compile error. Basically, the user can not install or uninstall any Magento 2 extensions, both by SSH or Magento backend. The error seems to be gone after using bin/magento setup:di:compile command, but the extensions still don’t work as expected.
Solution: installing modules using the command below, and then apply permission to var, pub/static folder, and then proceed to install or uninstall extensions.
|php bin/magento cache:flush
rm -rf var/generation/* var/cache/* var/report/* pub/static/frontend/* pub/static/adminhtml/* var/page_cache/* var/di/* generated/*
php bin/magento setup:upgrade
Invalid Credentials when using composer to update. The error is clear, the full text of it is ‘Invalid credentials for ‘https://repo.magento.com/packages.json’.
Solution: follow instructions at http://devdocs.magento.com/guides/v2.0/install-gde/prereq/connect-auth.html, get a private and a public key, and then use them as credentials. If this doesn’t help, turn to the documentation of the composer to get a new auth.json file, and then use the keys directly by pasting them in.
Magento path being recursive after running bin/magento module:enable command. The error also occurs after bin/magento module:enable –magento-init-params “MAGE_MODE=developer&MAGE_DIRS[base][path]=/var/www/magento2” <module name>.
Solution: this error is a permission one. What you need to do is to run the command on sudo.
Overall, there is a whole branch on the official Magento forum that is dedicated entirely to Magento 2 version upgrades and related issues and questions. Most of the problems stay as unsolved, but there is always a productive discussion going on, and the most viewed and anticipated issues already have a solution.
Complete a testing checklist after the upgrade
After the upgrading and updating are completed, it is early to celebrate: the worst may be far from over. In the first place, make sure the store works as usual. Here is a brief list of things you and the QA Team might want to pay special attention to:
- Main front-end functions related to user experience: products, cart, checkout. Test the entire process as a customer from registration to the shipping and payments.
- Customer actions specific to the store: for example, if there is a sale going on, make sure the discounts or coupons work properly. All the URLs on the site, used on a previous version, should work correctly or be redirected. The same goes for the SEO data, which should be the same or changed accordingly to the updates.
- Admin area: the link shouldn’t be obvious to be secure, and processes connected to products, taxes, and inventory should work as expected. Make sure the latest security patches released by Magento are applied. Consider applying and restoring advanced security features to protect the login process like 2FA. They can be easily configured from an extension like Security Suite.
- Third-party Integrations: extensions, if the store has any installed, and integrations with other platforms like payment solutions and payment and shipping solutions.
- Automated regression scripts and updates: They should be updated according to the changes in the scripts after the upgrade. There may be some old errors left, missed by the developers.
Is something missing from the list?
This article could go on for a few thousand words more, and there still will be points to add since Magento Development is so difficult. It is impossible to predict every issue that can happen, given that the Magento platform is being constantly developed, and most mistakes come from a human factor. The least you can do to experience a pain-free migration to Magento 2 is to be prepared to face the worst, have a plan and stick to it.