Have you noticed your website running really slowly lately? I’d guess if you are similar to the four people I’ve spoken to in the last 10 days, when you contacted your host they gave you the run around blaming javascript or, I dunno, the fact that you didn’t eat your Weetabix for breakfast!

In this post we are going to show you how to quickly avoid all the finger pointing that tends to happen, which invariably leaves a site owner or beginner web designers feeling frustrated. I say “we” because this post was a collaborative effort in which Wil, our Technical Director did pretty much all the hard work. ????

Case Study Details:

To properly set the scene there are a couple of things you need to know. The client in this case study is Eamonn O’Brien of the Reluctant Speakers Club. Eamonn offers courses in public speaking and is very switched on to what is happening on his website because to his credit, he blogs frequently. He contacted his hosting company when he noticed that his site was super slow to load pages. His existing site is built on the Joomla CMS with a WordPress blog attached. He noticed the problem when he was logged in to his WordPress blog uploading a new blog post and the response he got from the hosting company’s tech support dept made him feel they were giving him the run around. That’s what prompted an email to us asking if they were spouting BS.

Last thing you need to know is that I am uncertain about the legal ramifications of mentioning the web host’s name in this particular instance, so I’ve removed it from Wil’s email. Who is hosting the website is immaterial to the point here. They were not recommended by us, but we wouldn’t consider them any worse than any of the other hosting companies based in Ireland.

What your website’s speed looks like:

Click the image to get a full sized version:

Hi Eamonn
I ran the site through a page load tool, testing from Amsterdam. You can see the results below:

An explanation of the results to put it in context with what’s happening and what [edit: removed name of hosting company] are saying…

1. The first line shows the initial connection to the site – Very poor.

This is your browser connecting to the server and Joomla loading in and responding with a thumbs up

The Pink part is the time it took to resolve the DNS entry for thereluctantspeakersclub.com from Amsterdam to Ireland. 467ms is a very long time. This is an infrastructure issue and [edit: removed name of hosting company] may be able to do something to tweak response times on their part but there could be a bottle neck anywhere along the route.

The Blue part is where the browser is talking to the Joomla instance on the server. 486ms is a long time. This is purely a [edit: removed name of hosting company] server issue and what comes about with using shared hosting. Either another site on that server is eating up resources or they are running too many sites on the server and it’s struggling.

At this point, no plugins or javascript or anything is being loaded, this is purely the browser saying “Hi” to Joomla.

The Yellow part is where Joomla! and all it’s modules/components are being initialised.  The browser is sitting twiddling it’s thumbs waiting for a response.  This is a combination of limited [edit: removed name of hosting company] server resources and in some cases poorly written modules/components.

At this point, no external resources (javascript, css, images etc.) are being loaded, this is purely the Joomla system being initialised.

The Green part is where Joomla says “Sup?” to the browser and it can get on with loading the rest of the site and its resources.

2. The seventh line down is where mootools.js is being loaded in from the server http://www.thereluctantspeakersclub.com/media/system/js/mootools.js

The file is already compressed so nothing else can be done about that.

The Yellow line is the time the browser is waiting for a response from the server.

This contradicts what [edit: removed name of hosting company] are saying. Yes the file is relatively large, however, it is the [edit: removed name of hosting company] server that is struggling to find, load and send the file 1.19s. Once the file has started to be transmitted from the server it only takes 101ms for the browser to receive it. Clearly a server issue.

There are a couple of long waits further down the report but these are mainly connecting to Facebook, Google and other “off-site” resources and that’s completely out of [edit: removed name of hosting company] or a developers control.

In summary the server the site is running on, in my opinion, is struggling to serve the site and there seem to be DNS issues too. Yes you received some mild BS from [edit: removed name of hosting company].

Joomla! or WordPress – it doesn’t matter

This case study was performed on a Joomla site but the same issues and concerns happen with hosted WordPress websites too.

WordPress will do the same thing in the first line of the speed test – load in the WordPress core and initialise all active plugins.

You could of course upgrade your hosting plan, VPS  or private server and that would help your site’s loading time but that requires money and sometimes it’s not purely your site’s fault, especially if you’re on shared hosting.

We put our own website through the same process and weren’t happy with the results at all.

The results set us on a mission to find out what was slowing down the initial server response and hence our overall page load speeds.

Which WordPress plugins are slowing down my site?

So how can you tell what’s going on in that first line from the speed test where WordPress and its plugins are initialising?

Fortunately there’s a plugin for that and it’s called P3 (Plugin Performance Profiler) and I must say it is the best thing so far to come out of Godaddy.

The plugin performs multiple tests, loading in different types of pages from your site, measuring the response times from active plugins.

The initial test on our website produced the following result:

The report above shows what is happening in that first line of the page load test as far as plugins are concerned.

You can see that loading and initialising the plugins accounts for %82.3 of the overall page loading time.  Eeek!

More importantly, you can see which plugins are taking the longest to load.

There are some things to bear in mind here.

  • The times are a % so it’s relative to your overall page loading speed so 82% of 0.5 seconds is ok – but you’re probably reading this because either your own or one of your client’s websites is performing badly.
  • You may need a particular plugin – in which case you would either need to work with your host company or the plugin author to see how you can reduce it’s loading time.
  • Plugins usually come with some default options enabled and you may not need to use all those options so disable the ones you don’t need.
  • Loading and initialising the plugins could be slow purely due to overstretched server resources, especially if you are on shared hosting.  Check with the plugin author and they will likely come back to you fairly quicly letting you know if it is resource intensive or not.
  • You may have installed a plugin yonks ago and no longer use or need it but it’s still active and eating up resources for every page load.  Deactivate it and see if that makes a difference.
  • Sometimes plugins get out-of-date and their authors no longer update them.  Time to source out a replacement.

So what did we do?

We followed the steps outlined above, deactivating unused plugins, removing options that we didn’t use (especially in Jetpack) and finding alternative plugins for those that were resource hogs.

And the outcome?

A significant decrease in load time for a few minutes effort.

This may not solve your site’s loading time issue, but at the very least you have streamlined your site as much as you can.

You now know what plugins your site is loading and how much time they are taking.

You are now fully prepared to go to your host company and say:

Hey there…
I’ve optimised the gahoolies out of my site – why is it still slow?
Huh?
Tell me?
Hello…?
Are you there? …..

Better prepared is better armed

Instead of going to your host company and asking if they can explain why your website is so slow fire up this free tool for yourself and approach them knowing what the problem is already. That way you will have removed their ability to BS you.

The Tool is a free tool called Full Page Test tool from Pingdom Tools.

Use this in conjunction with P3 (Plugin Performance Profiler) on your WordPress website and you’ll have a shed-load of facts to help you deal with your host company.

I’d highly recommend you run a test of your own website right now to see what your results look like. I would say there is a high likelihood you’ll find some things you’ll need to add to your to-do list!

Let us know in the comments if you find anything in your report that you don’t understand and we’ll happily help explain it to you (in the comments). Happy testing!