Excessive load times can harm your website in more ways than one. There are quite a few ways to improve your site’s speed but caching has the greatest impact.
With the above in mind, in this article we’re going to evaluate the performance of the top six caching solutions for WordPress. We will also look at the features each one has on offer to help you determine which one is truly the best (not just the fastest).
Let’s put all of this into context before we get started.
Note: while this post was originally written in 2015, we completely re-tested all of the plugins in October, 2017. We have updated the testing data sections and the conclusion section to reflect this new testing data.
What is Caching?
A cache is an area in the computer’s memory that stores recently used information. When a site is cached, it means the site’s pages, images, files and Web objects are stored on the user’s local hard drive. This in turn means that when a user opens a frequently accessed file, the browser will have most (if not all) of its files cached.
When a browser doesn’t have to retrieve new information every time a site is accessed it results in faster page load times. Caching plugins work the same way. The save dynamically generated HTML files in the cache and serve them next time a request is made instead of re-loading all of the PHP scripts from WordPress.
Setting the Stage
To test how these caching plugins actually perform, we installed each one on a test site and ran tests with both Pingdom and GTmetrix.
Before installing any plugins, we took a baseline reading of our test site without any caching plugin installed.
Here’s how it performed on GTmetrix:
And here’s how it performed on Pingdom (testing from the San Jose, CA server):
For reference, our test site:
- Is running GeneratePress
- Has a custom homepage built with Divi Builder
- Has Jetpack installed and activated
Other than that – there’s nothing special going on. Nor have we made any performance enhancements prior to the caching plugins that we’ll be testing.
As for the caching plugins, we’re going to use the default settings for each plugin as much as possible. We know there are some drawbacks to this approach – but there’s not really a “fair” way to do it otherwise and we needed some consistent basis for comparison.
By default, we mean that we won’t do any in-depth tweaking beyond say, turning on caching (and minification if available).
At the end of this post, we’ll have a nice table summarizing all the test results for each plugin so that you can easily compare them all.
01. WP Rocket
WP Rocket is one of the best caching solutions for WordPress and the only premium plugin on our list. It is tremendously user-friendly and a lifesaver for webmasters who find technical terms and web programming to be perplexing.
The plugin will function correctly after activation; as a result, you won’t be racking your head against the wall trying to configure it. Those of you who are technologically literate can dive into its advanced options and set up a custom configuration.
Its lazy image loading feature sets it apart from the other popular caching solutions. For those of you who don’t already know, this feature makes it so that the images you have set on your page are loaded only when the user scrolls down the page. This non-preemptive approach significantly improves load times.
Here are some other features you’ll find on every license of the caching plugin:
- Simple, fast, and intuitive setup.
- Page caching is immediately activated.
- Google Fonts Optimization minimizes HTTP requests.
- Integrates seamlessly with Cloudflare.
After installing WP Rocket, we turned on minification but didn’t otherwise change any of the default settings.
02. W3 Total Cache
W3 Total Cache is the only WordPress Performance Optimization framework that is designed to boost user experience and improve page load times. This caching solution is highly recommended by some of the top hosting providers in the industry including WpEngine, Cloudways, UPQODE.
The first thing you need to know about this plugin is that its Settings area is divided into 16 pages. Whoa! This may be quite overwhelming (even for some developers) but the important thing to remember is that you don’t have to manually configure the settings to make the plugin work – its default settings work pretty great too.
W3 Total Cache has a dedicated Settings page for every type of caching – page caching, object caching, database caching, browser caching etc. The level of customizability that you get with W3 Total Cache is difficult to find elsewhere.
- GZIP compression to optimize web browser rendering.
- Support for Content Delivery Networks (CDN).
- Compatible with Cloudflare.
W3 Total Cache is known for its massive settings options. Here’s all we did for this test, though:
- Enabled page caching
- Turned on automatic minification
03. WP Super Cache
WP Super Cache is a free caching solution available for WordPress. Its caching mechanism is fairly easy to understand. The plugin basically generates static HTML files from your dynamic WordPress blog and caches it instead of the WordPress PHP scripts.
It offers three options for decreasing load times:
- Use mod_rewrite to deliver static pages
- Serve static pages using PHP
- Use a legacy caching mode that caches pages for users who are logged in
- Page compression and dynamic caching.
- Support for Content Delivery Networks (CDN).
- Caching for visitors using a mobile device.
- Scheduler to manage deletion and re-caching at given intervals.
With WP Super Cache, literally, all we did was turn caching on.
04. WP Fastest Cache
According to its developers, the WP Fastest Cache plugin is “the simplest and fastest WP Cache system”. Similar to WP Super Cache, WP Fastest Cache generates static HTML files based on your dynamic WordPress blog and saves it in the cache.
WP Fastest Cache prides itself on providing an easy-to-install plugin – and it delivers. You don’t even have to modify the .htaccess configuration file.
- Mod_Rewrite which is the fastest method is used in this plugin
- All cache files are deleted when a post or page is published
- Supports CDN and SSL
- Enable/Disable cache option for mobile devices and logged-in users
- Block cache for specific page or post with Short Code
With WP Fastest Cache, we turned on the Cache System and enabled minification for HTML and CSS.
05. Comet Cache
Comet Cache, formerly known as both ZenCache and Quick Cache is quickly gaining popularity under its new name. It takes a real-time snapshot of every post, page, category and link and caches them intuitively. This simple yet effective method saves you processing time that was initially causing the page load time of your site to rise.
The plugin uses advanced techniques to determine when it should send a cached version and when it shouldn’t. By default, users who are logged into the system and visitors who have commented on the website recently are not served cached pages. You can edit these configuration settings from the Settings page.
- Options to control the automatic cache clearing behavior for Home and Posts Page, Author Page, Category, Tag, and Custom Term Archives, Custom Post Type Archives, RSS/RDF/ATOM Feeds, and XML Sitemaps.
- The ability to cache or ignore URLs that contain query strings (GET Requests).
- User-agent and HTTP referrer exclusion patterns.
- Set automatic expiration times for cache files.
We followed the plugin’s instructions and simply checked the Yes, enable Comet Cache box and called it a day.
06. Cache Enabler
Cache Enabler is a lightweight caching solution for WordPress that does two things to decrease your site’s page load times – generates static HTML files and provides WebP support. The static HTML files are saved on the server’s hard disk.
Once a file is accessed or requested, the web server delivers the static HTML file while avoiding all of the backend processes which may be resource-intensive. This caching strategy dramatically increases your site’s speed, results in slower page load times and improves the performance of your WordPress installation.
- Efficient and fast disk cache engine for faster caching
- Display the actual cache size in your dashboard
- WebP Support (when it is combined with Optimus)
- HTTP/2 focused
Normally, we recommend tag-teaming Autoptimize with Cache Enabler. But to keep the test fair, all we did was enable Cache Enabler’s built-in minification.
Here’s a comparison table of the page load times of all six caching plugins. Page load times are recorded in seconds for both GT Metrix and Pingdom tests.
|Prior to caching||WP Rocket||W3 Total Cache||WP Super Cache||WP Fastest Cache||Comet Cache||Cache Enabler|
The Best Caching Plugins Ranked
There was only one caching plugin that got our test site under 1-second load times in both tests and that’s Cache Enabler. For that reason, combined with the fact that it’s free and incredibly simple to set up, we feel comfortable calling Cache Enabler the best caching plugin, at least based on our testing.
WP Super Cache is definitely no slouch here – it was barely behind Cache Enabler. And in fact, with results that close, we could easily chalk the difference up to test variations.
WP Fastest Cache also did solid, getting us under 1-second on the Pingdom test.
Despite its price tag, WP Rocket didn’t actually perform the best in terms of pure caching. While many people love it for its ease of use, our testing data is a pretty good indicator that you don’t necessarily need to pay in order to get the best performance possible.
If we had put in the time to dive deeply into the configuration options for W3 Total Cache, it may well have performed better. But, given that we want our results to be accessible to all types of WordPress users, it seems unfair to think that casual users will have the knowledge to do that.
Finally, based on our test results, we don’t really see any reason to recommend Comet Cache.
All in all, if you’re looking for the highest-performing caching plugin that’s easy to set up, we don’t think you’ll go wrong with Cache Enabler or WP Super Cache.
Which caching solutions do you use for your WordPress site? What features do you look for in a caching plugin? We’d love to hear from you so let us know in the comments section below.