Editors note: Previously we dived into the what and why of caching for WordPress. At the time we also noted our intention to do some performance benchmarking of popular caching plugins as a follow-up, to identify the best WordPress cache plugin based on real performance data.
Philip Blomsterberg read our post and reached out offering to undertake this performance benchmarking as it was something he too had been considering.
His plan of attack sounded really good so we happily accepted. What follows are the results of Philips benchmarking project.
- About the tests
- Benchmarking tools
- Google Page Speed, GTMetrix & YSlow Results
- ApacheBench Results
- Pingdom Results
- Webwait Results
- Server Performance Factors
- Overall Conclusion and the best WordPress cache plugins
While developing my own site, we naturally wanted to achieve the lowest loading time possible and pretty much made it a sport gaining just a few tenths of seconds in loading time.
We knew how important caching was, but discovered that there were many ways to deceive yourself just by looking at the speed metrics.
During the tests, we, of course, looked at all the top WordPress cache plugins out there, and after reading Charles’ post I decided to make a more thorough test of their performance.
Quick Comments About Caching
Speed is becoming increasingly important in Search Engine Optimization, conversion, and user experience. Today, site speed is one of the most important ranking factors on Google.
Google recently declared that all sites that are mobile-friendly (and speed is a way of being “friendly”) will have a significant advantage in the SERPs.
You might have already noticed the “mobile-friendly” tag in the search results. Also, when using Google Page Insights, the pane which you are presented with first is the mobile one – not the one for desktops.
Google’s intentions are clear and speaks volumes for any SEO or webmaster. I point this out to emphazise that we should be concerned with the performance of both the desktop and mobile versions of our site and we’ve tried to reflect this in our benchmarking tests.
There are different ways of improving your site’s loading performance, but for most site owners, using a WordPress cache plugin is not only the easiest but also the single thing that will make the most difference.
WordPress (and most content managed sites) dynamically generates pages on the fly which requires multiple calls to your database to retrieve the various content elements.
By caching these dynamically generated pages visitors see plain HTML pages instead. This significantly lowers the loading times and the strain on your server.
On To The Tests
My initial idea was to test both a plain vanilla theme such as 2020 and then a more complex one that would more adequately resemble a “real” site.
Upon starting the tests however I noticed that whatever impact the plugins had on the speed of 2020 was minuscule, and not much to write home about.
There is just so much you can do to improve the performance of 2014, and in my opinion, it’s much more a question of your server setup than caching.
For this reason, I decided to use the theme “Novelty” from Tesla Themes. We used one of the demo pages which is very magazine-like and implemented a slider option and jam-packed the test site with images and text.
We also installed some plugins with Twitter/Instagram feeds and a news ticker. Now, we had a page that was much heavier to load and more like a “real” site (more on the WordPress hosting set up below).
WordPress Cache Plugins We Tested
So which of the top WordPress cache plugins did we test? I scoured the WordPress plugin directory and found the following:
- AIO Cache
- Alpha Cache
- Bodi0’s Easy Cache
- Cachify
- Flexicache
- Gator Cache
- Hyper Cache
- Hyper Cache Extended
- Lite Cache
- Next Level Cache
- Really Static
- Super Static Cache
- W3 Total Cache
- Wordfence with Falcon
- WP Fast Cache
- WP Fastest Cache
- WP Rocket
- WP Super Cache
- WP-Cache.Com (site seems to be down)
- Zen Cache (formerly Quick Cache)
These were left out:
- Brutal Cache – Didn’t work.
- Batcache – Seems to depend on Memcache, which wasn’t used during this test.
- WP Superperformance – a new premium caching/performance plugin that had not been launched at the time of testing. We’ll be testing this soon.
- Litespeed Cache – Another newer WordPress cache plugin that wasn’t on the radar when we did the original tests. We’ve heard good things though and will definitely include them when we next refresh this comparison.
Autoptimize and Widget Cache were also left out since they are meant to be supplementary to the other plugins. That said if used in the right way they look very interesting, and so I hope to get back to you with a separate test done on them.
Hosting and Benchmarking Tools
During the tests, we used a shared hosting account comparable with a majority of the alternatives out there. This way, we could get a better idea of actual speeds attainable for those users who are on a budget.
The testing site had no traffic and had no bot visits during the benchmarking. Our server did use Nginx as a proxy, not pure Apache, which meant that it had an advantage in performance from the get-go, but this was the case for all tests so no plugin was advantaged.
In order to get a better idea of performance, we choose to use a whole variety of tools, which may be divided into two groups – site grading and timing tools.
Site Grading Tools
In this group, we find the tools offered by Google, GTMetrix, and Yahoo. These tools do not really judge a site on speed, but rather, on a list of quality factors such as:
- Optimization of images
- Server latency
- Minification and optimization of javascript and CSS code
- Use of browser caching
- Location of scripts
- Use of CDNs, parallelization/domain sharding
- Use of Gzip compression
- Number of HTTP requests
Google PageSpeed Insights
Google’s PageSpeed Insight tool looks at a site from the perspective of both a desktop and a mobile device and then gives a score of 1-100 for each test done respectively.
Page Speed Insights is easy to understand, but very crude and does not give a whole lot of information on what can be improved. Even though the tool does give us quite a few insights into what Google might find important, the information given by GTMetrix and Yahoo is much better.
Some of the “advice”, if interpreted literally as requirements, are also a bit over the top…There is just so much you can do if your shared server has a high latency of 22ms, and if you complain about an image being 803b (bytes!) too large, you’d better take a look at your priorities.
Google, as far as we have seen, doesn’t account for CDNs either, and upon making other tests we actually got lower scores using them. Using a CDN might very well make your site marginally slower on a “local” level, but able to handle “global” traffic much faster – which is more important?
GTMetrix and YSlow
GTMetrix and YSlow, which are tools based on Yahoo’s performance guidelines, also score sites from 1-100. They are, however, much more sophisticated when it comes to measuring.
Page Insights merrily gives a few pointers on what can be improved, while GTMetrix and YSlow base their grading on no fewer than 50 different metrics. GTMetrix also offers a “waterfall” chart to dissect the loading process as well as a very nifty loading time “history”.
If you really want to find clues on how to improve your site speed, this is the place to go.
Timing Tools
The following tools were used to measure page loading times and also to benchmark how the server would perform under load.
ApacheBench
ApacheBench is a tool you use for checking how well your server handles load. We choose to check how many requests per second your site can handle using the different plugins.
We performed this test by sending 1000 requests with 10 concurrent threads. We ran the test 10 times and then saved the best result for each plugin.
Here it should be noted that using Nginx does decrease the difference between a plugin/no plugin setup. Nginx is considerably quicker than Apache, which is why you should probably expect at least twice the difference with Nginx than you would with Apache.
Pingdom
Pingdom is a well-known server monitoring and testing service. We ran 20 tests with each plugin and saved the best result.
Since our server is located just outside Stockholm, Sweden we choose to use their Amsterdam/NL server for the tests. Just like the others, Pingdom has a page grading tool which we, however, left out – GTMetrix and Google were enough.
Webwait
Webwait is a simple but very useful testing tool. The whole idea with Webwait is to time how long it takes to load a page in your own browser. Hence, it’s not a server-side service but runs locally.
It loads a page over and over and then presents you with the average or median results. Thus everything in your own setup can affect the time. I choose to run this over ethernet, with no other services running, and to use the Opera browser.
Each page was reloaded 101 times to attain the average and median load time.
Page Grade Test Results
We ran the test site through the different page grading services above and these are the results for Google, GTMetrix and Yslow.
As you can see here, some plugins seemingly do nothing in this area – their scores are either the same as or close to what you would get when no WordPress cache plugin was used at all. In Google we see WP Super Cache giving the best score both for mobile and desktop users.
In GTmetrix and Yslow we see how Fastest Cache and Rocket outperform the others that remain pretty much the same. I attach more importance to the latter values since the tests (seem to) take into account more factors than Google Page Insight.
The best WordPress cache plugins according to this test are WP Fastest Cache, WP Super Cache, and WP Rocket Cache. The best score, by far, for mobile devices was achieved by WP Super Cache. And, for those wondering, we did not forget to turn on mobile caching wherever applicable 🙂
Timing Test Results
As we have discussed above, the grading scores are more a measure of the code quality of a site. They give clues on how your site might – MIGHT – get faster, though having a higher score than another site does not mean it really is.
So, this is a misconception – the grading tools give you an idea of what you can do to get lower loading times, but do not really take timing into enough of an account. You can see this here on this screenshot from Pingdom…
As you can see here, this example page (not this one) has a performance grade of 96/100 which probably is better than 99% of the sites out there, THOUGH, it loads completely in a whopping 35 seconds. Is that an accurate way of measuring speed – I think not.
That said, I consider the following, timing, tests to be much more interesting and important. They measure the real speed of your site, not its potential.
ApacheBench
Here, we use Apache’s benchmarking module to see how quickly the server is able to handle requests. The more requests it is able to handle per second, the more visitors can be efficiently served.
Above, you see the server handles a measly 18 requests per second with no cache, and mind you, that is on an Nginx system. Each request takes about five-hundredth of a second.
Many plugins improve the number of requests, though some perform much better. Checking the results we see that Hyper Cache Ext, WP Fastest Cache, WP-Cache.com, and WP Rocket perform almost 300% (depending on how you look upon it) quicker than the no-cache solution.
WP Rocket is the quickest. Somewhat surprisingly, WP-Cache.com takes second place.
Here, the benefit of using a WordPress cache plugin is quite evident – you are able to handle three times as many requests with the best ones. Use Nginx, a good WordPress cache plugin, and maybe something like Varnish, and you’ll get a server that flies.
Pingdom
The test site with no WordPress cache plugin loads in about 2.8 seconds, which leaves many plugins twice as quick. WP Rocket once again tops the list being almost three times as quick as the reference site. This goes hand in hand with the figures seen for Apache.
Webwait
I have chosen to present both the average and median load times for the Webwait test. These loading times are lower than the Pingdom ones since I am located closer to the server here in Sweden (remember Webwait is a browser tool).
Average Webwait Loading Times
Median Webwait loading times
As you see, WP rocket excels once again and looking at the median figures we also see Super Static Cache doing a terrific job, almost splitting the loading time in half. After that, we once again find the almost unknown WP-Cache.com doing quite well.
Server Performance Factors
Everything isn’t about caching – there are many factors that affect your server performance. These are the ones I feel are most important and almost always undervalued:
- Choice of server platform. Are you using Apache, Nginx or something else? Is it correctly configured? Do you use something like Memcached or Varnish cache?
- Type of server. Are you on a shared account, VPS, or dedicated server? In most cases when I see a really slow site it is usually being hosted on a shared server. Here, the upside of changing to a VPS or dedicated server is tremendous.
- Number of images and image optimization. Today it’s quite common for people to upload images directly from their phones or cameras. These images may, first of all, have a 10x too high resolution, and secondly may not be optimized for the web. If you see a big red warning when using Google Pagespeed Insights this is often always the reason.
- HTTP requests. Every time a single file or object is getting rendered on your page it results in file requests to your server. Having too many Javascript and CSS files is a problem, as is loading a lot of unnecessary Google fonts and so on. These requests add up and this overhead might very well be the only reason your site loads slowly.
Conclusion
These are my own thoughts and you can get an idea yourself just by analyzing the figures which are also available in their entirety on my site, along with a simple infographic.
All of the WordPress cache plugins have various features – which could be just a few, far too many, which may or may not be what you would ideally expect. Users of Super Cache, W3, etc. are often hardcore users who also use CDNs and all other bells and whistles.
Others prefer easily configured stuff like Lite Cache or WP-Cache.com, and looking at the figures for the latter, they are not all in the wrong. WP-Cache.com does perform excellently in the Webwait tests.
Personally, I use a blend of WP-Rocket/W3 Total Cache on some sites, but I am also testing WP-Cache.com. Installing and configuring the former, which literally means clicking one button, is a set and forget process, which is just great.
Best WordPress Cache Plugins
I’ve looked at the data on the WordPress cache plugins we tested, and have been as objective as possible in giving out the top 3 rankings.
1. WP Rocket
Choosing the winner wasn’t hard, but the rest of the positions were. Number one is a no-brainer really. WP-Rocket outperforms the others in almost every single test, and more importantly, even in those concerning the load time.
You do have to pay 39 USD per installation, though despite this we still consider it the best WordPress cache plugin.
2. WP Super Cache
Coming in at position number two we have WP Super Cache. It comes as no big surprise that you see it here, and considering I already dubbed Rocket the winner, your best bet would have been either WP Super Cache or W3 Total Cache, right?
To me, they are a bit like red and green apples – almost the same. I am sure there are many out there who would spend hours at their keyboards talking up one or the other, but here I’m guided by our results.
3. W3 Total Cache
I contemplated giving WP-Cache.com third place in the best WordPress cache plugin rankings just cause of its incredibly easy installation.
I, however, once again, figured that the test was really about speed and not usability, and therefore put W3 Total Cache in spot three.
Honorable Mention
Almost taking a spot at three we have WP-cache.com, which is why an honorable mention or runner up position is well deserved.
Getting these sorts of results with so little effort means the developers knew what they are doing.
Had the tests been about ease of use WP-Cache would have easily been the winner.
I hope you liked the tests and that you will read my follow-ups on similar subjects.
Wow! that is one of the best articles on WordPress cache. Never found such detailed insights anywhere.
I am using WP Super Cache for my blog but heard a lot about WP Rocket which is a premium plugin.
Do you recommend it?
I have always been using W3 total cache and I didn’t know there were so many options of caching plugins. Maybe I’ll have to try some more plugins soon!
plugin WP Rocket is very very fast ?
Yep, according to our tests it is the best performing cache plugin. We continue to use it for many projects.
Which one is the best WordPress catch plugin out of all, according to you?
WP Rocket
Hi Charles,
It is a very detailed post about the Cache plugins. Happy to see your reply for almost all comments! Keep up your great work man!
I need a plugin to make my wp post as old wordpress theme. Will you please suggest me a good plugin?
Hi Armaan, I’m not sure what you mean. Can you explain in more detail what you are looking for?
WOW! Thanks for so detailed test. Best regards from India to You
You are welcome Atul, I hope this helped you choose the best caching plugin for your needs. These tests are all being refreshed in 2020 so the results reflect the latest available versions of all caching plugins.
I have activated the LiteSpeed cache plugin that run on my website. Currently just purchased WP Rocket plugin, wondering can i use together with LiteSpeed cache plugin? If so, what should i take note of, so as not being interfere with each other?
Thanks!
Hi, I think you might run into some odd caching issues trying to run LiteSpeed and WP Rocket at the same time. I would recommend not doing this. I would suggest you benchmark your site performance running Litespeed and then deactivate Litespeed and try running your site with WP Rocket. Run the same tests with each and see which works best for your site. If you do this I would be very interested to hear the results. When we ran these tests Litespeed wasn’t an option, but I’ve heard good things about it since then and I’d be curious to know how it stacks up against WP Rocket in your case.
WP-Rocket is the best one!
Compression, lazy loading and cache…the support is 1+!
I use this for all my clients and all pages loaded under 1sec.
Good analysis. In the future add the Litespeed cache and Swift Performance.
Thank you very much, these caching plugin guide actually helps me a lot more than I thought.
Great post Charles! Thank you for your guide. I’m using WP total cache for caching purpose. Since caching has become an essential ranking signal, I hope wp total cache just serves this purpose. It reduces the number of requests to a server and has greatly improved my site speed. Thank you for this article.
I admit that for wp-rocket its very good, fast and there’s never a problem with the website but what about litespeed cache ??
Litespeed cache vs. Wp-Rocket ??
which one is better
Hi Ableh, that’s a good question. We didn’t test Litespeed Cache at the time of running these comparisons so I can’t answer that question with data. We have in mind to refresh this testing at some point in which case we’ll definitely include Litespeed Cache.
thank you for answering, one more thing I want to question. For example using hosting that already uses litespeed is there a big or small significant difference using wp-rocket?
because with my test, without wp-rocket it’s already fast using litespeed hosting but when I use wp-rocket + hosting litespeed the reaction is stable the faster and doesn’t bother css, js, html files etc.
Litespeed hosting is just a problem always caching so it’s not too good if for editing because it finishes editing and refreshing instead of missing our edits so we have to do disable cache via htaccess except wp-rocket which is very simple and relevant in my opinion is still the best for now 2019
Hi Ableh, that’s a good question. I can’t comment based on an empirical data because we didn’t actually test this, but I would say as long as it works without causing any troubles then it is a good combination.
Hi,
Thank you for your good article.
Can I use both LiteSpeed Cache Plugin and Cache Enabler together ?
I havn’t tried that, but in general I wouldn’t think you need to run multiple caching plugins at the same time as this will often cause conflicts and unpredictable behaviour.
WP-Rocket is the best one!
Compression, lazy loading and cache…the support is 1+!
I use this for all my clients and all pages loaded under 1sec.
Which is the best cache plugin for shared hosting?
I don’t think it matters if you are looking at shared, VPS or dedicated hosting. That said, our tests were run on a shared hosting environment and we saw WP Rocket perform best. WP Super Cache and W3 Total Cache are both also good choices.
Still have a try with LiteSpeed Cache Plugin, it’s working great with my site. Think so you need to consider adding that too.
Cache Enabler, Autoptimize with Async JavaScript is very powerful combo and all of those plugins are free and on the WP repo.
Vote for new LiteSpeed Cache plugin. You should try to compare it with another cache plugin. Got better result with this plugin.
Been using w3tc for over 4 years now without a problem! After reading this article though, we might wanna consider migrating to wp-rocket.
Here’s a question: is it easier to migrate from W3TC to Wp-rocket? I’m not a tech guy so would properly need a service that could me get this done. Do the folks at WP-rocket offer migration services?
Hi Natalie, I don’t think they provide hands on migration, but they do provide good support to their users and they say that moving from W3TC to WP Rocket is very easy. You might want to read this as a starting point: https://wp-rocket.me/faq/w3-total-cache-fixes/ – provides some guidelines on fixing some common W3TC errors and then of course also provides instructions on how to remove W3TC in preparation for installing and running WP Rocket. If that doesn’t answer your questions I suggest reaching out to WP Rocket with some pre-sales questions…good way to test how helpful they really are!
No doubt that W3 Total Cache plugin is one of the best cache plugin for single site I guess now a days users are using multisite network for managing their multiple websites under one window in such case I personally use Breeze Cache plugins or Hummingbird both works perfectly. I was amaze to see that both plugins wasn’t mention in that list. Anyways great up. Thanks for sharing.
You got to do Litespeed Cache comparison now that it has got awesome features in the last few weeks.
Hi Richard, the Litespeed Cache updates look great. To be honest though we probably won’t be doing any updates in the near future. I’d like to, but being realistic we just won’t get to it any time soon. It took ages to setup all the infrastructure to run these tests (no longer in place) across all the plugins, and to do a fair side by side comparison we’d need to re-run all the tests as many plugins have been updated since Philip ran these tests.
Why not tested Swift Performance?
When I activated, I only stay with :O Best of all
Hi Tommy, we didn’t test Swift Performance because it didn’t exist when we ran these tests. Thanks for the heads up though, will check it out.
im getting curious how wp rocket work ?
Hi David, if you are having trouble configuring WP Rocket, I recommend reaching out their support team here.
Wow! You have tested a lot of caching plugins!
There is a new plugin on the market too, Borlabs Cache https://borlabs.io/ – free and premium version available, but for most people, the free version is perfectly adequate.
100 / 100 on Pagespeed
https://developers.google.com/speed/pagespeed/insights/?url=wpnitro.net&tab=mobile
– Caching: Litespeed Lscache (Litespeed cache Plugin).
I could not get close to 100 with other caching plugins.
– OpCode Cache (Zend)
– Autoptimize + AboveTheFold
Hosting: https://kickassd.com
Hosting is absolutely relevant as i could not get over 90 on other providers due to lacking LsCache and server response time.
Would be great to see you guys add Litespeed cache to the list!
Hi Danny, thanks for sharing, that is impressive! I will add a mention to Litespeed above as it does indeed look worthy, but in truth we’ll probably not get around to testing it in the same way in the near future. We’d like to refresh this entire comparison test, but it did take a lot of effort to set up and complete and we just don’t have the resources at the moment.
That sounds great, only problem is you used an affiliate link for the hosting which casts doubt on the validity of your review.
If you’re pleased with the host why not just mention them without trying to make money from your “review”.
GooglePageSpeed Scores are:
desktop / 91
mobile / 86
for our page http://www.msm-technik.de with
WP Speed of Light
Autoptimize
EWWW Image Optimizer
We tested some of the caching plugins as WP Super Cache, WP Fastest Cache, W3 Total Cache aso.. We have now installed three plugins for performance: Cache=WP Speed of Light (don`t use the group css/js), Optimization=Autoptimize and for the Images=EWWW Image Optimizer.
Thanks for detailed review. I will try WP Rocket.
wpCache WordPress HTTP Cache
https://wpcache.co/