The reality of upgrading from Magento 1 to Magento 2

Upgrading from Magento 1 to Magento 2

I’ve had the pleasure of working with Magento 2 since early 2017, so it hasn’t even been 12 months yet. I started out by visiting the Magento website and going through any Magento U a handful of courses (which were free to view at the time).

But my transition from a Magento 1 user (and developer) to Magento 2 wasn’t all sunshine and roses. I actually went through a bit of an emotional journey as well. But more on that later…
For now, I want to highlight 11 key changes that you can expect to see when migrating from version 1 to version 2.

The rebrand

The first subtle change is the name of Magento. What we all know and refer to as Magento Community Edition and Magento Enterprise is now referred to as Magento Open Source and Magento Commerce. I just thought I’d mention that in case it caused any confusion.

Default theme

It’s not a significant change by any means, as you’re more than likely going to choose a pre-existing theme or develop your own. But Magento 2 now comes packaged with a theme called Luma. And honestly, for a default theme, it isn’t half bad. You could easily develop and launch your Magento 2 store using this clean theme without that feeling of looking outdated or incomplete.

Backwards compatibility

Because of the improved structure of version 2, you will find that your old Themes and Extensions won’t be compatible with your existing solutions for version 1. You’re going to find that your code will either need some restructuring or a complete overhaul. This isn’t a problem for extensions that you use which are still supported, but you might need to look at alternative solutions for any unsupported or custom-made code.

Extension Pricing

At the time of putting this together, I’ve noticed 2 trends. First off, I’ve noticed that many Magento 2 extensions seem to be more expensive than those for Magento 1. I’m assuming this is the case because there aren’t as many solutions for Magento 2 right now compared to Magento 1, so developers are able to charge more. Hopefully, we’ll see these prices come down over time.
Secondly, I’ve also noticed that some popular developers have started to discontinue their one-off-fee for Magento 2 extensions and instead adopted a pay-monthly software-as-a-service business model. I’m not entirely sure how I feel about this. On one hand I want to support developers, but on the other hand, I prefer the freedom of purchasing an extension without paying a recurring fee to keep using it.

Backend

Another obvious change between the 2 versions is the completely overhauled look and feel of the backend. In this version, Magento has adopted a cleaner more modern flat design approach. When I first experienced this new layout I was completely against this design as it seemed too large with no clear distinction between sections of the pages. I’m not sure if I’ve gotten used to it over time, but now I don’t find the layout so offensive to my eyes. That being said, I would like the ability to have an option to compact the design just to get rid of a lot of that whitespace (like you can on Gmail).

One of my favourite new features is the built-in ability to customise the grid data. In Magento 1 I think most people used an extension called BL_CustomGrids which allowed you to add and remove columns to grids. Magento 2 can now do this without the need to install a 3rd party extension. It has some limitations however, these changes can now be made on a per-user basis. This means you won’t affect what your colleagues see when you need to add or remove columns for the purpose of your job role.

Performance

Magento 1 was always an uphill battle to try and streamline loading times and overall operating performance due it’s heavy demands. I have to say that out-the-box Magento 2 now performs extremely well with faster page loads times and quicker performance on the backend. And that’s all thanks to the inbuilt one-page-caching and optimisations to the base code. Honestly, I was really impressed.

Easier updates

The development of Magento 2 is still ploughing forward at a rapid pace with bug fixes, new features and quality-of-life improvements. I always found Magento 1 was hit-and-miss when running updates and SUPEE Patches, but Magento 2 comes across much more user-friendly. Updates can easily be executed using the command line interface or the Web Setup Wizard. Before each update, Magento will run some prerequisite checks and run you through a point-and-click backup process before running anything. This is a major improvement over what felt like a broken Magento Connect experience.

Built-in mind for SEO

Out-the-box, Magento 2 includes a lot of improvements when it comes to SEO. Some of which might negate the need to install 3rd party extensions. One of the key improvements is the included technical SEO such as microdata. If you’re unfamiliar with microdata, this essentially like metadata 2.0 – Allowing you to make your product data much easier to crawl by search engines.

Streamlined checkout

Another cool new feature compared to that of Magento 1, is the frontend checkout experience. Assuming you have guest-checkout enabled, Magento will automatically cross-reference a users email address during the checkout and assign that order to their order history.

Improved security

