It goes without a doubt that Magento has become one of the most prevalent e-commerce platforms in the last five years. However, we have heard a great deal of store owners complaining about the slow load speed of their Magento e-commerce website, which leads to a decrease in their customer satisfaction.
You might wonder:
Is Magento slow by default?
Or is this an issue of only Magento websites only or a common issue of all e-commerce websites?
And how to make your Magento e-commerce website load faster?
In this blog post, we will help you to find out the answers for all of the above questions.
Let’s get started with the causes of slow Magento e-commerce website speed!
From our 5-year experience on Magento, we found that most of the sluggish load speed is owing to lack of knowledge for website optimization. After using our Magento performance optimization service, all of the websites that have problems with their speed are improved significantly and get high scores on speed tests (Google PageSpeed Insights, GTMetrix, Pingdom,…).
Therefore, blaming slow speed on Magento default is absolutely wrong.
Besides, we have noted some common reasons for the speed issues:
- Poorly coded Magento plugins are installed
- Overgrown database and logs
- Reliance on third-party applications that break performance
- Improper server solution/ Slow hosting server/ Outdated server software
- Image size is not optimized (too big with high resolution)
- Custom admin theme
- CSS/JS merge/bundle/minify in developer mode are enabled
- SSD is not used
- Full page cache and other caches are turned off
- Core code hackers
The best part:
How to make your Magento e-commerce website faster?
Here are some effective solutions for slow speed issues. You should take all advice to get the best performance.
1. Selecting a Powerful Server:
As you might know, Magento 2 is a complex system. Especially in developer mode it requires powerful hardware.
Therefore, it is a must to acquire a powerful server to run Magento.
To see whether your server is qualified, just look at the server CPU usage graphs.
If it has already or almost reached its max, you should consider upgrading as soon as possible.
Besides, you must notice any scripts or daemons running in the background that eat up all available resources.
Here is how to do it:
- First, login to server SSH.
- Second, issue top command and the screen will appear as the following:
- Third, see what are processing are at the top.
- Finally, consult with your hosting if some of them could be disabled.
Last but not least, it is highly recommended to host your Magento store on a dedicated server or a VPS. Avoid shared hosting for Magento.
2. Utilizing SSD:
Since the admin panel page requests cannot be cached, they read/write to disk a way too often than front-end requests do.
Owing to that, you should consider using Solid State Disk (SSD) – the fastest disk technology. It will definitely make a difference for your website speed.
3. Re-checking your Server Setup:
The server setup plays an fundamental role in your site performance. From our experience, the main bottleneck here is MySQL database.
It’s common to find out that the sites that run on poorly configured database (DB).
A slow DB means slow queries, which lead to slow magento back-end as a result.
Hence, it’s suggested to hire a professional system administrator to optimize your server setup. Ask him to check whether you run the latest OS release with all the latest packages or not. A simple nginx or apache upgrade will be able to make a huge difference in speed.
4. Eliminating Unnecessary/ Low-quality Magento Extensions:
Magento is greatly extendable with plugins but we often find too many of them added to a site but only a few are truly necessary. For example, some modules are no longer being used but haven’t been removed.
Besides, not all extensions are developed by average programmers instead of experts. Due to that, these products have poor coding that affects negatively to your site performance.
The thing you need to do now is listing down all modules installed and… disable them one by one. By this way, you can see how they affect your website performance. If there is not a big change or no change, you should discard those extensions.
5. Check for Tampered Core Magento Code:
From our perspective, Magento is a finely tuned application, which was developed and tested carefully by some of the best e-commerce masterminds around the world.
Because of that, it would easier for us to make it worse than make it better. An experienced Magento developers will never develop in Magento core code.
However, after auditing our clients’ sites that are having speed issues, we find that code was edited.
The problem here is that if you are not a developer, it’s impossible to check whether your Magento core code was tampered with. You should a prestigious Magento developer/ agency to do that.
6. Checking on your Custom Admin Theme:
Both Magento back-end and front-end performance highly depends on your theme files. It’s a bad idea to run a non-default Magento back-end theme.
Here is a quick way to check:
- For Magento 1: Check app/etc/local.xml file and seek similar lines:
<code><stores> <admin> <design> <package> <name>default</name> </package> <theme> <default>MyCustomTheme</default> </theme> </design> </admin> </stores></code>
- For Magento 2: Look into app/design/adminhtml directory and see if there is a folder besides Magento.
In case that your custom admin theme slows down the site, you should:
+) First, install a fresh copy of Magento that is similar to the version you have already had.
+) Second, install all the extensions you have on the original store. (not included ones that change the back-end theme)
+) Finally, compare 2 admin panels.
7. Disabling CSS/JS merge/bundle/minify in the Developer Mode:
In developer mode, CSS/JS merge/bundle/minify can turn back-end and front-end into a very slow performance since we have to locate and merge CSS/JS files on every page request.
On every page request static files are dynamically generated. On the contrary, when in production mode they are materialized.
Therefore, turning these actions off we will reduce page load time significantly.
Here is how to do:
- Set JS/CSS merge/bundle to “No”.
What happens here:
8. Benchmarking Default Cache Configuration/ Enabling Full Page Cache
Although Magento can be configured to use different storage media for cache and session files with many flags and settings (E.g.: Redis, memcached, APC,…), we highly recommend you to reset to Magento defaults to speed up your site performance.
More importantly, remember to enable the full page cache:
Accessing your admin panel, go to SYSTEM => Cache Management => turn it on.
9. Enabling Varnish Cache:
Enabling Varnish Cache is an effective way to optimize Magento e-commerce website performance.
Accessing your admin panel, go to SYSTEM => ADVANCED => Full Page Cache => Select Vanish Caching in Caching Application.
10. Running updated Magento version:
Applying the updated platform version is another powerful measure that ensures overall performance improvements for the your store, not only about the load speed.
Therefore, you should check whether your store is running on the latest Magento version or not and update it when necessary.
11. Optimizing all images:
Using optimized images also ensures faster loading on your Magento e-commerce website.
You should compress and always save product images in the JPEG format and logo in the PNG/ SVG format.
12. Set Up Content Delivery Network (CDN)
Accessing your admin panel, go to STORES => Web => Base URLs (Secure) => Add your HTTPS URLs.
13. Moving to PHP 7:
From our experience, moving to PHP 7 can improve your Magento e-commerce website performance by nearly 25%.
Fortunately, most of the hosting companies now support PHP 7. If you are running your own VPS or dedicated server, you should spend time install PHP version 7.
14. Enabling Flat Categories and Products:
The read speed of a database is one of the major causes of slow Magento e-commerce website. To resolve this problem, you must enable the Flat Catalog.
Accessing your admin panel, go to STORES => Configuration => CATALOG => Catalog => Set Use Flat Catalog Category & Use Flat Catalog Product
15. Cleaning logs and database:
By default, Magento logs are kept up to 180 days. Nevertheless, it is advisable to clean the overgrown logs and database on a regular basis in order to keep your Magento e-commerce website operating at a good pace.
If you want to have a Magento e-commerce website that loads up quickly and runs smoothly, you have to find out all causes and apply the solutions mentioned on this post.
But, if you don’t have enough expertise to do it yourself, having a Magento expert to support you is the best thing to do. With more than 5-year experience in Magento, Tigren is confident to provide you with the best Magento optimization service with the most competitive price on the market. Contact us now to find more information about the service and tell us your requests.