Ways to Speed Up Your Magento Store – optimizing Magento performance

Magento is the champion open source platform when it comes to E-commerce store and globally accepted by store owners and web developers. The reason of its popularity is the wide range of features offered it and the flexibility and robustness its gives to developers to easily customize it for any kind of custom requirements. Despite its popularity magento is a heavy CMS and can slow down your store if not configured properly. These settings are not quite obvious and many times missed by even experienced developers during the Magento development process.

There are several ways for optimizing Magento performance that starts from magento admin confi-guration and hosting/server related configurations.

Magento administrative settings for speed optimization –

These are relatively simple settings but can create good impacts on the performance of a magen-to store. All these settings can be applied from magento admin itself –

Enable flat catalog –

By default magento uses EAV model to store and retrieve customer and product details. EAV model makes the magento system more flexible but creates a big impact on performance due to longer database queries. Magento gives an option to overcome this issue. Enabling flat catalog will merge all product and category attributes and will create one single table per store. Here are the steps to enable this –

Go to System > Configuration > Catalog from left menu

Under Frontend, change Use Flat Catalog Category and Use Flat Catalog Product to YES.

Speed Up Your Magento Store

Merge CSS and JS files

Magento frontend by default loads many js and CSS files. This results in a big number of server request and slowing down magneto’s overall performance. Magento has an inbuilt option to merge all these CSS and js files into one. For applying these configuration go to System > Con-figuration > Developers and underJavascript Settings, change Merge Javascript Files to YES and under CSS settings change Merge CSS Files to Yes.

Merge CSS and JS files

Enable Cache

Enable cache from magento admin. Go to System > Cache Management from admin and enable all types of cache. Alternatively you can you some other caching mechanism like mem-cache, varnish or radish cache

Other important performance optimization steps

Tweak .htaccess

Magento comes with .htacess file having several sections related to speed optimization. These lines are commented out and needs to be enabled to avail benefits of it –

Enable output compression –

Apache’s mod_deflate module allows you to sent compressed output to the browsers reducing size of file requested. To enable it, simply remove comment in front of the appropriate lines to have it looks like the below:

############################################ ## 
## enable apache served files compression
## http://developer.yahoo.com/performance/rules.html#gzip
 # 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 application/javascript

 # 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

Enable expires headers

Browser relies on Expire header directive to determine how long to keep a cached ver-sion of a website component like image, javascript file, css files. to activate this features change your .htaccess file as below - 

############################################
## Add default Expires header
## http://developer.yahoo.com/performance/rules.html#expires

 ExpiresActive On
 ExpiresDefault "access plus 1 year”



Categories