Keep it simple, stupid or KISS is something Magento development is extremely far away from. If you ask any Magento developer, webmaster, or content manager, they’ll tell you that Magento is convoluted, complex, illogical, frustrating, chaotic, legacy-ridden, buggy, and problematic – in short, anything but simple.
This is why we’ve chosen this approach. Make Magento simple again. Make it easy to use, configure, and – most importantly in our case – make it easy to speed up.
Please bear in mind that this article is just a really small glimpse on how to speed up Magento. See the full Magento speed optimization guide to learn more.
1. Move to a Specialized Magento Hosting
If you cheap out and run Magento on the most affordable shared hosting that you can find, chances are your store will be slow, unresponsive, and hard to use. Both Magento 1 and Magento 2 have specific server requirements for both hardware and server software. Magento, in general, is a “heavy” platform that in the majority of cases bottlenecks on CPU and RAM.
Magento is a complex platform that will run on most servers but you can greatly improve its performance if you use a specialized Magento hosting setup.
Another benefit of Magento-focused hosting is that the team behind the hardware is much more knowledgeable about Magento and about common hosting-related issues that could appear during normal operation.
We don’t encourage you to rush to a new server right away. Consider your options carefully and decide what kind of setup will work for you at the current stage of your store. As in every other hosting environment, you have the options to choose between a shared hosting setup, a VPS (this is a virtual private server), a cloud server setup, and a collocated machine.
Magento shared hosting: while we don’t recommend using this kind of setup for anything bigger than a mom and pop Magento store that sells 10 types of ice creams and has fewer than 10 people a day visiting the store.
In any other case, you will encounter more problems than you know what to do with. You know what? Even a small Magento store will feel sluggish on a shared hosting machine. Just because Magento is so hungry for resources and store owners are too eager to install lots of extensions on their store regardless of their hosting situation.
Magento shared hosting is a barebones setup and we recommend you move away from it as soon as possible. Sharing CPU and RAM with dozens of other sites will damage your brand image more than paying up a higher price tag to upgrade to the good hosting plan.
Managed Magento VPS: the golden standard of Magento hosting. A good managed Magento VPS will offer acceptable pricing and deliver decent performance for small and medium stores. Depending on your budget you will have enough room to expand store functionality with a good amount of third-party extensions and customizations. Good technical support from the hoster is expected and often delivered in full. Examples: Nexcess, Sonassi.
Magento cloud hosting: this one could be extremely pricy for the features it offers. In addition to technical complexity, the configuration work and everything else server-related is up to you. Which often backfires when you have 0 tech support and nothing works. If you are convinced that you need a cloud setup look into AWS, Microsoft Azure, Alibaba Cloud, or Rackspace.
2. Integrate a Content Delivery Network
For Magento frontend optimization, CDN is a great tool. Magento stores are chock full of static assets that are not always well-optimized or delivered in an efficient way to the end users. There a number of reasons for that:
- images are not resized properly to their required sizes,
- images are served from a single location which hurts load speeds for users far away from your server,
- images are served in non-optimal formats to browsers that support better image formats (e.g. JPEG instead of WebP),
- images and other assets don’t benefit from a proper cache configuration which reduces load times for repeat page visits,
- images are not optimized to save bandwidth and load times (CDNs optimize images and store optimized versions in their cache automatically).
From the overview of challenges above you can notice that a CDN is pretty much a must-have for large Magento stores. Smaller ones will also benefit from a good CDN, sure, but the effect will not be as noticeable as for the larger stores.
3. Get Rid of Useless Third-Party Extensions
We all have them: extensions that we installed a long time ago, never used or stopped using after a while, and basically forgot about them. The issue with both useful and useless third-party extensions is the same. They have a negative impact on Magento performance. And even if one or two separate extensions won’t make a huge difference in terms of store speed, piling up dozens of them can create a store that’s buggy, slow, and difficult to use.
What kind of extensions you need to remove:
- those that you never use (for obvious reasons),
- those that are outdated or no longer supported (they compromise both your performance and your security),
- those that affect the store performance the most.
In order to find the extensions that have the biggest impact on your performance, use MGT Developer Toolbar or the built-in Magento Profiler and manually assess where the bottlenecks occur.
Getting 80% of All Improvements With 20% of Effort
Magento optimization is a painful and complex process that can take a lot of time to complete. Your goal as a store owner is to concentrate on delivering the best possible performance for the smallest amount of effort. We hope our 3 simple steps will help you move in the right direction.