igrating from Magento 1 to Magento 2 is not as easy as pushing a button. There are several steps and technical know-how that are necessary to successfully move to Magento 2 without breaking anything!

For instance, custom (or child) themes will need to be recreated, extensions (if the 3rd party vendor has not made a Magento 2 version) will need to be completely re-created.

All of the data in the database will need to go through a process in order to be able to load into the Magento 2.X database as the structure is slightly different between Magento 1 and Magento 2.

The rest of the content can be migrated fairly easily once these things are in place.

I would highly recommend using a programmer with experience in Magento 1 and 2, writing extensions, writing custom Magento 2 themes, and working with databases.

The person should also be using some kind of sandbox or version control – not working live on the site, as this is more like building your site over again in Magento 2 than it is “upgrading” or “updating.”

I prefer to use Git (local) and Github (online/cloud) until I know the finished product is tested and is working beautifully.

To show this process first hand I am getting ready to migrate a fake site from Magento 1 to Magento 2.

The legacy has been set up on a shared hosting server, a custom theme, a few extensions, and content have been added.

You can find the legacy site started here:

http://www.dsourceshop.com

You can see from this image of the footer (as it is today) that it is version 1.8.X

The next step at this time will be to add the custom theme, extensions, and content to the legacy site making it look like a real website, and not the default theme.

Then I will create the Magento 2 site following these steps:

  1. Use command line terminal to download Magento 2 from GitHub repository (clone), and install locally.
  2. Create my own reopsitory on GitHub for it and to my initial commit and push.
  3. Create a branch for version control and being the work of re-creating the legacy website.
  4. Once the sites are identical and fully functioning push to the live site via GitHub + command prompt terminal.

I will post updates here regularly with images – including errors or issues I run into.

If you have comments please feel free to post them below as you follow me on this journey.

Best,

Sara