Written by Giles Bennett
The launch of Magento 2 late last year was a big step in the Magento community.
Migrating, not upgrading
Historically Magento released updates every year or so, and one would upgrade from Magento 1.7 to 1.8, or to 1.9, and it wasn't a huge jump each time. Magento 2, however, is a completely re-written codebase and structure, so migrating from Magento 1.9 to Magento 2 should be looked upon as just that - a migration from one one platform to another, not a further step along the upgrade path.
Magento has developed and released a free, and very thorough (if a little complex) migration tool which will migrate data from a Magento 1 store to a Magento 2 store. It is designed to migrate all the historic data and settings first - the Magento 1 store can continue to function, and new orders, products and customers will be then migrated incrementally until such time as the Magento 2 store is ready to go live.
There are also third party offerings - either in the form of modules for Magento 2 which pull data in from a Magento 1 store database, or through websites like www.shopping-cart-migration.com - which achieve the similar functions. The long and the short is that whilst there may be a little downtime, there will be little or no loss of data in the migration.
Magento 2 ships with a bare-bones theme. As with the modules (see the next section) there are relatively few third party themes available at this stage, and Magento 1 themes can't simply be dragged and dropped into Magento 2 because of the re-written codebase. This means that any existing theme will have to be re-written to be compatible with Magento 2 if no commercially-available version is, the cost of which (which will depend on the complexity of the theme) will need to be factored into the calculations involved in measuring up whether to migrate now or not.
The module Catch-22
Magento 1 has a thriving community developing themes and modules for it - whether free or paid for. The problem with Magento 2 is that that community seems to be a bit reticent in putting the cart before the horse.
Because the codebase in Magento 2 is significantly different, developers wishing to build new modules from scratch in Magento 2, or convert Magento 1 modules into Magento 2 modules, face a considerable initial expenditure of time and effort in learning the platform. Whilst some developers have spent that time and effort in order to get ahead of the game, other developers - and they're in the majority, it seems, at the moment - are holding back until Magento 2 is more widely adopted.
The Catch-22, though, is that store owners will hold off from migrating to Magento 2 until the functionality that they rely on third party modules to provide for Magento 1 is available in Magento 2. Module developers, though, are reluctant to spend the time and effort until they're a greater market for their products. So store owners won't jump until developers do, and developers won't jump until store owners do. As time goes by, this situation will gradually resolve itself, but for the moment it's a little bit of an issue.
Notwithstanding the problems above, there are significant benefits to be had by migrating to Magento 2. As with any platform that's constantly developed, Magento had spent years with bits being bolted on left, right and center, and it showed in its overall clunkiness and weightiness. The admin panel, in particularly, was showing its age and was a bit of a minefield to navigate. These have definitely been addressed in Magento 2.
From the customer's perspective, Magento 2 features a much more simple checkout - something only really available with third party modules in Magento 1, as well as synchronous validation of forms, so that the information inputted by the customer is checked after each field is filled in, rather than when the form is submitted, making things more streamlined.
The admin panel has been significantly simplified, as well as being made responsive - making it much easier for admins to view information and process orders on the move.
Speed, which has always been a bit of a bugbear with Magento, has been addressed with the implementation of full page caching. Whilst this had been available for some time (again, with third party modules) in Magento 1, implementing it direct into Magento 2 means that page speed improvements are built into the very heart of the platform. With support for PHP 7, which itself brings significant speed improvements to any installation built on PHP, this means that out of the box page load times are massively improved on Magento 2 compared to historic performance on Magento 1.
The final benefit to migrating is an unusual one, but essentially it means that chance to have a good old clear-out - as with Magento 1 itself, many store owners have bolted on functionality to their sites over the years, and each bit of functionality adds its own complexity and overhead to the store. Starting with a (relatively) blank slate in Magento 2 is an opportunity to start afresh - to leave behind clunky code, old modules, and dusty bits of the site that no-one really knows what they're there for any more - and to have a completely new look at the store with a fresh pair of eyes.
At this stage, our recommendation for new clients is to build their store straight into Magento 2. Whilst there will be slightly increased costs in doing so, by having to pay for modules which historically have been free but where, at the moment, no free versions exist on Magento 2, the cost of that is outweighed by the fact that Magento is, of course, completely free to install and use.
For clients with existing stores on Magento 1, it's less clear-cut. There will come a time when migrating is inevitable - maybe not today, maybe not tomorrow, but soon - so the cost of doing so should be factored into long term plans for their website. Ironically, clients with more complex stores, particularly those which would benefit from the clear-out mentioned in the preceding section, would probably be best advised to upgrade earlier rather than later.
If you're considering a new store, or moving your existing store from Magento 1 to Magento 2, we'd be pleased to take look at offer you our advice on a no obligation basis - just get in touch.