In spite of the fact that most customizations and improvements for online stores concern design and UX, what greets store visitors is the loading speed. In the chase for a catchy layout, store owners forget about what makes their revenue numbers: loading speed. With every second that your customer waits for the store page to load, the bounce rate hits 16%, and conversion rate loses about 7 percent. The longer the delay, the worse becomes the outcome.
Google considers 2 seconds the longest time an e-commerce web page should load. You may wonder why so, are 2-4 seconds that long? The answer is yes, it is. Online shopping process is not linear: there is product search, comparisons and finally decisions. Therefore customers browse your catalog multiple times and open multiple tabs with different products to keep them at hand. In such a case, waiting for each slow loading page will be a torture. Add to that a slow check-out and you will get the most annoying shopping experience.
Why Magento is both a blessing and a curse
No one will argue that Magento works out great for high load projects. According to this Magento White Paper, Magento 2 has the following performance enhanced features:
-
Better order capacity: handle up to 39% more orders per hour;
-
Faster server response times for catalog browsing;
-
Add-to-cart server response times are 66% shorter.
-
End-to-end checkout times are up to 51% faster.
So, the first step to faster Magento is migrating your store to Magento 2. But to have the results promised above, you do need to optimize it. The platform possibilities are limited only by developer’s imagination. Magento isn’t slow by default, but enhancing it with multiple add-ons influences its metrics.
Don’t know where to start with Magento speed up?
Test your store speed. You may not even know that your online store has speed-related issues. To determine its current condition and have the milestone for future improvements, use any of widely available tools for measuring website speed, for example, Google PageSpeed Insights (it’s free).
Now, to the actual solutions for slow Magento stores:
1. Don’t forget to update your Magento
This tip could cause you to smirk, but it comes before any other adjusting steps. Magento updates can solve most of your problems with performance improvements. Current Magento version is the safest one, and every system error is another obstacle between your customer and their purchase.
2. Revise your 3rd-party extensions
Sometimes, your website is acting up only because you want too much from it and add too many extra features. Maybe, the bottleneck is a wrongly configured extension or it could be the incompatibility with other modules or Magento core. Extensions audit is a monotonous, but simple procedure you can execute yourself. Try turning the extensions off one by one and check the reaction of your website. If a certain extension is disabled and the website shows better loading speed results, you have discovered the reason. You can configure the extension if you need it, or disable it, which guarantees the positive result. Besides this point, the fewer extensions you have, the faster your store is. It is also good for usability — a lot of extensions on the frontend can throw the customers off and look obtrusive.
3. Invest in good cloud hosting
Having a store on Magento is a costly affair with a lot of things to take care of. Hosting is one of the most pricey things you have, to maintain your business online. A high loaded system like Magento combined with a huge number of visits requires a powerful server, located accordingly to your geotargeting. That means, the physically closer the server is to your customers’ location, the faster it can work for them. Check out Aspiration Hosting – affordable cloud hosting plans and dedicated cloud servers. They have server locations worldwide and best is their plans are bundled with oodles of stuff that helps Magento stores.
4. Double check Cache settings
You will be surprised to learn how many performance issues can be resolved by enabling full cache in Magento. To check up on this, go to System > Cache Management in your Admin Panel. Usually caching is disabled manually by developers or designers, so always check this setting once in a while. Browser caching can also serve well for faster access. To perform and control caching processes automatically, set your eyes on Cache Pro extension. Your host should also have some sort of cache system in place. Aspiration Hosting plans come with LiteMage – the fastest Magento extension in the world
5. Use GZIP compression
This compression reduces your HTML page to the appropriate size, so the browser has less to download. You can enable this feature from the server side or with the help of online tools. To enable GZIP compression manually, search for more specific instructions for your server. Or better yet, ask your host customer support. Like at Aspiration Hosting, most customer support people are highly qualified engineers.
6. Work with PHP accelerators
A PHP accelerator is an extension whose job is to improve the performance of applications like Magento which is written in PHP. They help by caching and using files in the compiled state. Basically, it is an additional caching option. You can use any PHP accelerator (there are plenty of them, like APC, ZendOptimizer+ or Xcache) to double the page generation speed.
7. Reconsider the design theme
Your store theme also matters for the overall performance. Choose a lightweight theme and pay attention to the compatibility. Older Community themes for versions 1.5 are not going to work well with Magento stores of newer versions. You could possibly implement an older theme in your store, but the conversion with the help of developers is not always worth the cost and trouble.
8. Work with optimized images
More than 50% of any website weight is pics. Images are vital elements in e-commerce. Your images should be clear and of appropriate size, but at the same time be as light as possible. The solution that meets these requirements is called lossless compression. You can optimize your images manually online or in a photo editor application before uploading. But in case you have a large catalog including hundreds of products, this option is not the best solution. Thankfully there are Magento extensions for image compression. For example, try Image Magick extension.
9. Never use JS bundling
JS bundling is another special feature of Magento 2. What it does is decrease the number of HTTP requests when loading a page. It is supposed to be great, but the cut down in numbers is achieved by grouping JavaScript files into a 5-10MB file. This file, however, causes significant speed issues, especially for mobile versions. To disable JS bundling, go to Stores > Configuration > Advanced > Developer, where you will see “Enable JavaScript Bundling” setting.
10. Use Nginx instead of Apache
Your web server has one important job: handling the maximum number of requests as fast as possible. Nginx is geared towards performance and huge customer bases. It uses fewer resources and responds faster than Apache that is more of all-in-one web server. Proper configuration of Nginx allows you to leave Apache, and therefore significantly speed up a Magento website.
11. Merge Javascript and CSS files
Magento functionality includes the possibility to merge JS and CSS files. The purpose is to optimize the load time and reduce the number of files to load. The merged files will be displayed without line breaks. You can access and enable this feature by following the next path: Stores > Configuration > Advanced > Developer. You can find the Merge options in two tabs for JS and CSS settings accordingly. If you are in production mode, you can also enable minification for CSS and JS files. Don’t forget to clear the cache after.
12. Enable Flat Catalog
If your online store has a heavy catalog of 1000 and more SKUs, enabling Flat Catalog is what you need. When Magento collects information about your products, it stores data in multiple tables by the Entity Attribute Value (EAV), and that makes MSQL queries long and unbearably slow. With Flat Catalog enabled, the necessary product data is stored in a different way, in a new table, generated on the fly and updated automatically by cron.
13. Configure Content Delivery Network
CDN is another advanced service Magento 2 supports. It can help you with storage of your external content of any type: CSS/JS files, images, and fonts. The thing is, CDN can handle those files faster and deliver them rapidly to your site visitors and customers. There is no single CDN provider integrated with Magento, so the choice is up to you. CDN configuration for your store is available at System > Configuration > Web in your Admin Panel.
There are plenty of factors that influence site speed. Sometimes, the reasons for performance issues are not obvious and it is not possible to cure them via just a few clicks. The tips listed in this article are the first steps on the way to better understanding and locating the bigger problems. It may happen that there are no such major problems — and after the above tips are applied, you will have a properly optimized Magento store.