Migrate Magento 1 to Magento 2 in 4 steps
Magento has become a worldwide famous e-commerce platform, accounting for 1.2% of users on the Internet, accounting for 1.9% in the CMS market. There are 250,000 Magento users but only 11,000 Magento 2 users.

There will soon be 132,971 stores using the Magento E-commerce Platform at risk of running on an unsupported software starting June 2020. Magento 1.x will round support on June 30. 2020 and those who are not deploying Magento 1 to Magento 2 will no longer receive security updates.

This is the reason that some of our clients and many others have already upgraded to Magento 2 because they understand that a simple upgrade could change their business.

Step 1. Theme Migration

  1. You should check your theme have a version for Magento 2 or not?
  2. If Yes, Great! You can use the same theme in Magento, it can make your work easier.
  3. If No, You can find a theme Magento 2 most look like your website to customize it. This theme can take less your effort to build your Magento 2 like Magento 1. You can find most of Magento theme in Themeforest, Alotheme, marketplace
  4. If You can't find any theme like what you want, you can hire a professional developer to build it for you.

Step 2. Extension Migration

  1. Again, you should check that extension have a version for Magento 2 or not?
  2. If Yes, You can use it for your website.
  3. If No, You can find an extension Magento has a feature as you want and use it.
  4. If You can't find any extension, you might hire a professional developer to build it for you.

Step 3. Customizations Migration

  1. Magento provides Code Migration Tool to help your migration your customizations.
  2. Maybe, you must make some changes to make it work on Magento 2.

Step 4. Data Migration using Data Migration Tool

In this article, We will guide to use the Data Migration Tool of Magento. This step includes data migration of customers, orders, products, store configurations, ... to Magento 2.
Prepare a server support SSH terminal with a new Magento 2 with no sample data and database of your Magento 1 on it.

1. Install Magento 2 Data Migration Tool via Composer

Navigate to the root directory of your Magento 2 via SSH terminal and we will use all those command lines in here. We use Magento 2.3.3, it will show like this.
You must know the version of your Magento. Or you can check it by command line:

php bin/magento --version

Install the Data Migration Tool

Run the below two commands:

composer config repositories.magento composer https://repo.magento.com 

composer require magento/data-migration-tool:<version of Magento 2> 

For example, We use Magento 2.3.3, the command line will like this:

composer config repositories.magento composer https://repo.magento.com
composer require magento/data-migration-tool:2.3.3

2. Enter your authentication keys

Login to Magento in:

https://account.magento.com/customer/account/logi

Go to Marketplace > under My Products > select Access Keys > If you don't have one, you can click Create A New Access Key

The public key is your username and the private key is your password.

3. Configure Data Migration Tool

The following directory contains mapping and configuration files:

Magento Open Source: 
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/opensource-to-opensource: Configuration and scripts for migrating from Magento Open Source 1 to Magento Open Source 2
Magento Commerce: 
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/opensource-to-commerce: Configuration and scripts for migrating from Magento Open Source 1 to Magento Commerce 2
<your Magento 2 install dir>/vendor/magento/data-migration-tool/etc/commerce-to-commerce: Configuration and scripts for migrating from Magento Commerce 1 to Magento Commerce 2
Changed file config.xml
Go to directory:
vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.1.0

Changed name file config.xml.dist to config.xml, change file:

<source>
<database host="localhost" name="Database name of Magento 1" user="user name of database" password="password of user name" />
</source>
<destination>
<database host="localhost" name="Database name of Magento 2" user="user name of database" password="password of user name" />
</destination>

And:

<crypt_key>encryption key of Magento 1 can be found it in <key> tag for <Magento 1 rootdir>/app/etc/local.xml file</crypt_key>

For example:

<source>
<database host="localhost" name="magepow_migration_m1" user="magepow" password="magepow@123$" />
</source>
<destination>
<database host="localhost" name="magepow_migration_m2" user="magepow" password="magepow@123$" />
</destination>
and
<options>
<crypt_key>45dc9aaef4513c35ac82bdcfba6840d1</crypt_key>
</options
>

4. Migrate settings.

The Settings mode migrates stores, websites, and system configurations like shipping, payment, tax settings, etc.

php bin/magento migrate:settings [-r|--reset] <path to your config.xml>

where:

[-r|--reset] is an optional argument that starts migration from the beginning. You can use this argument for testing migration

{<path to config.xml>} is the absolute file system path to the migration tool’s config.xml file; this argument is required.

For example:
php -dmemory_limit=3G bin/magento migrate:settings vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.1.0/config.xml

5. Migrate data.


Data migration from Magento 1 platform to Magento 2 platform includes products, categories, orders, customers, wish lists, ratings, etc.

php bin/magento migrate:data [-r|--reset] [-a|--auto] {<path to config.xml>}

where:

[-a|--auto] is an optional argument that prevents migration from stopping when it encounters integrity check errors.
[-r|--reset] is an optional argument that starts migration from the beginning. You can use this argument for testing migration.
{<path to config.xml>} is the absolute file system path to config.xml; this argument is required
For example:
php -dmemory_limit=3G bin/magento migrate:data -a vendor/magento/data-migration-tool/etc/opensource-to-opensource/1.9.1.0/config.xml

Conclusion

Making the switch from Magento 1 to Magento 2 platform is really necessary if you want to keep up with safe and fast. It is made easier by planning every step in detail and sticking to a migration plan. If you have any questions about the migration process and how to migrate your store successfully, we are right here to help. On the other hand, if you’re not familiar with Magento, it might be better to hire a professional developer to help you move to Magento 2. 

And in case you want to migrate from another platform to Magento, you can use an automated shopping cart migration tool like LitExtension to smoothly migrate data from your previous platform to Magento and vice versa.