For some time now Google has taken website (or, rather, page) load-times into account when ranking pages in their search results.
The reason is simple: fast page-load speeds give your visitors a better experience, and Google is all about improving web users’ experience.
Because of this, I’m not surprised to see questions in the forums that ask things like ‘the best way to reduce the time my site takes to load’.
Unfortunately, there’s no magic bullet to fixing this. Rather, it takes lots of individual steps which, done together, will speed things up.
Causes of slow page-load speed
Broadly, there are four main causes of slow page-load speed:
- The number of HTTP requests (requests for data from web servers) initiated by your page
- The amount of data to be downloaded
- The performance of the server your site is hosted on
- The connection your site visitor is using
You don’t have any control over the connection your site visitor is using, but it’s worth remembering that not everyone is on Broadband.
A lot of web users still have slow, dial-up connections and you should keep this in mind when you build your pages. That is, always build your pages with load speed in mind.
You do have some control over the server your site is hosted on, but let’s deal with that later and look at the areas over which you have the most control first.
Taking the first two points, then, here are some of the things that increase the number of HTTP requests and/or the amount of data that has to be downloaded:
- Plugins (if you’re on WordPress)
- Themes (if you’re on WordPress)
- Links to other sites, if those sites are serving information on your pages (such as images)
Ways to speed up page-load times
You cannot do anything about the connection speed your visitor is using, but all the items I’ve covered below will help users on slow connections.
Poor performance from your server
Slow response times, particularly if they're intermittent, can be caused by your server’s performance or configuration.
Go Daddy, for example, loads a high number of sites onto their shared hosting servers, and WordPress sites hosted on Go Daddy’s shared hosting service are notoriously slow.
If this is you, then I do recommend you look for an alternative solution. This could mean moving to VPS if you want to stay with Go Daddy, or looking for another hosting provider if you want to stay with shared hosting.
But still there’s something to be aware of: if you're on shared hosting (with a company other than Go Daddy) and one of the other sites on the same server starts hogging server resources this, again, will slow down your site.
All that said, the 9 steps I’ve listed below will help, even if you have a poorly performing server.
Reduce the number of HTTP requests and amount of data downloaded
The number of HTTP requests your pages initiate, and the amount of data that needs to be downloaded with each page-load, are directly under your control and, therefore, much easier to deal with.
Here are 9 steps you can take:
- Optimise your images to reduce their ‘weight’ – here’s a great tool for that.
- Activate Gzip to reduce the amount of data to be downloaded – here’s a simple process for doing that, along with the code you need.
- Minimise the use of Flash
- Review the plugins you’re using and ruthlessly remove any that aren’t bringing you a measurable benefit. Delete them as well as deactivating them.
- Review the theme you’re using and test your page-load time using different themes. Well-coded themes generate less HTTP requests, and thereby speed up page-load times.
- Keep your database optimised – the WP-DBManager plugin can be set up to optimise your database automatically on a schedule.
- Clean revisions and old versions of your posts and pages from your database. The Better Delete Revision plugin does a superb job on that – it reduced the number of articles in my database from more than 2,300 to 356 the first time I ran it
- Implement a caching plugin – I use W3-Total-Cache and described how to implement it here.
I deliberately listed the installation of a caching plugin last and the reason is simple:
A caching plugin cannot improve a poorly coded site.
You will see some benefits in speed with a caching plugin, even if your site is poorly coded and not optimised.
But you’ll get more bang for your buck (a bigger benefit in page-load speed) if your underlying code is clean and everything has been optimised before you implement one.
As I said at the start, there's no silver bullet to improving page-load speed. Rather, it requires lots of steps that, together, will get the improvements you need.