Magento is one of the most popular and widely used ecommerce platforms in use today. Among all the ecommerce CMSs available in the market including Shopify and Woocommerce etc., Magento is the most robust, most flexible, and the best performance oriented alternative out there. That is perhaps why Magento 2, the latest version of the famed CMS, is the number 1 choice for most ecommerce startups and online store owners.
However, not all good things are perfect. Magento 2 has a few gripes, and one of the most common among developers and Magento 2 users is that it is slow.
Now some people (like the Magento developer at our office) say that it’s unfair and uncalled for accusations. Maybe it is, but we listen to the users and our readers who have complained of the same problem and want to know why is it such a case with Magento 2. Here are some examples of the type of questions people ask in Magento forums and groups:
Hi friends my client site (Magento) loading speed is very slow how i can increase its loading speed. Please give me suggestion to overcome this issue.
Is Magento usually so terribly slow? This is my first experience with it and the admin panel simply takes ages to load and save changes. It is a default installation with the test data. The server where it is hosted serves other non-Magento sites super fast. What is it about the PHP code that Magento uses that makes it so slow, and what can be done to fix it?
You can find such queries and complaints from users in many Magento forums. However, here’s the thing that not everyone who uses Magento 2 knows:
Magento 2 Isn’t Slow by Default
Believe it or not, that’s the real case, and most people face the issue of slow interface and high loading times due to malpractices and not knowing how to optimize their website properly. When you don’t meet the basic requirements of running a store on Magento 2, do not use the right extensions, and do not enable the right plugins, your store is bound to land on a turtle’s back. Most crawling websites are due to these issues because a default Magento store is robust and runs smoothly. Even the admin panel faces no trouble in running, so the questions is…
How Do I Ensure That My Magento 2 Runs Swiftly?
You must know the basic requirement of running a Magento 2, and most importantly, you must be aware of the best practices that allow your online store to run in a manner that does not make you want to punch your screen.
Let’s have a look at the ways you can ensure that:
Server and System Requirements
Server and System requirements are the most important factor in speeding up your Magento 2.
Server Requirements: Since Magento is a powerful store, it is highly recommended to host your Magento store on a dedicated server or a VPS. Avoid shared hosting for Magento.
System Requirements: Here are the Magento system requirements:
|Operating System||Linux distributions such as RedHat Enterprise Linux (RHEL), CentOS, Ubuntu, Debian, and so on.|
|Composer||To develop Magento extensions or anyone who wants to contribute to the Magento 2 codebase, composer is needed. It is highly recommended to use the latest stable version of composer.|
|Required PHP extensions||
PHP 7 only:
|SSL||A valid security certificate is required for HTTPS.|
|Mail server||Mail Transfer Agent (MTA) or an SMTP server.|
|Redis||Version 3.0 for page caching and session storage (the latter supported by Magento version 2.0.6 and later only)|
|Varnish||Version 3.5 or latest stable 4.x version for page caching|
|Memcached||Latest stable version for session storage with either memcache or memcached PHP extensions (latest stable version)|
These are some of the requirements mentioned on the Magento DevDocs. If you wish to know more, you can check them at these links below:
For Magento 2.0.x:
For Magento 2.1.x:
Update Magento Version
Magento is releasing new versions every now and then with performance improvements and other tweaks and it is highly recommended that your store has the latest version. Here is how to update your Magento 2 store.
Enable Varnish Cache
Now enable Varnish Cache to improve the loading speed of Magento 2.
Click on System under Advanced tab, then explore the Full Page Cache section and change Caching Application field to Varnish Caching.
Memcached is a free and open source distributed memory object caching system which helps speed up Magento stores by decreasing the database load. To learn how to configure it, you can check the configuration of Memcached with Magento 2.
Enable Flat Categories and Products
The read speed of a database is one of the most important reasons in slowing down Magento 2. To resolve this problem, enable Flat Catalog.
Go to the admin panel of your Magento store and navigate to Store → Configuration. Then click on Catalog under the Catalog tab. Explore the Storefront section and change the fields Use Flat Catalog Category and Use Flat Catalog Product to Yes.
Content Delivery Network
Set Up CDN to speed up your online store!
Click on Web under the General tab. Then explore the Base URLS (Secure) section and add HTTPS URLs.
Use lightweight theme
Always try to use a lightweight theme for your Magento store. A light theme helps in improving the loading speed of Magento 2.
Always try to use a bug-free third-party extension on your Magento 2 store. This goes without saying, but many people tend to use extensions without checking or confirming if it might contain bugs or not.
Images Should be Fully Optimized
Lastly, images should be optimized. The key points in optimizing the images are:
- Images must be compressed.
- The logo of your store should be in PNG or SVG format.
- Product images should be in JPEG format.
Following the above guidelines can result in a speedy Magento 2 store, so follow them at your own discretion. After all, you don’t want a Magento 2 store that loads up quickly and runs smoothly. Oh wait, that’s exactly what you want. Just remember that the faster and well-optimized your personal development environment is, the faster will your online store will be. For any questions or queries you may have in mind, use the comments section below and let’s discuss.