I’ve run 32,224 tests during one month to find out which caching plugin makes your website faster. I tested W3 Total Cache and WP Super Cache plugins. They are the two best well-known free caching plugins that WordPress users highly recommend using to make your website faster.
And also I compared them to the caching solution that I currently use – Sucuri Cloud WAF (website application firewall). It’s actually a part of a website security solution (the best one that I know), and it also includes a caching level that speeds up your site.
Intro
My initial purpose of this research was to find out which one of W3 Total Cache or WP Super Cache is the best WordPress caching plugins that you can use for free. I compared the free versions of the both caching plugins.
Since for researchasahobby.com I use a website firewall which is not only a great security product provided by Sucuri, but also a solution that improves the speed of my website, I added this product to my research as well. But keep in mind, that this solution (Sucuri Firewall, Cloud WAF) is not free, although very affordable.
By the way, Sucuri is my best choice of affordable website security solutions (you can read more about it in this in-depth comparison). It’s nice that apart from security I get more speed.
Okay, that was the short introduction to show you why I selected these caching options to compare.
So, in this article you’ll basically find two things:
- Data-driven comparison and analysis of how fast W3 Total Cache (free), WP Super Cache (free), Sucuri Firewall Cloud WAF (paid) can make your website compared to a WordPress site without any caching plugins. More than 32,000 tests have been run.
- The settings that I used for the free WordPress caching plugins (the settings are typical and you can use them too).
In the next section I explain the details of my research methodology.
How I tested the speed of the websites with the best WordPress caching plugins
What websites I used for this experiment and how I tested their speed
I created four identical WordPress websites and filled them with dummy content:
- Each website contained one thousand posts, one thousand pages, two thousand comments which I generated and posted with a software.
- Each website had 25 plugins installed.
As regards hosting, I used one of the popular hosts, but not one of the best hosts. I chose not a very good hosting on purpose to find out if using the best WordPress caching plugins can help to improve website speed in this situation.
The four websites had different caching plugins and solutions that I tested:
- On the first website I did not install any caching plugin.
- On the second website I installed WP Super Cache plugin (free).
- On the third website I installed W3 Total Cache plugin (free).
- On the fourth website I installed W3 Total Cache plugin and Sucuri Firewall Cloud WAF.
Then I added the sites to the monitoring platform (monitis.com).
By the way, I use it for my monthly Performance Hosting Contest to monitor non-stop how fast websites load for users (Full Page Load Time) on different hosts. And I publish the monitoring data monthly. Also, I keep a record of how the hosts performed throughout the months.
So, the tests for the four websites with the caching solutions were run every 20 minutes for 28 days from two locations (East and West of US).
Every day during the testing I received a report by email with the data how fast my websites with different caching solutions performed. You can see the screenshots of these reports below in this post.
The settings for WP Super Cache plugin
I left all settings by default or set them as recommended in this caching plugin settings. You can see below the screenshots for details.
By the way, I’ve got an in-depth article explaining W3 Total Cache settings. You’re welcome to check this out.
The settings for W3 Total Cache plugin
I left all settings by default or set them as recommended in this caching plugin settings. You can see below the screenshots for details.
I left all settings by default or set them as recommended in this caching plugin settings. You can see below the screenshots for details.
How fast the websites are with the tested caching plugins: The results
Here are the main and general results that put a bottom line to this experiment with caching plugins and solutions. The monthly average data:
As you can see, the website with no caching plugins was 3.05 seconds fast (average full page load time).
WP Super Cache plugin helped to improve its speed quite well – till 1.96 seconds.
And W3 Total Cache could make the website even faster.
At the same time, the paid security solution Sucuri Firewall (Cloud WAF) which includes a caching option in conjunction with a free version of W3 Total Cache plugin is the strong winner of this contest.
To compare the monthly average speed of the websites using these caching options you can see the following chart as well:
Using Sucuri Firewall (Cloud WAF) makes a website 35% faster than the fastest tested free caching plugin W3 Total Cache and 52% faster than WP Super Cache plugin. Also, Cloud WAF makes a website 2.36 times faster compared to not using any caching solution at all.
Now let’s see the average daily data of how fast caching plugins and solutions made websites faster on one chart:
As you can see W3 Total Cache makes a website faster than WP Super Cache in most tests.
And Sucuri WAF (Website Firewall, Cloud WAF) is the winner in practically all tests. Moreover, when a hosting becomes unstable (large amplitude of speed fluctuations on the second half of the chart), Cloud WAF helped to make a website faster much more efficient than free caching plugins.
And here’s one more chart to look at the difference between different caching options throughout the 28 days of testing:
The screenshots of the daily monitoring reports on websites performance with the tested caching plugins and solutions are here:
Conclusion and recommendations
After 28 days of automated non-stop testing and more than 32,000 full page load time tests performed here are the conclusions of the research on the caching solutions:
- Using a caching solution (even a free one) radically helps improve website speed.
- It’s clearly seen that W3 Total Cache plugin (free version) beats Super Cache plugin (free version) by about 17% according to the tests.
- Caching solutions which is composed of a free version of W3 total Cache and the caching layer included in the security product Sucuri Firewall (Cloud WAF) beats hands down free versions of the caching plugins (by at least 35% in website speed). Update: as discussed in the comments below nearly the same effect should be achieved with using just Cloud WAF.
- According to the tests, W3 Total Cache smooths hosting instabilities a bit better than Super Cache.
- And using Cloud WAF smooths hosting instabilities much better than any of the the free caching plugins.
- Use a caching solution, even a free one. It’s really a good idea to make your website faster.
- If your hosting recommends a specific caching plugin, then in most cases this is what you need to use.
- I recommend using W3 Total Cache in most cases if you look for a free caching plugin. Sometimes W3TC does not work well with specific websites, and if this is your case, then make a research or simply try different caching plugins.
- To get even a faster website, use a paid caching solution. I use Sucuri Firewall (Cloud WAF). Although Cloud WAF is one of the very best security products above all, as you can see it also improves website performance really well.
- Don’t freak out about the caching plugins settings. If you are not a technical guru, then just set up almost everything by default and as recommended by plugins’ developers (I have screenshots with the settings in this post) and there you go! Also, you’re welcome to read this in-depth article where I explain W3 Total Cache settings and recommend what settings are better to use and when.
- Use a reliable and fast hosting as a foundation of your website great performance.
- You don’t need to deal with caching plugins if you use a fully managed WordPress hosting like this which already has its custom caching environment.
- Some advanced hosts have their own caching plugins. It’s advised to use them instead of common plugins. For example, this host is A2Hosting (short review).
P.S.: Sucuri Cloud WAF works fine for any platform, not only WordPress.
Update from March 2017: Sucuri has run their tests to compare a website performance with and without Sucuri WAF, as well as with and without a caching plugin. Have a look at the post and particularly this result chart.
BTW, I respect your privacy, and of course I don't send spam, affiliate offers or trade your emails. What I send is information that I consider useful.
hi
i should have found your site earlier.
i use plugin ‘WP rocket’ for cache
do you have any comment on WP rocket
will you have some update regarding caching plugin?
Hi there,
The update to this article would be like this:
“The principles how caching plugins work are generally the same. But they can work differently on your website depending on your software and server settings. You may want to try different caching plugins to see which one works best for you with different settings. Anyway, using a free caching plugin is better that using no caching plugin on shared hosts (on fully managed hosts caching may be already included in the service)”.
As regards WP Rocket, I have not tried it. The plugin is considered to be one of the best products of this kind.
Very useful, comprehensive information. Thanks fo sharing
Thanks. Feel free to let me know if you have any questions.
I am a bit confused with your tests/results in this article. Why would W3TC make any difference when you are using Sucuri CloudProxy? The W3TC caching (re serving content from your site) will only make difference in 2 situations: CloudProxy cache update (should occur only once every 3 hours if you use their default caching options) and in the event of firewall bypass which shouldn’t really occur if you blacklist all HTTP traffic except from CloudProxy nodes. Am I missing something here? Did you try on a forth website disabling W3TC and comparing results Sucuri+W3TC with Sucuri only? I don’t think you will/should notice the difference.
Hi Jeff,
Thanks for your interesting question.
My Sucuri WAF caching settings are default. And yes, as Sucuri recommends, I block all http traffic allowing access only from specific nodes provided by Sucuri.
Anyway, I have not run tests to compare Sucuri+W3TC with Sucuri only myself, but you can have a look at this post and particularly this chart from the post from Sucuri’s blog. Their tests show that using a Caching plugin + Sucuri WAF is more advantageous than using Sucuri WAF only.
Well, the chart actually confirms my expectations that the effect of caching plugin with Sucuri is minimal. With 20 concurrent connections the increase in number of transactions (with cache plugin) is only 1% (2302 vs. 2279). The difference of 3% vs. 5% processor use is negligible unless you run a lot of sites on your server/VPS. I don’t think the results justifies having one extra plugin in your WordPress installation.
Hi Jeff,
What you say makes a very good sense.
After all, Sucuri WAF is a great caching solution which performs better than caching plugins.
Once again, thanks a lot for your valuable input. You have raised a reasonable point!
Hi Michael, another great post, thanks! Can you please share W3TC settings that you used in your tests? I would like to try it and compare the results with WP Rocket that I am currently using. Also, I am surprised that Sucuri WAF made so much difference… are you using Basic, Pro, or Business subscription with Sucuri WAF? I thought that if you get benefits of CDN only when you subscribe to Sucuri Website Security Platform product (starts at $199/year) but not with Sucuri WAF… am I wrong here?
Oops… sorry, I see that you shared the settings for W3TC.
Hi Mike,
I’m using just Sucuri WAF the most basic plan (about $10/mo). I was also a bit surprised (in a positive way) to see a significantly good performance improvement. Although Sucuri mentions this feature and have article(s) in their knowledge base, they don’t advertise it a lot on the main page, focusing on security first of all.
As regards CDN feature provided by Sucuri (globaly-distributed Anycast Network (GDAN)) to be precise, it’s a basis of WAF. Sucuri Antivirus product adds up malware detection, clean up, black list removal functionality.
Hi Michael,
Just a short question. If I understood well the functionality of W3 Total Cache is whither than WP Super Cache. So to make the compare fair I think you should add also a plugin like Autoptimise (and probably some more) to the WP Super Cache case. Or did you take this into consideration?
As a beginner in WP I ended up with the combination of WP Super Cache, Autoptimise and
Remove Query Strings From Static Resources. I think it is good enough as a start since I read here and there that the configuration of W3 Total Cache is not always obvious for a beginner.
What do you think?
Thx, Attila
Hi Attila,
Thanks for a thoughtful comment.
My idea of writing this article was to compare just the two most well-known free caching plugins. Plus I added one commercial caching solution (Sucuri WAF) that I’m using. Although the latter is a security solution, not just a caching layer.
There are many other caching plugins. I did not have intention to compare them all.
W3TC looks more complicated in settings, but it’s an advantage IMO, because other caching plugins which don’t have some settings ignore some features.
If a combination of some caching/optimization plugins work better for you, that’s great.
What about WP Fastest Cache? It’s also popular and free. I’ve used it for a while and I’m happy with by now. You run on Apache or Nginx? I guess that also can differentiate the results.
Hi Dave,
There are many caching solutions available out there. I have not tried this one.
The purpose of the article was to compare the two most well-known caching plugins.
However, I think all caching plugins deliver similar speed improvement in general. But in some particular cases one caching solution may be better than another.
For example, some months ago I worked on a speed optimization of a WordPress site. It was not a simple case. I played with different caching plugins and combinations for a couple of days to get the best-tuned results for faster starting of page rendering for a new visitor (not a repeated view). Simply by test-and-trial approach I could find the most efficient combination (including css minification, synchronization, script parsing deferring etc) in that particular case.
So if you want to fine-tune your site performance, you need to test your website individually with different caching options. But by default I prefer W3TC.
I’m curious to know why you didn’t include WP Rocket in your tests? It’s not free, but it is quite simple to configure and works exceptionally well in my experience.
Hey Collin,
Thanks for your question.
Initially my idea was to test and compare just two caching plugins which are free – W3TC and WP Super Cache. But since I use Sucuri Firewall myself I decided to include it to the research too. But as I mention in my blog post, Sucuri WAF is not a caching solution in the first place, but a security solution.