I’ve noticed that my results with WPT are significantly worse compared to the other speed test tools I use: Pingdom and GTMetrix.
Hope you can clarify if I’m misinterpreting / doing something wrong. Test location / test speed set the same across test tools as far as I can see. Rerun tests many times, average variance seem to hold.
Quite a big difference. Any ideas?
Thanks for looking.
I’ve tested a product with no images added to rule out images being the cause of slow download but strangely I got a worse result:
Pingdom is expected to be radically different because they don’t apply any traffic shaping. Historically they also haven’t used real browsers but I’m not sure if that’s still the case (their UA string looks like Chrome 39).
As far as GTMetrix goes, I’m not sure what is going on with their test but the traffic shaping doesn’t look to be working correctly (though it may be close). Some quick back-of-the-napkin numbers using the 2.14MB total bytes they recorded and 5Mbps connection profile:
2.14 MB * 8 bits per byte * 1024 KB per MB * 1024 B per KB = 17,951,621 bits
5 Mbps * 1000000 / 1.026 (2.6% TCP overhead) = 4,873,294 bits per second
17,951,621 / 4,873,294 = 3.68s
So, on a perfectly warm connection with no round trip delays of any kind it would take ~3.7 seconds to transfer the 2.14MB of page data. 2.9s isn’t physically possible. There’s a few hundred ms of round trip times waiting for the first byte and also TCP slow start so 4-5 seconds on a 5Mbps connection looks about right.
Thanks for getting back. That’s clever stats :-). I’ve always wondered about the variance, these other speed tools are quoted by so many tech people as evidence of a fast site but they seem a weak measure, fundamentally flawed.
Ok, obviously I’ve got some work still to do to get a faster site. Could I grab some advice? I’m not a developer I’ve done pretty much all I can bare getting an expensive hosting solution (is this the solution). I’m with SiteGround (best shared option), Static, dynamic, and mem cache tools enabled, + use of WP Rocket cache tool + CloudFlare Pro, aggressive photo optimise.
Would you have any general / simple advice that could help a non tech like me get a better speed for our customers?
Hosting looks fine. What you have is mostly front-end (design/app) issues.
A few things jump out:
Merge the css and js files into fewer bundles instead of individual resources. Even with SPDY/HTTP2 it helps and for the non-SPDY cases it is critical. The first ~40 requests should be able to be reduced to 3-4.
Use custom fonts sparingly. Looks like there are at least 4 on that page and they will delay text rendering pretty significantly.
Decide if you REALLY need the AddThis widget and code. I don’t know if it’s better now but it used to do a lot of bad things to pages (and used to be a blocking script). If you do, make sure it is loaded asynchronously.
Looks like the photo gallery widget loads all of the images simultaneously (this is where the bulk of the page weight comes from). It would be a LOT faster with a smarter gallery that only loads the initial photo during the initial page load and loads the other images after the main content has loaded (pulling it off well requires some work though). It also loads the high-resolution zoomed versions during the initial page load.
Realistically, you could get the load times down to about 1/3 of what they are now, particularly with the change to images and the css/js merging.
Ah, that’s very interesting issue about the gallery images. I purchased two plugins from Woocommerce, you’d think they would consider such issues!
I’ll ask the theme developer about those fonts I think they only use x2 so could be another plugin creating additional font requests??
I’ve been told by Addthis that it loads asynchronously, I removed it, but it didn’t seem to make a difference
The WP Rocket plugin is mean’t to merge css and js into smaller packets, so I think that is covered, but to be honest I’m not sure if it is doing it correctly. Was that just a general observation or specific insight?
The css and js was a specific insight so it doesn’t look like WP Rocket is effective (or maybe not configured correctly). The first 30-40 requests in the network waterfall diagram are all for separate js and css files.