Magento: Optimization Tips
Below we have listed some common way to help optimize your Magento site.
- 1: Use CSS/Image Sprites. An image sprite is a collection of images that are put into a single image and called via specific CSS classes to that page in order to reduce the load time of the page, as well as the amount of HTTP requests need to be sent to the server. This also has the benefit of reducing the size of your images and decreasing page load times.2)Minify/Merge Javascript and CSS Files. When CSS and Javascript is minified (or merged) you’re only generating a single HTTP request when loading the content. This helps to reduce the load on the server, as well as further speed up how quickly pages load. One recommendation for this is the “FooMan Speedster” module, which also helps to crunch CSS files (removes extra whitespaces to further optimize the site). Newer versions of Magento (1.4+) contain an option to Merge CSS, while Javascript files are merged by default.
- 2: Disable unneeded Magento modules. In some cases you may find that you have extra modules enabled in Magento that are not necessary to the operation of your site. We highly recommend that you disable these modules in order to reduce the amount of resources that the site is consuming on the server.
- 3: Enable flat catalogs. If you have a smaller Magento store, then changing from the more complex EAV structure to the flat catalog option can help to significantly reduce the resources consumed by the Magento installation when visitors are browsing the site.
- 4: Enable caching. If you do not currently have caching enabled, then you’ll want to enable this in your Magento installation. For Magento 1.5.0.1 and up, Full Page Caching is included in both the Enterprise and Community version and should be enabled. If you run an older version of Magento Community version then the option is not natively available and we recommend that you upgrade accordingly.
- 5: MySQL database optimization. In PhpMyAdmin, you can select the tables and run the Optimize Table command on them. Over time, databases can become fragmented and this may impact the performance of the site. By optimizing the database you’re removing any overhead caused by fragmented or bloated tables.
- 6: Disable Magento Logging. Logging is typically only needed during development and/or for debugging, and as such is not necessary for day-to-day use. By disabling logging, you can help to reduce the disk writes of your site, thereby further reducing its resource usage.
- 7: If you have a lot of images on your site, you may wish to look into moving them onto a CDN. This will remove a lot of the burden from the server, and this can also improve the load times of your site as the CDN will load the images from servers that are local to your visitors.
For more Magento articles, please click here.
David April 8, 2013 at 3:07 pm
It should probably noted somewhere that part of the installation process should be setting up CRON to run /magento/path/cron.php for any of the native cron processes to run properly.
John Oliver at Site5 April 9, 2013 at 3:40 pm
Hello David,
Thank you for the information! I will look through the article and see if we can get that added!
Happy Hosting!
Thomas Hygum January 24, 2014 at 2:06 am
Remember to add compilation to the list, that normally doubles my sites’ speed.
Do you have some external caching mechanisms – which normally are used for speeding up Magento: APC, Varnish, Memcached and such?
James Davey January 24, 2014 at 8:26 am
Hello Thomas,
What exactly do you mean by ‘compilation’? I may be misunderstanding what you mean, and would like to clarify.
As for caching, we do not have any of the ones you specifically mention, but we do have tools in place server-side.
Thomas Hygum January 24, 2014 at 1:04 pm
Compilation is a Magento function found under the system menu. It combines many system files into ca. 4 files. Same principle as CSS minification.
James Davey January 24, 2014 at 1:16 pm
Hi Thomas,
Thank you for clarifying. We’ll certainly take a look at that :)
Thomas Hygum January 24, 2014 at 1:23 pm
Great. Which server side tools are you talking about?
James Davey January 24, 2014 at 2:55 pm
It is mainly based around FastCGI, but with a lot of in-house tweaks to streamline things as much as possible, while maintaining speed and stability.
Kris B July 23, 2015 at 4:33 pm
I was searching more something about images, because on my shop there’s a lot of images per per product and GTmetrix said that this is the heavyset resource. So far I’ve tested Tynypng and ImageRecycle. Seems that algorithm is more effiscient and it compress images at 50/60%. I care about quality too and it’s almost invisible to me. Magento page: https://www.imagerecycle.com/cms/magento
James Davey July 24, 2015 at 5:17 am
Thanks for the tips, Kris!