WP Super Cache, W3 Total Cache or WP Rocket – Which Is The Best WordPress Caching Plugin?

WordPress Deals

When it comes to speeding up your WordPress site, using a good WordPress caching plugin is one of the most popular tips you’ll see.

It’s in pretty much every piece of advice written on the subject — and for good reason. A caching plugin such as WP Super Cache, W3 Total Cache or WP Rocket, three of the most popular — and arguably best — will almost always make a huge difference, especially on cheap WordPress hosting.

However, you probably have questions… questions such as:

  • Do I need to pay for a premium caching plugin, or are free caching plugins from WordPress.org just as good?
  • How big of an impact does caching actually have?
  • Can caching make sites hosted on cheap shared WordPress hosting (such as Bluehost) as fast as sites hosted on much pricier managed WordPress hosting (such as WP Engine)?

In this post, I’m going to try to answer all of these questions (and more) with real testing data by testing the three above-mentioned caching plugins (plus one ‘control’ site that has no caching at all) and two different hosts, namely Bluehost and WP Engine.

I’ll take you through the performance test data for each plugin, then I’ll help you to make sense of it all at the end of the post.

Side note: Check out this post if you’re not sure what caching is.

WP Super Cache vs W3 Total Cache vs WP Rocket: What I’m Comparing

In this post, I’m going to compare the three most popular WordPress caching plugins:

  • WP Super CacheFree — a simple offering from Automattic (the same company behind WordPress.com). It’s active on more than two million WordPress sites, and offers a beginner-friendly approach to caching.
  • W3 Total CacheFree — this is the most flexible (and complicated) WordPress caching plugin you’ll find. While setting it up can be a little overwhelming, it gives you tons of nitty-gritty options for controlling how caching works on your site.
  • WP Rocket — $49-plus — the only premium option on this list, WP Rocket justifies its price with a user-friendly interface and lots of non-caching performance features, such as minification, database optimization, lazy loading and more. Learn more in our WP Rocket review.

Beyond that, I’ll also compare two different hosts:

  • Bluehost — the cheap $4.95 Plus shared plan — where I’ll use the caching plugins. I’m on the USA data center, which is located in Utah.
  • WP Engine — the cheapest Startup plan — where I’ll use WP Engine’s built-in caching. I’m also on the USA data center, which WP Engine’s support team have told me is in South Carolina (specifically, Google us-east1).

The basic idea of this last comparison is to help you to understand if using a good caching plugin on cheap WordPress hosting (Bluehost) can get you close to the page load times of a quality managed WordPress host (WP Engine).

So, in total, you’ll see five data sets:

  1. Bluehost with no caching to act as a ‘control’
  2. WP Super Cache on Bluehost
  3. W3 Total Cache on Bluehost
  4. WP Rocket on Bluehost
  5. WP Engine with its built-in server-level caching — no plugin

Finally, to make sure this approximates a ‘real-world’ situation, I’m going to use a complete Avada demo site. Avada is one of the most popular themes in existence, and the Avada demo sites include lots of images and other ‘heavy’ elements, which should create a testing environment that mimics a typical real-life WordPress site.

For each situation, I’ll:

  • Run four tests on GTmetrix and take the average score. I’m using GTmetrix’s Dallas, TX test location, and I’ll do this on two separate days (so eight tests total for each configuration).
  • Use Load Impact to simulate 50 visitors over five minutes to see how each situation performs under scale. I’ll use Load Impact’s Ashburn, VA test location (AKA Washington, DC).

All righty, with all that explanation out of the way, let’s get into the data!

1. The Control: The Basic Site at Bluehost With No Caching

To create the basic site, I installed Avada and imported the complete Freelancer demo site (including all of the content and widgets).

Here’s how the site looks (there’s also lots of below-the-fold content):

The test website

It’s pretty weighty, with:

  • lots of images
  • Parallax
  • animated counters
  • a contact form
  • etc.

– for those interested, here’s the entire screenshot of the full homepage.

Basically, it’s similar to a real site when it comes to the amount of ‘stuff’ going on. Beyond that, I installed some other common plugins, such as Yoast SEO.

Finally, it’s important to note that, while Bluehost does come with its own in-dashboard caching solution, I turned it off for these tests. So there’s zero caching going on.

First, I ran it through GTmetrix eight times on two separate days:

Day 1:

Average Test 1 Test 2 Test 3 Test 4
3.58 s 3.7 s 2.8 s 2.7 s 5.1 s

