2 votes from 2 votes

Magento Goes … Slow? Here Are the Ways to Speed It Up

Slow Magento performance is a matter of concern nowadays. It might seem quite obvious that customers who visit fast-loading web pages will not click away as often as they visit pages that load slowly. Making web visitors wait even a couple of seconds for product page to load is a potential reason to lose buyers and decrease conversions.


Moreover, Google acts in the same way and “rewards” fast loading sites with higher search engine rankings. In case your site takes minutes to load, Google won’t send the searches to it and your competitors will surpass.


Predominantly large number of web merchants entrust their web shops to Magento. It’s configured properly, is characterized by flexibility and variety of customization options, though it comes at the cost of a steeper learning curve. Out of the box, this platform isn’t set to run at racecar speed. That’s why users ask themselves “Why is Magento very slow for visitors? What can I do to improve matters and speed up Magento?”


Below in this article we will delve into efficient methods for making your Magento lightning-fast.


Enable Caching

This operation is needed to reduce the number of operations required for each page request. Go to System -> Cache Management and make sure all cache types are enabled.


Refresh Magento Indexes

Magento keeps some data indexes in special tables to make queries more effective. Running your store, you are constantly adding or deleting products, categories what causes the indexes to have gaps and stale information. To ensure smooth site performance you should refresh all the indexes on purpose to rebuild the tables. To manage indexes go to System -> Index Management, choose All, then Reindex Data and Submit.


Use Flat Catalog Category/Product

In Magento product and category referred information is saved in the database, which consists of range of tables. A database table is required for each attribute, e.g price, description, name, weight and other attributes applied to products or categories. Thus, if Magento searches numerous tables for data that are spread out, it can become slow. Once Use Flat Catalog Category and Use Flat Catalog Product options are enabled, information that is spread out will be flattened into one table or relatively less tables. This will reduce response time.


Enable Compilation

This is one more way to speed up Magento performance. Similar to above described product/category flattening, compiling would be the equivalent to file-system flattening. This tool compiles PHP files which are generally located in different places and adds them into one single file. To enable compilation move to System -> Tools -> Compilation and click on Run Compilation.


Note, in case you need to install some extension you need to disable this option.


Resort to GZIP Compression

This might be done in the .htaccess file, Magento has in its default files. Copy this file from root level of your server (it can be done via FTP application) and open it. There are a few lines to uncomment for GZIP, removing # at the beginning of the line, to speed things up and improve site performance.

<IfModule mod_deflate.c>

	# Insert filter on all content
	SetOutputFilter DEFLATE
	# Insert filter on selected content types only
	AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript text/js application/x-javascript application/javascript

    # compress text, HTML, JavaScript, CSS, and XML
    
	# Netscape 4.x has some problems...
	BrowserMatch ^Mozilla/4 gzip-only-text/html

	# Netscape 4.06-4.08 have some more problems
	BrowserMatch ^Mozilla/4\.0[678] no-gzip

	# MSIE masquerades as Netscape, but it is fine
	BrowserMatch \bMSIE !no-gzip !gzip-only-text/html

	# Don't compress images
	#SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary

	# Make sure proxies don't deliver the wrong content
	#Header append Vary User-Agent env=!dont-vary

</IfModule>

Enable Apache Module mod_expires

Mostly, resources (images, css, js, swf, mp3) on the page do not change. At times you use a different resource with different URL but this will be a new cache for the browser. So if you know that your resources are not ever going to change then you can set the expiry on these items for a long time in the future so browser will allows get this data from its cache.


Mod_expires controls the Expires HTTP header setting and max-age directive of the Cache-Control HTTP header in server responses. To enable Expires HTTP header for Magento you have to change the code at your .htaccess to.


<ifmodule mod_expires.c>
<Filesmatch "\.(jpg|jpeg|png|gif|js|css|swf|ico|woff|mp3)$">
    ExpiresActive on
    ExpiresDefault "access plus 2 days"
</Filesmatch>
</ifmodule>

There are other means to speed up Magento operating, you can make use of. It is possible to disable logs via System -> Configuration -> Developer -> Log Settings.


Moreover, make sure images are optimized. Use pictures that are not greater than 92 dpi and not less than 72 dpi and check they are sized properly before uploading them to the database. Save images in .png format - they will be compressed without any quality losing.


And, of course, type of server you are using really matters. You may find that the site is slow with cheap hosting company. Entrust your website to reliable hosting company to ensure the site loads quickly.


The points, mentioned above, will help increase performance for the average Magento site and improve its load time, boosting sales rate and lowering bounce rate in such a way. Speed up the system by leaps and bounds, doing the right choice and doing the right way for it!


If you’re suffering because your back office is slow, check Store Manager for Magento for mass operations optimization -

www.mag-manager.com/useful-articles/tipstricks/how-to-make-mass-product-changes


Check related article to uncover how to optimize data import

www.mag-manager.com/how-to-speed-up-import-process-in-store-manager-for-magento

Optimize data management FREE Optimize Now


    Free upgrade to Magento 2 supported version