Server To Blame?

Hey everyone, first post here! I’ve been trying to optimize my wordpress based site for the best part of a week now. I have done pretty much everything that has been recommended after reading through countless blog articles and doing hundreds of tests on sites like this.

Here’s a link to my most recent test on WPT: http://www.webpagetest.org/result/130221_G8_ZGG/ (if that’s not working here’s a direct link to my site)

The main recurring problem seems to be the wait time, which can be as much as 5 seconds. Once data actually starts being transferred it generally takes 1-2 seconds to load, which I can live with.

Like I said I’ve taken almost every measure I’ve come across to improve load times. In case you were wondering I’ve actually been using a CDN (Cloudflare) too, although I have it deactivated for the moment, it barely helped the situation at all and I wanted to see if it was actually making things worse.

The only major thing I’ve not tried is sharding, which I’ve read mixed things about, perhaps it would help in my particular situation though? I’m just not sure.

My thinking is that it’s either my hosting (which is Dreamhost) or the wordpress theme I’m using (link to live demo of theme which also seems to take a little while to connect). I’m hoping someone here could perhaps pin down where the problem lies so I can rectify the issue. If it means changing host or redesigning my site around a new theme then so be it.

Thanks in advance for any help you can offer, I really appreciate it!

Not sure we are looking at the same tests. From the link you provided it looks like the base HTML came back really quickly (under 1/2 a second) and then it was all of the front-end requests that took the time: http://www.webpagetest.org/result/130221_G8_ZGG/1/details/

If that is what it typically looks like then the issue is mostly your theme. Requests 2-27 are a result of how the theme is built and there’s a fair bit of request blocking going on (lack of requests being in flight at the same time).

Your biggest win would come from merging all of the javascript together and making sure it is all in the right order and the necessary code only is loaded (looks like several copies of jquery being fetched for example). That could shave close to 4 seconds off of the load time (and all of it before the first paint).

Thanks for the reply. Is merging the javascript together something I could do with a plugin or tool already available? Or is that the kind of thing someone with the know how would have to do manually?

I had to turn off JS minification in W3 Total Cache plugin because it broke all the images that are generated by JS. I’m not sure if the ‘win’ you suggest would be achieved through minification or if it goes a step further. Four seconds is huge though and would save me the hassle of changing theme so I’d be willing to pay for the expertise or tool that can help me do it.

Another thing that annoys me about the theme is the way those four images beneath the carrousel are generated. I don’t intend on changing them very often at all and would rather they weren’t coded in JS as the generation process is cumbersome and the image sizes much larger than they need be, again that’s something I wouldn’t know where to start with. Maybe I should just pay the creator of theme to customise it for me if he’s willing.

Thanks again for your input and I’m sorry for the double post. I waited over 48 hours after making my previous post and thought it had been missed by the mods so I created another!

W3 Total Cache can help with the merging. You need to give it a list of the files to merge in the UI and then it will merge those together.

No, the image win has nothing to do with js minification. It is all about how the images were saved before they were uploaded to the site. If it’s part of a regular workflow then you need to get it into the actual publishing process. I’m not aware of any wordpress plugins that will automatically do lossy compression on images but if you can find one that may be able to do it automatically for you.