Day 2:

Average Test 5 Test 6 Test 7 Test 8
3.83 s 3.6 s 2.1 s 5.3 s 4.3 s

That puts the overall average at 3.7 seconds across all eight tests.

Next, I ran it through Load Impact (analysis below):

No Caching Bluehost Load Impact test

You can see that, as the number of active visitors increases (blue line), the page load times jump around a lot (green line) and have huge spikes near the end (going up well over ten seconds). The biggest traffic spikes start around the time when there are 40 active visitors, and continue until the end.

Basically, this is telling you that, while Bluehost’s cheap shared plan can load your site in an average of 3.7 seconds for a single visitor, it has trouble loading your site that quickly if there are 40-plus people visiting your site at the same time. If you have a high-traffic site, this means your page load times may be erratic in a real-world situation.

Beyond raw page load times, caching plugins can also help to scale your site, so it will be interesting to see if the caching plugins can smooth out the Load Impact chart for Bluehost.

2. WP Super Cache on Bluehost

WP Super Cache is a super simple caching plugin from the folks at Automattic. If you want, you can simply install and activate the plugin, select a radio box and call it a day:

WP Super Cache basic settings

(click to enlarge)

In fact, that’s pretty much how I configured my test site. While WP Super Cache does handle some other things, I only turned on the settings marked ‘Recommended’:

WP Super Cache advanced settings

(click to enlarge)

All in all, if you want something that’s simple and free, WP Super Cache is a stellar option. Here’s how it performed in the tests…

Day 1:

Average Test 1 Test 2 Test 3 Test 4
1.75 s 2.0 s 1.5 s 2.0 s 1.5 s

Day 2:

Average Test 5 Test 6 Test 7 Test 8
1.98 s 1.5 s 1.4 s 2.3 s 2.7 s

That gives WP Super Cache an overall average of 1.86 seconds, which is about a 50% reduction from the no-caching test. We can confirm page caching does indeed work!

Unfortunately, WP Super Cache wasn’t able to change the same pattern in Load Impact. You can see that page load times are pretty steady up until there are ~40 visitors active. Then they jump over ten seconds again:

WP Super Cache Load Impact test

3. W3 Total Cache on Bluehost

As I mentioned earlier, W3 Total Cache is the most flexible caching plugin on this list — but also the most complicated.

Beyond throwing tons of different terms at you — database cache, opcode cache and so on — each type of caching also gets its own detailed settings area:

W3 Total Cache settings

(click to enlarge)

This is a big departure from WP Super Cache, where you can pretty much just click a button and call it a day.

For this test, I enabled page caching and minification, but nothing else. I believe this is the simplest, most accessible configuration for most WordPress sites, but it’s also important to note that this test doesn’t include every single feature in W3 Total Cache, so you may be able to get a bigger performance boost if you play with its settings.

Here’s how W3 Total Cache performed…

Day 1:

Average Test 1 Test 2 Test 3 Test 4
2.23 s 2.6 s 2.3 s 1.4 s 2.6 s

Day 2:

Average Test 5 Test 6 Test 7 Test 8
2.38 s 2.4 s 2.4 s 2.4 s 2.3 s

Overall, this gives W3 Total Cache an average of 2.30 seconds.

And when I ran it through Load Impact, I got the same ten-plus second load times around the 40-visitor mark (for some reason, Load Impact changed the colors on this graph. Green is active visitors and blue is load time):

W3 Total Cache Load Impact test

4. WP Rocket on Bluehost

Finally, let’s take a look at WP Rocket, which is the only premium caching plugin on this list.

WP Rocket has the absolute simplest setup process when it comes to page caching. As soon as you activate the plugin, it automatically starts using page caching! You don’t even need to click a button as you do with WP Super Cache (I jest — both of them are super easy to use).

WP Rocket settings

(click to enlarge)

Beyond that, another reason to consider paying for WP Rocket is all of the other performance features it offers. In addition to page caching, you get lots of other helpful tweaks, such as:

  • minification and concatenation for HTML/CSS/JS files
  • lazy loading for images and videos
  • GZIP compression
  • database optimization
  • defer JavaScript loading
  • DNS prefetching.

To make this a fair comparison, I’m going to only run the tests with minification enabled (as I did with W3 Total Cache). Beyond that, WP Rocket automatically applies GZIP compression and browser caching upon activation.

Here’s how WP Rocket performed in GTmetrix with just the default improvements and the minification feature:

Day 1:

