Fulfilling every requirement an eCommerce site holder expects, this giant framework sometimes really behaves as a "heavy" framework if not configured correctly.
Besides selecting the fast web host, these are the points that need to be cared of in your way of Magento site optimization:
1. Upgrade to Latest Version
The newer version holds the drawbacks, performance issues and bug fixes of the existing code, and of course, that is the reason it is released!
There are several tutorials that provide step-by-step guidance for Magento upgradation. Magento notifies you about the important updates in the admin panel messages inbox itself.
2. Enable Magento Cache
Third-party extensions have been reported to achieve better results but, don't miss out to utilize Magento's in-built cache.
To enable it, go to 'System > Cache Management'
Select all caches and select 'Enable' from the dropdown & click 'Submit'.
Keeping the cache enabled may cause certain issues if they are not refreshed whenever required. As a solution, you can set a cron to refresh the invalidated caches automatically.
3. Compress Images
Of course, an e-commerce site will be consisting of thousands of images and that's why it is not feasible to upload them with their original size.
Optimizing the images of your site can dramatically reduce the page load time. You can easily compress images using tools like PhotoShop or online tools like GTMetrix automatically offer you the downloadable link for compressed images.
See Also: Match Pace With Mobility, Use CSS To Create Responsive Images
Navigate to System > Configuration > Developer tab.
5. Take Advantage of Flat Catalog
Navigate to System > Configuration > Catalog.
Select 'Yes' under 'Use Flat Catalog Category' and 'Use Flat Catalog Product'.
Magento is shaped to store customer & product data in an EAV structure. By enabling flat catalog product & flat catalog category, it will merge the product data from different tables in a single table which subsequently reduces the number of MySQL queries fired.
6. Enable Magento Compilation
Magento has an in-built compilation feature which sometimes shows a vast improvement in page load time.
Magento has a lot of application files stored under different directories. Every time the page gets loaded, many file reads are made by the system.
Keeping the compiler enabled copies all of these files in a single include directory and also caches those files which are used most frequently. As a result, it reduces the number of file reads to boost up page speed.
If any updates, code modifications or extension installation are needed, you need to disable the compilation mode first and make the install. Otherwise, it will result in many ERRORS.
7. Browser Caching
Browser caching can be subdivided into enabling Gzip compression and adding expire headers to your .htaccess file as below:
(a) Gzip compression will be done on web pages and stylesheets at the server level itself. It will be sent to the browser after compression.
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/vnd.ms-fontobject
AddOutputFilterByType DEFLATE application/x-font
AddOutputFilterByType DEFLATE application/x-font-opentype
AddOutputFilterByType DEFLATE application/x-font-otf
AddOutputFilterByType DEFLATE application/x-font-truetype
AddOutputFilterByType DEFLATE application/x-font-ttf
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE font/opentype
AddOutputFilterByType DEFLATE font/otf
AddOutputFilterByType DEFLATE font/ttf
AddOutputFilterByType DEFLATE image/svg+xml
AddOutputFilterByType DEFLATE image/x-icon
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/xml
# Remove browser bugs (only needed for really old browsers)
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0 no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
Header append Vary User-Agent
(b) Expire headers indicate the browser whether it should read a file directly from its cache or should request it to re-fetch it from the server.
## Add default Expires header
ExpiresDefault "access plus 1 year"
8. Be Sure the Third Party Modules Don't Obstruct Site Performance
No matter how many steps you take for site optimization and no matter how many caching extensions you buy, if the code customizations or developer's of the third-party modules don't follow the smart programming practices, it could push all the above attempts in vain.
It is always recommended to buy extensions from reliable vendors only and then too, keep the number of modules to a minimum number.
A step ahead to this, it is recommended to hire a reliable developer and get your custom needs fulfilled rather than mixing up with a variety of vendors' modules.
Right from choosing the hosting provider to adopting smart programming practices, if there are any other ways you have noticed, do reach us out and share your idea!