Magento 2 also comes with a lot of security features that were only previously available to Magento 1 Enterprise customers. Now you can find a plethora of security options that you can set for the added peace of mind. I recently covered these features in a video called 25 Ultimate Security Checks. You find a link to that video in the description below.

Easier development

For the developers amongst you, you will also find that the new structure makes creating extensions and themes much easier than what you may already be used to in version 1. There’s a hell of a learning curve to get over before you’ll become proficient but the benefits will be worth that pain in the long run.
That’s just a short-list of the most obvious key changes you’ll run when making the jump from Magento 1 to Magento 2. You’ll find a link in the below for the full list of changes.

The reality

If you’re a seasoned user of Magento 1 – whether a store owner or a developer – Then you’ll probably have developed a love-hate relationship with this eCommerce Platform. Out the box, Magento is a powerful and stable bit of kit. However, it does come with its limitations. Hence the thousands of extensions you can find online to enhance the experience for both you and your customers.

But that all comes at a price when you keep bolting extensions on top of Magento. Because each extension you use is just another variable added to the equation. Before long, you stumble across incompatibilities between extensions that you end up bodging together so it kinda works. And whenever an update comes out, it’s valuable time that you have to set aside to address. And then on top of that, you get Magento Security updates that can break existing extensions that may no longer be supported, like when we had to deal with the SUPEE-6788 Update back in 2015.

And then you get the anomaly days, where one day, you’ll be minding your own business and customers will start calling up to say parts of the site aren’t working correctly. So you try and work out the issue, Flush the Cache, Restart the server, Flush the cache again… and then all of a sudden things just start working again for no apparent reason, leaving you totally perplexed. Like I say, the worst problems are the ones that fix themselves because you have no idea when it’ll happen again or how to fix it.

The point I’m trying to make is that Magento 1 can be highly customised, which is both its greatest strength and its greatest curse – I highly doubt any 2 Magento 1 setups are identical. And this is where the hesitation lies with the Upgrade to Magento 2.

I can’t promise you that Magento 2 will not keep you up at night, and I can’t promise that the days of random glitches are over, and I certainly can’t promise that there will be a Magento 2 extension that can replace the Magento 1 version you already use. But what I can promise, is that as early as 11 months time, you’ll have to face the cold hard truth that Magento 1 may no longer be supported by Magento (unless they decide to extend their policy out the goodness of their own heart or start charging a subscription for the privilege). In the last 12 months, we’ve probably seen 5 or 6 major security updates that have been addressing vulnerabilities. Imagine how exposed you and your customer data might be 18 months from now. This is why you can’t ignore that upgrade.

My transition

Earlier, you may recall that I said my transition from Magento 1 to Magento 2 was a bit of an emotional journey. Well back in 2013, I was exposed to Magento 1 for the first time when I was hired as a Full-time Web Development Manager for a large UK Company. As any Magento users out there might know, Magento 1 isn’t the most forgiving of eCommerce platforms and it doesn’t really come with a How-to for dummies – Especially when you’re working with bad code written by former employees whom you’ve been hired to replace.

So my first few months were spent reverse engineering the custom work so that I could reproduce its features in a brand new build. At the time that was rebuilding it from Magento 1.4 to Magento 1.7. By 2017, I’d obviously become quite familiar with the Magento 1 structure and code. Knowing how to quickly develop the platform and fix it when needed.

So, as you can imagine by the time Magento 2 had gone into Beta I was genuinely concerned that everything that I’d learned over the 4 years would all be for nothing. And that moving to Magento 2 would basically make my role as a Magento 1 specialist redundant. I remember going through some of the Magento 2 courses thinking how I was over my head and what I could do to put off the upgrade.

As you can tell, I obviously embraced the new version which had lead to me creating this channel and sharing a lot of things that I’ve learned along the way with all of you. But I was worried and procrastinating for a long time before I jumped in with both feet.

I guess I’m sharing this story with you because I know that feelings like that can be a huge barrier for embracing change. And because I’m encouraging you to make the leap from version 1 to version 2, and I just wanted to be transparent about everything. Remember, I’m not a Magento know-it-all… I have to learn things too. I’ll gladly address any questions about my experience for a few weeks in the comments (if you have any).

Summary

Hopefully, by now you should a clearer understanding of the differences you can expect between Magento 1 to Magento 2. And more importantly, the journey that you and your team will need to undertake to get through to the other side. But I assure you than in the long-run, making that move means a better experience for you, your team and your customers.