Every webmaster knows of the two famous caching plugins – WP Super Cache and W3 Total Cache. Both are widely used by large sites and both claim to speed up your site by serving cached copies of pages rather than regenerating them every time they’re requested. Which one a person uses has so far been a matter of taste. One thing to remember is that W3 Total Cache also allows minification and combination of JS and CSS files. If you’re using WP Super Cache without additional plugins to enable this functionality, then it will be slower. But how slow?
It’s also possible that the two will perform better or worse depending on the complexity of the site and the number of plugins. So we have to make two types of comparisons:
With a fresh install;
With a fully loaded WordPress site.
Let’s do some direct speed checks. As usual, there are many ways to measure loading speed. Both output a little snippet of code at the bottom of the HTML letting us know how quickly the page was generated. But we want to know the difference in the actual user experience, so let’s get to work.
I start off with a fresh WordPress install. The webpage will be http://wpsc.webhostingshed.com/. First we have to establish a baseline loading time. Also keep in mind that I’m going to track first page loads only. Repeat views by the same user are significantly faster, but I want to try and duplicate the experience of a first time visitor to the site.
There are many services that check your page speed for you. But since I want to get a first hand look at the end user experience, I’m going with http://www.webpagetest.org/. There’s a facility where it allows us to record a video of the actual page loading. So when we fire up our brand new WordPress install, here are the results:
Fresh WordPress Install without Caching
Page load time: 3.9 seconds
That’s quite a high page load speed for a bare bones WordPress installation! Imagine what it would be like when it’s fully loaded up! But this by itself means nothing since we could be looking at the specific server characteristics. How do the caching plugins affect the page speed?
WP Super Cache Performance
I install and activate the WP Super Cache plugin with the recommended settings and fire up the page load test. Here’s what I got:
Fresh WordPress Install with WP Super Cache:
Page Load Time: 2.5 Seconds
Already we see a massive improvement in the page load speeds. This is to be expected. We’re being served a cached page instead of one that has been dynamically generated after all. Now moving on to our next contender.
W3 Total Cache Performance
After installing W3 Total Cache, I enabled the basic options – page caching and minification. I decided on the latter even though the facility is not available in WP Super Cache out of the box because it’s what an average user would enable the first time around. I’ll do a second test after disabling the minify option and see how it stacks up using just the Page Caching feature. But the results were impressive nonetheless.
Fresh WordPress Install with W3 Total Cache
Page Load Time: 1.5 Seconds
The difference is truly staggering. Not just a massive bump up from the original page loading speed of 3.9 seconds, but it shows a 40% increase over WP Super Cache as well! I thought my results might be wrong so I re ran the tests, and still got the same improvements.
Out of the box, W3 Total Cache is a clear winner. But how does it perform without the minification option enabled on a clean install? Let’s find out.
Fresh WordPress Install with W3 Total Cache and Minify Disabled
Page Load Time: 1.4 seconds
This seems odd. The page load time is lower with minification disabled! This is probably because in a fresh install, the overhead of minification and combination outweighs the minimal resources requested in the first place. I guarantee you that the difference will become far more significant when we build up the site with a lot of plugins.
So the results for a fresh WordPress install are in. W3 Total Cache comes out the winner by any yardstick even if you just go with the default options.
Loading up our WordPress Blog with Plugins
So I found some of the heaviest, most resource intensive plugins based on my experience as well as those of others on the net. They don’t work together, and there’s no cohesive theme binding them other than the fact that they slow things down. Here’s the list of add ons:
GD Star Rating
Yet Another Related Posts (YAARP)
YOURLS Link Creator
Mind you I have nothing against these plugins. They all serve a specific purpose that some blogs simply cannot do without. I’m sure you’re familiar with the experience of going through your long list of installed plugins, trying to see which ones you can remove and simply coming up blank. Very often you just have no alternative but to use them.
So with that out of the way, let’s start running our tests. As before, we’ll do a baseline speed comparison without any caching plugin. Our fresh WordPress install took 3.9 seconds to load last time. What will it be now?
Loaded Installation without Caching
Site Load Time: 5.4 seconds
So that’s an additional 1.5 seconds over our fresh install. An increase of around 40%! Anyone who’s used WordPress for a long period of time will expect this. Plugins can truly slow your site down to a crawl. And this is with just bare bones content! Imagine if there were polls, dynamic statistics, advertisements etc. Brrrrrr.
Caching plugins to the rescue. As before I’ll activate WP Super Cache first, and prime the cache by loading the homepage once in the browser so that when I run the test, it’ll serve up a cached page instead of dynamically generating one. Results:
Loaded Installation with WP Super Cache
Site Load Time: 3.3 seconds
As before, we see a significant boost in site speed as expected with a caching plugin. This mirrors our first test with WP Super Cache. It’s now loading a bit faster than a fresh WordPress install without any caching. Time to test W3 Total Cache.
Loaded Installation with W3 Total Cache:
Site Load Time: 2.7 seconds
And yet again as before, W3 Total Cache outperforms WP Super Cache by a significant margin. Keep in mind that we’ve hardly optimized the plugin. I’ve used all the default settings. There are a lot of tweaks you can do to squeeze even more performance boosts out of it.
But we want to be fair like last time and disable minification. And here’s what we get.
Loaded Installation with W3 Total Cache and Minify Disabled
Site Load Time: 3.4 seconds
And this is once again the expected result. Last time on a fresh install we noticed that speeds were actually faster with minify disabled. My explanation was that the overhead wasn’t worth it when there was no need and that when the site was fully loaded, it would make a massive difference. That prediction has been verified. Hey – I’m a genius!
So we can see that with minification disabled in W3 Total Cache, there’s not much to choose from between the two plugins. But when enabled, WP Super Cache is left behind in the dust. It’s a bit unfair of course, but these are the default settings that a regular user would be most likely to use.
|WP Super Cache||W3 Total Cache|
|W3 Total Cache|
|3.9 sec||2.5 sec||1.5 sec||1.4 sec|
|5.4 sec||3.3 sec||2.7 sec||3.4 sec|
Whether you’re using a fresh WordPress install or one with a dozen plugins, caching will greatly speed up your site. And though WP Super Cache is easier to get started with compared to W3 Total Cache, the latter seems to have the edge in terms of performance.