One of the most difficult things to do with a Magento site is to make it load faster. Due to the complex nature of how the Magento system works, even if you have a low graphics home page theme you will find that it will take 3-4 seconds for a standard category page to load.
Should you load your theme up with heavy graphics usage, that load time can increase to 5-10 seconds. Here are some tips we recommend to help speed things up as well as resources to help you along the way.
TACTIC #1: CHOOSE THE RIGHT MAGENTO WEB HOST
If you want to get the most out of your website it will require an investment in a dedicated web hosting package unless you anticipate only 5-10 orders per day. If you expect to have a decent amount of traffic visiting your site on a daily basis, make sure you are investing in a hosting package that is prepared for this. One dedicated web host I recommend, due to their experience with Magento, is SiteGround magento hosting (60% OFF NOW! Only $3.95/Month the regular $9.95/mo)
One thing to remember with dedicated hosting, which means you have your own machine to serve web pages, as opposed to shared hosting which means 30-50 hosting accounts can share a machine, is that you have full resources dedicated to serving your website instead of resources being shared across other websites. It also means you will receive a level of support superior to a standard $10/m hosting service.
TACTIC #2: USE A CDN NETWORK
TACTIC #3: OPTIMIZE AND PROPERLY LABEL IMAGES
If you are loading images in your navigation menu, you are going to be calling these files with every page view so it is critical to make sure that you optimize these images are designed for peak performance otherwise your website load time will suffer. Here are three tips to consider with images that appear on every page (such as on the footer or navigation menus and headers)
1.) Do Not Scale Images
This means that if you have an image that loads at 150×150, make sure the image you are using is actually 150 x 150 in size, instead of taking a much larger file and scaling it down via html. For instance, if you are using an image that is 79 KB with a measurement of 450 x 450, and use the html code to scale it, such as ‘height=150 width=150′ – you are still serving the large 79 KB file.
Instead of scaling larger images, you should change the size of the image to 150×150 and use that for your image. The size of the file will be smaller and that will greatly reduce your bandwidth and load time. Repeat this process for each image and you will see a significant difference in load time.
2.) Properly Assign Height And Width Attribute
One tip that appears in every ‘website speed analyzer’ is the reminder to specify the height and width of an image. Use the html width and height tags for each image you serve.
3.) Consider “Smushing” Your Images
If you have an image that needs to serve with 150×150 dimensions, and you made sure the image is that size, you still need to see if you have made it as small as possible while converting quality. You can either use a graphics tool to adjust the quality or use Yahoo’s Smush It Tool:
This allows you to reduce the size of an image without compromising its quality. This is highly recommended if you want to save potentially 100+ KB of load time with images.
Following these 3 steps can reduce your load time by seconds and reduce the data transfer by one half or even more than one megabyte depending on how many images you serve on each page load. Use steps 1 and 2, if possible, for product images and slider images and your website will load even faster.
TACTIC #4: ENABLE MAGENTO CACHING
Enabling Magento caching system can be the basic, and foremost, the simplest way in which you can optimize the performance of your Magento site. As Magento caching is, by default, disabled, once enabled,your website will start serving pages to your website visitors faster.. Setting u magento caching easy. Simply go to your Magento Admin Panel, and in the System Menu, enable cache management.
TACTIC #5: TWEAK YOUR SERVER
It is usually recommended to have Mysql and your web server work separately on different locations in order to maximize resources for each service but, if this is not possible, consult with your web host about the following:
TACTIC #6: UPGRADE TO PHP 5.4+
You should check with the requirements of your modules, especially 3rd party modules you add to Magento, to see if they run into any issues with php 5.4. It is highly doubtful that they would but I feel it is appropriate to bring this to your attention as I feel research, before taking any action in modifying the server, is critical to avoid any headaches.
For your reference, running PHP 5.4 will allow in an uptick in performance because php 5.4 will perform significantly better than the previous versions 5.3 and 5.2 and will allow you to take advantage of any other performance enhancements that will come from future versions of Magento and, quite possibly, any module you add to Magento.
TACTIC #7: MY SQL CONFIGURATION
Consult with your web host and see what settings they have for Mysql Query Cache as well as making sure that they have settings optimized for an intensive website that puts its database to its limits. This resource provides a simple checklist of settings they should pay attention to.
These are the most basic steps you can perform. While there are more advanced methods above the scope of this article that you can implement, I would strongly suggest you follow these steps before taking the next steps to optimizing your website. For more advanced tips in optimizing your resource, check out Magento’s Performance Tuning White Paper
Sign up for it and you will receive it in PDF form. If you have questions or would like to learn more about how to finely tune your website for optimal Magento performance.