Talking about speeding up a website is a topic I really like. I was inspired to combine my notes in this document a few month ago by a post on Techbasedmarketing.com.
Searchengines, especially Google, put much emphasis on load times today and include it in their parameters for ranking. Slow sites are not user friendly and Google wants to give their users a good experience as well, which means not offering them slow sites.
Also as a PPC advertiser you have to make sure to have a fast reacting site. What does it help when the SERP (Search Engine Results Page) presents you ad in 0.45 seconds, but your site takes ages to show up after the click on the ad? You pay for the click, but the visitor is probably gone.
So, here are a few areas to pay more attention to for making your websites faster:
Get latest versions
When running your site on WordPress, it is mandatory to update your site to the latest version. This is not only for WordPress alone, but also for the plugins and themes you use. There are many benefits from this: bugs from previous versions got fixed, new – sometimes useful – features get implemented and often times there were optimizations regarding speed. Also running an updated system is more hacker proof than having a site with an old and buggy version.
Remove stuff you don’t need…
… or that doesn’t work anymore (dead affiliate links etc). Some WordPress installations have many plugins sitting around that are not used. This not only uses up space on your hosting account, but also can slow down site performance. Often you can combine the functionality of several plugins in one. An example is to get rid of the plugins for xml-sitemaps and google analytics. You can easily enter the analytics code and also switch on the sitemap functionality in some SEO plugins. This results in 2 plugins saved, less updates, better security.
It is a good idea to resize the image so it really fits the position it is meant for. Don’t do resizing by just applying different Width & Height attributes to a big picture. Make them the correct size and also play around with the resolution of the picture itself.
Another way to make the pictures smaller is by using the best suited file type. Most people are quite lazy and only use JPG, which is best suited for photo type pictures. But quite often it is also used for banners, buttons, logos etc. which only contain a few colors. For these purposes it makes sense to check out other file formats like PNG, PNG8 and GIF. They deliver adequate quality with much smaller file size.
To optimize image size on the fly, you can install a plugin called Smush-it. http://wordpress.org/extend/plugins/wp-smushit/
It compresses all the images you already have in your media folder and does so whenever you upload new ones. I did this once and then removed the plugin as the files keep their size after compression.
Another, more advanced way of speeding up the site is by combining images with CSS in so called Sprites. This will reduce the number of HTTP requests and therefore speed up the loading of the site. It will also lessen the load on the server (fewer requests) and reduce bandwidth (like all optimization steps do).
Third Party Tracking
As already described, implementing 3rd Party tracking or buttons like the Facebook ‘Like’, can severely slow down your site. To overcome this, some plugins (e.g. Google Analytics) offer asynchronous loading so a slow server on the 3rd Party site doesn’t influence the loading of your own site.
Similar things can happen with affiliate banners that you get from affiliate networks. Quite often a simple HTML snippet that you get from them causes a big (in KB) advertisement to load on your site. To speed this up, you can save the picture of the ad and host it on your own server (apply all the steps to optimize the image from above) and embed it in an affiliate link that doesn’t load anything but just transfers your affiliate code. With this you save a HTTP request to an external site you don’t have control over and also have the ad load faster.
CSS and JS usage
Both CSS and JS files are plain text and quite often contain a lot of comments and blank spaces. This you can optimize, too. There are many optimization tools on the web that reduce file size by eliminating this non-used content without changing functionality. Remember, a small file is transmitted faster than a big one (search for JS or CSS minify)
It is also possible to combine often called JS files into one (same applies for CSS files). With this you only have one call to the server and get the equivalent of many files transmitted to the browser in one go.
This is easy to do when you program your own sites, but for WordPress you find plugins that do the job for you.
Caching your Website
This works well, but probably only when you have decent traffic on the site and your pages get called quite often. With small, low traffic niche sites on shared hosting I didn’t experience performance gains as the time between single visitors (who also requested different pages) was too long. Maybe I did something wrong in the setup, but for me it only worked on sites with more traffic, where the same pages were requested over and over.
All the above should give your site a little boost in performance. The biggest improvement comes now:
Switch on HTTP Compression
This is done on the server and the server compresses a text resource (HTML, JS, CSS) before sending it to the browser. This saves a lot of bandwidth (usually between 50% to 70%) and makes the pages load faster. Remember, smaller files get transferred faster. I also found some WordPress plugins enabling compression, but the results were not as good as when my server admin did the job.
Get a better Webhost
Usually you get what you pay for. But speed is not everything when shopping for a webhost. Also consider customer service, additional bandwidth cost, proximity to your audience (means shorter lines and quicker loading).
IMHO, I would work on all the above mentioned optimization tips and those mentioned by Lynette, before changing hosting providers.
Using all of the above mentioned steps I was able to lessen the load time for my sites significantly. From 5-7 seconds to about 2.7 seconds for a WP site on shared hosting and to under 0.5 seconds for a static HTML site on a fast host (also shared hosting, but just 35 sites per server).
The results for the WP site could be better if I were using a faster host located nearer to its main audience. Currently it is hosted in Europe, which requires some additional hops around the networks. Two main issues are slowing it down at the moment: the slow shared server with a mass hosting company and WordPress itself are responsible for a long Time To First Byte (1.5 seconds). The external tracking tool also takes its toll (0.8 seconds at the end of the load).
It takes some time and effort to really speed up your site, but the results pay off in better user experience and conversions.
These website tuning tips helped me improve loading speed.
Please comment below and let us know what you did to speed up your site