Step 1: Enable Flat Catalog for Product and Category.

If you have a large amount of products on your site (>10,000), this update decreases load times on searches, product listings, etc. I can’t see this ever slowing down your site, even with only one product, so no reason to not tackle this easy one.

b1

Step 2: Enable all caches.
Go to System->Cache Management->Select All->Enable.

This one is an absolute no-brainer and provides one of the best performance enhancements you will get in Magento. This caches the XML layer in Magento, along with some other information, to speed up PHP processing time.

b2

Step 3: Install Phoenix Varnish Cache extension.

http://www.magentocommerce.com/magento-connect/Phoenix/extension/6322/varnish_cache

The PageCache module allows you to control your Varnish Cache instance from the Magento backend to trigger purge requests for single stores or content types. It also prevents caching of store pages containing customer information like shopping carts or logins.

b3

Step 4: Merge JavaScript and CSS Files.

Combines the many css and js files defined in Magento’s XML layer into one large file for each (one for js, one for css). It speeds up your site because it reduces the number of http connections needed in order to fetch this data through a web browser.

b4

NOTE:

 

If after merging javascript files, jQuery and jQuery.noConflict() reference error comes out, then you need to find whether jquery-1.8.0.js (changes according to your jquery version) and noconflict.js files are added before prototype.js.

Check if they are added in skin_js, then copy these two js files from skin_js folder to js/jquery folder at magento root folder.

Remove the code of adding these two js files from appropriate layout xml file.

 

Further add the following code to page.xml file under “default” section inside block with reference name as “head”:

Step 5: Disable Logging.

This is disabled by default, but be sure to double-check it is disabled on production environments, as this setting can drastically slow down your website if enabled.

b5

Step 6: Compilation.

This option compiles all Magento installation files and creates a single include path. Remember to disable this module before upgrades. The compilation process may need to be run again when new files are released. Recommended for high-volume websites or sites that are not often updated as it reduces PHP processing time and TTFB.

b6

Step 7: Enable Far-Future Expires.

Find the line:

ExpiresDefault “access plus 1 year”

in .htaccess file at magento root folder.

Paste the following two lines:

ExpiresActive On

ExpiresDefault “access plus 1 week”

below the above line.

These few lines add expires directives to your images and some other files. This tells the web browser to cache the contents for a period of time on these items, cutting down HTTP requests and load time for future visits. This is also a must-have and often overlooked tweak. These few lines took a Magento site with a few of the above tweaks from a PageSpeed of a 70 to an 83! Also note, the default ExpiresDefault line should remain commented out to prevent long-term caching of dynamic PHP files.

Step 8: Gzip compression in .htaccess file.

Find “enable apache served files compression”

Replace these lines

with

 

This is a must-have tweak. It decreases page size by over 30%, and takes a base Magento home page PageSpeed from a 32 to a 69.

Note:

I also find a nice article “Make your Magento Store fly using Varnish“, which may help you to improve your Magento  performance more.

————————————————————————————————————————————————————————————————————-

Issue Fixed By: Nimit Shah