Today, there are more than 240,000 online shops that use Magento 1 which is a PHP-based open-source eCommerce platform. This platform is popular for its flexible shopping-cart system. It enables users to have greater control over the content, appearance and functionality of the online stores. Magento 1 is thus a useful tool for creating e-commerce stores. However, it is time for the Magento users to consider migrating to Magento 2 because the Magento team will end support for the Magento 1 users by June 2020 and users will not receive security updates or official patches. Therefore, it is the right time for Magento 1 to Magento 2 Migration.
Top Reasons For Magento 2 Migration
Staying updated by using the latest software solution is why Magento 2 migration is necessary. However, the latest version of Magento 2 also brings several advance features for users.
- It has an intuitive Admin interface.
- Magento 2 has upgraded its solution stack or data ecosystem. Therefore, PHP 5.5 has become the minimum supported version and CSS3, HTML5 and MySQL-5.6 have now become standard.
- Home page, product page and category page will load faster as Magento 2 has a built-in FPC (Full Page Cache). It provides support for varnish cache also.
- Magento 2 uses composer to control the installation of various modules. It is easier to customize the features with separation of presentation logic and business logic.
- Magento 2 also has clean and modern coding.
- Installing upgrades and patches has also become easier with Magento 2. Hence, users can easily receive the latest functionalities and update product features.
- Magento 2 has been fitted with advanced automated test strategies. Hence, web-developers can write test-cases to ensure that customizations have not disrupted the main functionalities.
- Magento 2 can instantly generate targeted results with effective search option.
- It is possible to increase AOV (Average Order Value) when using Magento 2 as it is easier to set up upsells, cross-sells and bundling features.
- Magento 2 has a built-in B2B suite with Price Negotiation and advanced reorder extensions. It is also possible to create shared catalogues with custom pricing for various companies using this suite.
Five Steps of Magento 2 Migration
There are 5 steps to complete the Magento 1 to Magento 2 Migration successfully. However, it is important to correctly select the hardware and software applications, as Magento 2 does not run properly on the outdated software application. The following software applications and hardware ensure smooth performance.
- 2GB RAM (minimum)
- 24GB+ Solid State Drive
- MySQL: 5.6/5.7
- MariaDB 10.0/10.1/10.2
- Percona 5.7
- PHP: 7.0.13+/7.1.x
- PHP extensions – bc-math, iconv, ctype, curl, PDO/MySQL, dom, intl, gd, mbstring, hash, mcrypt, openssl, Soap, SimpleXML, Spl, Libxml, Zip, Xsl, Json
Step #1: Stock M2 Installation
The Magento 1 to Magento 2 migration starts with the installation of the latest version of Magento 2 software.
The software is installed on the basic Virtual Private Server (VPS) which has at least 2G-RAM and 24G of SSD space. Magento 2 has nginx.conf.sample and a premade configuration file. Hence, it is easier to pair it with Nginx and PHP-FPM 7.1.
A ‘Readiness Check’ is performed to make sure that all necessary PHP extensions are available. If all PHP extensions are present, then Magento 2 software is installed using an ‘Install Now’ button. A ‘Success’ message appears upon completion of the installation process. The process of data migration starts (from Magento 1 to Magento 2) after the installation.
Step #2: Data Migration
The Magento Migration Tool (MMT) of Magento 2 simplifies the process of migration due to automation. However, it is essential to have SSH (Secure Shell) access to complete the migration. The access can be obtained from either the hosting support team or the system administrator.
The MMT is installed from ‘repo.magento.com’ using ‘Composer’ which is an application-level ‘package manager’ software application for PHP. The following commands start the migration process.
composer config repositories.magento composer https://repo.magento.com
composer require magento/data-migration-tool:2.3.0
These commands need to be run in a Magento 2 folder. In the second command, 2.3.0 notifies the M2 platform version. The command needs to be changed accordingly if the data is being migrated to a different version.
The system asks for ‘Authentication Keys’ after running the Composer. These keys are available through ‘My Profile’ on Magento Marketplace website.
You may select the Access Keys available through My Products menu or may create new Access keys. The Public Key is used as the username and the Private Key is used as the password.
The ‘Data Migration tool’ can be installed after entering these data and this tool is configured after installation. It is performed through Root Folder of Magento 2using the following directory.
The 188.8.131.52 identifies the Magento-1 version. You may substitute it with your website’s Magento-1 version. If you migrate data from Community Edition to Commerce edition, then the ‘opensource-to-opensource’ command changes to ‘opensource-to-commerce’ command.
You can find the ‘code block’ after opening config.xml and enter the database credentials of Magento-1 and Magento-2. The ‘M1 crypt_key’ remains within the ‘app/etc/local.xml’ file inside the ‘root folder’ of earlier website.
The Data Migration tool is used for the migration of settings, such as websites, system, stores and configurations (tax settings, payment, shipping etc.), from Magento-1 to Magento-2. You have to enter the Magento-2 ‘Root Directory’ through SSH terminal in order to migrate the settings. The following command is used during the migration.
php bin/magento migrate:settings vendor/magento/data-migration-tool/etc/opensource-to-opensource/184.108.40.206/config.xml
It is essential to mention the correct path to the config.xml. A message is displayed after a successful migration.
At the final stage of data migration, orders, products, customers, ratings, wish-lists, categories etc.are migrated from Magento 1 to Magento 2 website using the following command.
php bin/magento migration:data –reset
The customers do not lose the password (saved on the website) and account information despite migrating the data to Magento 2 due to the ‘Customer’ migration. However, it is essential to ensure that the customer data remain intact during migration via the following steps.
- Ensuring consistency between the database structures (fields/tables) of Magento 1 and Magento 2.
- Tracking the status of data migration and creating log files.
- Performing data verification tests.
The customers and admin can see the previous orders on the Magento 2 website along with the orders that need to be fulfilled due to completing the ‘Order’ migration. The orders become automatically synchronized with the respective customers.
A complete ‘Category tree’ can be migrated to Magento 2 through Catalog migration. It is reviewed after the migration to make sure that it matches the category-tree from the previous website. All product information and images are transferred to the upgraded website.
- Product name
- Product description
- Prices/special prices
- Categories of all products
- Product images including Swatches and Thumbnails
This is the final stage of data migration. All CMS pages and CMS blocks are transferred from Magento 1 to Magento 2 through this migration.
- The Magento 1 database is cleaned through the removal of inactive/unused CMS pages or blocks.
- Useful blocks/pages/widgets are migrated.
- The XML format that is used for layout is different in Magento 1 and Magento 2. Hence, all types of content with custom-layout updates are manually fixed during the CMS migration.
- The final migration is performed before launching the Magento 2 website.
Step #3: Theme Migration
It is essential to ensure that the Magento 1 theme is compatible with Magento 2 version before starting the Theme migration. It is possible to install the same theme in Magento 2 if it is compatible. However, if the theme is incompatible, then you have two options during migration.
- You can install a Magento 2 theme after purchasing it from Magento Marketplace.
- You can create and install a custom theme in Magento 2.
Step #4: Migrating Extensions
It is important to make sure that the extensions used on Magento 1 are compatible with the Magento 2 version before starting the migration.
- The compatible extensions can be added directly to Magento 2.
- New extensions need to be added if the previous extensions are incompatible.
Step #5: Extensive Testing
It is crucial to thoroughly test all the features of Magento 2 website before launching it. You have to make a list of all the features present on the Magento 1 website to ensure complete migration of the features.
- It is essential to make sure that all payment methods are functioning properly.
- It is equally important to test the performance of all complex shipping setups.
You may spot numerous mistakes when testing a Magento 2 website after migration and before going live. It enables you to develop a stable, user-friendly and profitable shop.
Magento 2 Migration Checklist
It is essential to perform the following tasks before starting the Magento 1 to Magento 2 migration.
- Create a backup of the entire Magento 1 store including the database, files and folders.
- Make a clone of the Magento 1 website. It is prudent not to use the live store for migration.
- It is important to transfer the data from the cloned database of Magento 1 store.
- Make sure that the current extensions, themes and custom codes are compatible with Magento 2.
- It is essential to remove all useless/outdated data before starting the migration process. The list of useless/outdated data may include logs, compared products, recently viewed products etc.
It is true that Magento migration from 1 to 2 is a time-consuming task. However, it is possible to complete this task with little downtime if you plan properly and pay attention to the details. It is equally important to test every part (checkout, product management or customer registration) of the Magento 2 store before going live to make sure flawless performance. It is prudent to put the new website under a simulated volume of traffic for load-testing. The Magento eCommerce Experts may help you for successful Magento 2 Migration of your magento store. Feel free to contact us for such technical migration stuff or version upgrade.
For example, a Magento 1 store may be visited by 50 people within a minute. In this scenario, you may use simulated traffic to test the performance of a newly developed Magento 2 store.
- You can determine if the new website is functioning properly or becoming slow.
- You can also determine if all functions are working properly within this period.
- You can ensure if visitors can check-out without experiencing any difficulty.
You can make a DNS switch once the migration is complete to launch the Magento 2 store for better user experience.