It’s Easter 2020, we are in the middle of a global pandemic, locked down at home in self isolation and the world is in utter chaos. In other news my first Magento 1 migration is complete and taking orders!
At the start of the year I still had an awful lot of work to do but was confident with more time to dedicate to the migration we would go live in February. As always things take a lot longer than planned. We spent a lot of time working on new product images and getting product and category presentation right. These are important aspects of your migration plan, never forget that as a merchant you must sell products, the most up to date, optimised, speedy and technically brilliant Magento 2 store is worth nothing if no one wants to buy your products!
I also spent a lot of time testing my go live plan. This is where my docker development infrastructure really helped as copying over backups of my dev docker containers and data to another virtual server and creating a complete working copy of my development environment took a matter of minutes (I can recommend using cheap 120GB SSD drives for this). This enabled me to test all the important stuff such as customer login, account creation, orders and payment methods. Over and over again!
You cannot test too much, and even with the most thorough testing you will miss issues. I had to to roll back to 2.3.3 because of a 2.3.4 issue I almost missed…
I had a couple more bad experiences with module developers where I purchased modules and they did not work correctly. Whilst I am not a big fan of the Magento Marketplace you do have a better chance of obtaining a refund via the Marketplace than from a developer site directly. One module was so badly coded that there was no way I was going to use it in production. The developer would not budge on a refund, and even PayPal refused to give me my money back – you live and learn.
I developed Magento 2 modules to migrate custom functionality including dynamic SEO tag generation, free product samples and buy X get Y functionality.
We purchased a new hosting server at the beginning of March (lots of RAM, lots of Cores) and the go live date slipped a little bit more to the middle of March. The changeover from old site to new was pretty flawless and only took about an hour, DNS updates took a bit longer but it was a relief to see customers logging in to their accounts without any problems and the first orders coming in.
In the first week after go live there were only a couple of problems that arose including a nice Magento 2 bug that prevents customer emails from being processed if they contain non ascii characters! I will write that one up in another blog post. We also noticed an issue with Tier Pricing that we failed to identify during testing.
To summarise this first migration from M1 to M2
– Completely redesigned our frontend Theme, basing it on a good commercial theme and implementing our own customisations.
– Bought 5 or 6 commercial extensions that we either already used in Magento 1 or needed for our business requirements.
– Rewrote our Magento 1 modules for Magento 2 which included page/product customisations, SEO, product sliders and galleries and custom cart features.
– The migration took 11 months from ZERO to go live.
Of course the middle of March 2020 with most countries beginning to implement lockdown rules because of the Corona Pandemic was possibly THE worst time to launch a new ecommerce site. In the week we launched most of our customer base was forced to close and our company has been severely affected by the loss of revenue. With that in mind I don’t really feel it’s the time to celebrate our Magento 2 migration. I will leave that for another day…