On the back of statistics like that, you may have seen our post on website optimization. On top of all the tricks you can do yourself to optimize your storefront’s performance, the eCommerce solution you choose to run it on will also play an important role. If you're currently in the middle of choosing a new eCommerce solution check out our ultimate eCommerce buyer's guide that provides all the major factors to consider when choosing an eCommerce solution.
With the demand for speed being an ever-increasing important factor for your customers and for Google, it’s only fair you understand which eCommerce solutions hit the mark when it comes to providing you with the ability to having top website performance from the outset.
How we tested website performance
We have compiled a list of over 1,000 websites running on a range of eCommerce platforms, including Magento 1.x, Magento 2.x, BigCommerce, Shopify Plus, Shopify, WooCommerce, ElasticPath, and Elastic Path, to see the difference between how stores running on each platform perform in terms of speed, on average.
We used Google Lighthouse to run these tests. Google Lighthouse attributes performance scores between 0-100 which represent a series of tests it runs behind the scenes for a number of parameters including; load times on content and images, and responsiveness.
0 to 49 (slow): Red
50 to 89 (average): Orange
90 to 100 (fast): Green
Elastic Path and Elastic Path who are both API-first and ‘headless commerce solutions’, lead the way with the fastest stores running on their solutions.
Conversely, Magento came close bottom for website performance as a whole, just pipping Shopify Plus to the post with a couple of their tested stores meeting the ‘average’ criteria for website performance.
Despite Magento’s well known slow performance, it is still one of the most commonly used eCommerce platforms by developers. The main reason for its poor performance is the excessive use of customizations and plugins required to make it work. The same goes for Shopify Plus - pick the wrong apps or themes and you’re digging your own grave. Many themes and templates that Shopify provide are not well optimized from the ground up - so although they may look pretty, if they don’t load fast, all that effort of them looking nice is wasted.
Magento 2.x is worse than Magento 1.x
If we do a deeper dive into the data, of over a 1,000 Magento stores tested, Magento 2.0 resulted in an average performance score of 22 out of 100, coming in as the slowest of all platforms. Shopify Plus isn’t far behind with an average score of 23.
It actually took us by surprise that website performance is worse in version 2 than the original Magento platform, as you’d only expect the platform to improve rather than get worse. With the end of Magento 1 support getting closer, and many people considering what to do at the end of its life span, it’s definitely worth considering whether migrating to Magento 2.0 is worth the effort or whether it makes more sense to move to a solution that will enhance your website performance and lead to a better experience for your customers.
It only takes a Google search to see we’re not the only ones seeing poor performance from Magento.
First, let’s take a look at the average time to first byte on each solution we compared so we can dig into why Magento performance is deemed so bad.
Time to first byte (TTFB) consists of the time a browser’s request goes to the server and the server response goes back to a browser (latency) and the time a server generates HTML. Google recommends having a TTFB of under 200ms. As you can see most eCommerce solutions are on the verge of being 300ms and over (apart from Shopify and Elastic Path, we’re pleased to see).
Again, Magento 2 stores are performing worse than Magento 1. Not great for all those people in the process of migrating from platform 1 to 2 as we speak to know that they are still not going to get improved website performance with the new version.
But why is website performance so bad for stores running on platforms like Magento?
The rigidity of monolith platforms like Magento make it more difficult to optimize your website. Usually, you’re constrained to what programming languages you can use and what the frontend of your store has to look like. Not having much control and flexibility over the storefront means that, unless you’re very experienced and familiar with the Magento backend, you may struggle to optimize your store to the standards you’d like to.
Also, Magento 2 was announced in 2013 but was not released until 2017. Unfortunately for them, the framework (Knockout) they chose to build the new version plummeted not long after they first start to use it due to major performance issues, therefore leaving Magento 2 users to suffer with a framework that was already out of date before they got a chance to start developing on top of it.
Some of the other top reasons that create poor performance for Magento stores specifically include:
- Slow hardware not ready to meet resource needs - sometimes hardware may not meet up to Magento’s technical requirements, causing major headaches when trying to use the platform. Magento documentation recommends you use 756M of memory to process each request, which is extremely high. It also doesn’t handle concurrency well or lend itself well to scaling.
- The number of files you have to manage - this also adds to the sheer size of the beast you’re tackling here, hence making things slower and slower. We did some digging into just how insane the Magento codebase is. In fact, we were so overwhelmed, we’ve created a quick(ish) video to show you just how much the code base has evolved over the past 5 years.
- Third party extensions - in order to make Magento customizable and meet your specific eCommerce requirements, you need a variety of modules and plugins to extend Magento 1 and 2. The main problem with these third-party extensions is that, for the most part, they’re developed externally, by average developers. All you have to do is get hold of one badly written extension to see your website speed plummet.
How come Elastic Path stores are so fast?
Elastic Path is a headless commerce solution that gives you full control over the frontend of your store. As you are not restricted to particular programming languages, themes, or templates, you’re empowered to implement the technologies and tools that you know and love on top of our modern, API architecture so you can have full confidence you can optimize your store with ease.
Truly headless solution - being a headless solution means we cleanly separate the frontend from the backend architecture. Due to the separation in display logic, any headless application tends to work faster, is more responsive, and easier to maintain or update.
API-first - Elastic Path is language agnostic, meaning you can build your storefront in whatever programming language you desire. This significantly speeds up development and delivery. Our APIs are cacheable too which means that resources are cached into the browser each time they are displayed, allowing for a much faster, smoother, and reliable performance.
Best of breed architecture - we advocate for using the best-of-breed solutions for your store. Therefore, no need to waste time trying to add features with clunky plugins and broken extensions. Elastic Path is designed to be your core eCommerce API which is easy to integrate with other cutting-edge third party services to make the best eCommerce store imaginable.
Custom frontend - by decoupling the frontend to make it 100% independent from the backend, there’s less reliance on each other. This makes a request simpler, and therefore, faster as each request is independently consumable and doesn’t have to be called in a specific order for the system to work. As opposed to monolith systems, like Magento, the components are not based on any extensive and resource-consuming libraries that create internal dependencies to allow the components to interact with one another.
You are able to deploy closer to users by deploying to a global Content Delivery Network, significantly increasing your TTFB and offloading any page loading to happen at the deploy/build stage. The CDN will serve static files, avoiding the need to render anything on the server. Such approach gets away from the traditional model of having a server to maintain, and instead, shifts its focus to the APIs to do all the front and backend work, which is already in itself improving performance.
Obviously we’ve got bias, but the numbers speak for themselves and they even surprised us internally. It’s crazy how many eCommerce sites out there, on some of the most popular eCommerce platforms, struggle to meet Google’s recommendations when it comes to website performance and speed.
It really comes down to the excessive number of extensions and resources needed to run these legacy, bulky platforms which slow sites down and make them almost impossible to maintain or speed up.
At Elastic Path, we know that taking a best-of-breed approach and concentrating solely on what we do best, is the new way to create highly performant eCommerce websites. It means you don’t have to download or install (yes, installing is still a thing, apparently) and maintain hundreds of unnecessary features and plugins to make your site work.
Our microservices architecture means you pick and choose the parts of the solution you need, and then integrate our core APIs with other best-of-breed tools that you require to produce a highly performant, modern commerce stack. This approach means you’re no longer tied down to one platform to do everything and can swap parts out as and when you need them without the risk of breaking the whole system.