Average Test 1 Test 2 Test 3 Test 4
1.55 s 1.8 s 1.6 s 1.5 s 1.3 s

Day 2:

Average Test 5 Test 6 Test 7 Test 8
1.87 s 1.7 s 1.6 s 2.3 s 1.9 s

That gives us an average of 1.71 seconds for WP Rocket.

As with the others, you can still see that same spike in Load Impact. The ten-plus second spike happened a little later this time, at around 43 active visitors. However, I’m not sure if that’s meaningful enough to draw any conclusions about WP Rocket:

WP Rocket Load Impact test

Again, Load Impact changed the colors of the graph for some reason — green is active visitors.

5. WP Engine With Their Server-Level EverCache System

Finally, let’s add a different perspective by seeing how these caching plugins (on cheap Bluehost hosting) stack up to a pricier managed WordPress host — WP Engine. Check out our WP Engine review to learn more about their features.

Can you get close to WP Engine’s performance just by using the best WordPress caching plugin on your site? Let’s find out!

It’s important to note that WP Engine include page caching and object caching at a server level (via their EverCache system). So, even though I haven’t installed a caching plugin at WP Engine, my WP Engine test site is still benefiting from caching.

Day 1:

Average Test 1 Test 2 Test 3 Test 4
1.18 s 1.2 s 1.1 s 1.2 s 1.2 s

Day 2:

Average Test 5 Test 6 Test 7 Test 8
1.65 s 1.2 s 1.8 s 2.3 s 1.3 s

That gives WP Engine an average of 1.41 seconds.

And where you’ll see an even bigger difference is in the Load Impact test. The load times were rock-solid (between 300 and 400 ms) for all 50 visitors:

WP Engine Load Impact test

This is a huge contrast to Bluehost, where load times started jumping above ten seconds around the 40-visitor mark.

So, if you have a high-traffic site, there’s really no comparison between WP Engine and Bluehost’s cheap shared plans.

Putting the Data Together and Drawing Conclusions

To help you to see how everything compares, here’s the average GTmetrix load time for each test situation (remember, this is the average from eight separate tests on two separate days):

No Caching WP Super Cache W3 Total Cache WP Rocket WP Engine
3.70 s 1.86 s 2.30 s 1.71 s 1.41 s

First, there are two obvious conclusions:

  1. Page caching does indeed make a big performance difference — especially on a cheap shared host such as Bluehost. You can see reductions of more than 50% just by installing a caching plugin.
  2. Caching still won’t make your $3.50-per-month hosting look like $35-per-month hosting. While the GTmetrix load times get close, the biggest difference is in the Load Impact test.

Then there are the caching plugins themselves…

According to my testing, WP Rocket offered the best improvements with an average of 1.71 seconds (even without enabling other performance improvements, such as lazy loading). However, WP Super Cache was right on its tail at 1.86 seconds.

So, is paying $49 for WP Rocket worth it? Well, it might be for you, especially because WP Rocket also makes it easy to implement other performance tweaks.

However, you certainly don’t need to pay for WP Rocket just to speed up your site — and you can still get a noticeable improvement in your site’s page load times just by using the free plugins at WordPress.org (such as WP Super Cache).

As for W3 Total Cache, that’s a bit of a tricky one because I didn’t necessarily have the plugin running at ‘full speed’. That is, I only enabled page caching and minification, while W3 Total Cache offers lots of other caching methods.

But I think that’s kind of the point…

If you’re an average user, it can be tough to know which W3 Total Cache features you need, and which you don’t. What’s more, the payoff might not even be worth it for you when you consider how other, simpler plugins can also make big improvements.

So while I don’t want to entirely write off W3 Total Cache for all situations, I think you’ll be better off with another caching plugin unless you already know your way around techniques such as object caching and database caching.

In the end…

If you have some space in your budget and want the best of the best, go for WP Rocket (or just upgrade your hosting to WP Engine, because that was the overall best-performing option). And if you want something 100% free that will get you almost to the same spot, choose WP Super Cache.

Used/using one of these caching plugins? Thoughts?

By Colin Newcomer

Colin Newcomer is a freelance writer and long-time Internet marketer. He specializes in digital marketing and WordPress. He lives a life of danger, riding a scooter through the chaos of Hanoi.
Comments (policy)

Leave a Reply

Your email address will not be published. Required fields are marked *

All comments are held for moderation. We'll only publish comments that are on topic and adhere to our Commenting Policy.

Our commenting form also supports the use of Markdown.