Your hunt for best WordPress caching plugin has landed you here. I will try not to disappoint you!
We all know that a proper caching plugin can help to improve your website loading speed. After-all, speed is necessary, because that is what Google wants. If your website is a sloth, you are going to have a hard time ranking in Google search results.
A cache plugin can create and store static HTML versions of your website’s pages. When a visitor comes to your site, instead of dynamically building the page using PHP, the plugin will serve the static HTML pages. This reduces server response time and even increases the website speed.
If you are using a managed WordPress hosting solution, you don’t have to worry about caching, because that’s taken care of from the server side. That’s not the case with shared hosting, VPS hosting, dedicated hosting, or cloud hosting.
You must take care of caching by yourself.
But finding an efficient cache plugin can be a Herculean task. There are dozens of cache plugins available in the WordPress plugins repository.
I will give you a list of the best WordPress caching plugins. This list can differ from others because it reflects my opinion that is not influenced by others. Rather, it is based on my experience based on a real-world scenario.
I did not test these on any test site. Rather, I implemented them on a production site that has been live since 2014 and measured the differences.
Performance Test Summary
In case you are short on time, here is a quick table that will give you a quick idea of what different plugins managed to do:
|Plugin||Median TTFB#||Reduction*||Median Fully Loaded Time†||Reduction*||Median Google PageSpeed Insights Score (Desktop)**|
|No Cache Plugin||0.809 seconds||NA||5.3 seconds||NA||52|
|LiteSpeed Cache||0.202 seconds||75%||0.8 seconds||84%||100|
|WP-Optimize||0.348 seconds||57%||1.0 seconds||81%||99|
|W3 Total Cache||0.387 seconds||52%||1.2 seconds||77%||94|
|WP Rocket Cache||0.391 seconds||51%||1.4 seconds||74%||92|
|WP Super Cache||0.403 seconds||50%||1.7 seconds||68%||89|
|WP Fastest Cache||0.411 seconds||49%||1.9 seconds||66%||88|
|Swift Performance Lite||0.412 seconds||49%||2.0 seconds||62%||85|
|Cache Enabler||0.479 seconds||41%||2.3 seconds||57%||83|
|Breeze Cache||0.495 seconds||39%||2.4 seconds||55%||82|
* The higher, the better
** The higher, the better
# The time taken to receive the first byte of information from the server.
† This reflects the maximum time after the FCP and Onload when there is no network activity since the last request was captured. The non-essential resources can load during the time between Onload time and Fully Loaded time.
Now the big question – how did I go ahead and perform the test?
For running the tests, I performed the following:
- WordPress (5.6)
- GeneratePress Premium
- Yoast SEO plugin
- Redirection plugin
- Mediavine Control Panel Plugin (that runs the Mediavine display ads on the websites of Mediavine Publishers)
- Cloudflare plugin (Cloudflare premium active)
- Code Snippets plugin
- Broken Link Checker plugin
- Email handled externally by Google Workspace
- Contact forms by Google Workspace (only links to three contact forms provided)
- It is a simple blog
- Provider – DigitalOcean Cloud Hosting
- Server Type – Basic $10 server with 2GB RAM, 1 CPU core, 50 GB SDD storage.
- Web Server – OpenLiteSpeed
- Server Management – None (you may use Cyber Panel, cPanel, Plesk, etc.)
- PHP Version – 7.4
With this full setup, and no caching plugin in place, the results are available in table. I started testing one plugin at a time for the same setup repeatedly to find out what happens.
Everytime I installed a plugin I used the following parameters (if available):
- CSS, JS, HTML minification – yes
- CSS, JS combine – yes
- External CSS, JS combine and inline – yes
- Load CSS asynchronously – no
- Generate critical CSS – no
- Remove WordPress emoji – yes
- Remove Noscript tag – yes
- Load Google fonts asynchronously – yes
- Remove query strings – no
- Lazy load images – yes
- Object cache – yes
- Memcached – yes
- Redis – no
- DNS prefetch – yes
- WebP image conversion – yes
- Gzip – yes
- Browser caching – yes
- Localize external resources (like Google analytics, Cloudflare CDN JS) – yes
- Localize gravatar – yes
- Cache logged in users – no (I don’t have a membership site)
- Cache TTL (all set to default) – yes
Mostly, I left the defaults on and the extras I did was to minify and combine CSS, JS files, DNS prefetch, removal of noscript tag, enabling object cache, image format conversion to WebP, localization of resources, etc. Of course, some of the features are not present in all caching plugins.
For testing purpose, I used GTmetrix with following parameters:
- Test server location – San Antonio, TX, USA
- Browser – Chrome on Desktop
- Lighthouse version – 6.3.0
- Connection speed – unmetered
I also tested the webpage on Google PageSpeed Insights for capturing the score on desktop, because desktop gives more or less consistent score even when the real-world test scenarios keep changing. The mobile score on the other hand shows sharp fluctuations. I ran each test 5 times to get the median score and median time.
Okay, now that you know the entire setup, let’s take a look into each of the caching plugins individually.
A Closer Look into the Plugins
LiteSpeed Cache is completely free and works perfectly when you combine it with either LiteSpeed Enterprise web server or OpenLiteSpeed web server.
The default settings of LiteSpeed Cache can improve the website speed significantly. However, the only problem is that LiteSpeed Cache plugin configuration can be a daunting task. There are too many options and if you want to fine tune it, you need some time.
It has some advanced features like conversion of images into WebP version, image lazy loading and instead of removing the image placeholders completely, it will place a low quality image placeholder that eliminates the issue of cumulative layout shift to a great extent.
Among other amazing feature, LiteSpeed Cache include DNS prefetch and ability to localize various resources. It even comes with database optimization features and loads of other advanced features that can be daunting for many. I will suggest not to fiddle around with advanced features as they may
If you want, you can read my full LiteSpeed Cache review here.
It is difficult to find a shared hosting provider that will offer LiteSpeed web server. So, if you want to use LiteSpeed Cache without LiteSpeed web server, you can do that provided you use the QUIC.cloud CDN.
WP-Optimize is a great caching plugin that you can use. The people who gave us UpdraftPlus backup plugin. WP-Optimize started out as database optimization plugin, but over time, it has evolved in a nice caching plugin. It is very simple to use with a clean interface.
The plugin incorporates some of the caching best practices which include Gzip compression, browser caching, cache preloading, optimization of font awesome and Google fonts, etc.
The plugin is capable of combining and minifying CSS, JS, and HTML files. However, you should disable the combining feature manually if that breaks your site.
Despite not having some really advanced features that you will get in plugins like W3 Total Cache, LiteSpeed Cache, etc., WP-Optimize actually performs better in my setup compared to most of the popular caching plugins.
Having said that, the performance of WP-Optimize may not be that great if your website has some advanced functions. The general rule of thumb states that the performance of a caching plugin will vary from one site to another depending on the type of site you have. So, what works best for me may not work best for you.
COST: FREE | You can get a paid version from $39.
W3 Total Cache
Until LiteSpeed Cache came to existence, W3 Total Cache trumped every other caching plugin in terms of the sheer number of features available. While W3 Total Cache can significantly speed up your site, some features can be too overwhelming and particularly helpful for developers or people who have immense experience.
Also, many people have reported that CSS minification and combining feature available with W3 Total Cache can break the site. That did not happen in my case. I cannot guarantee that it will not happen to your site.
If you are enabling those features, makes sure that you are testing your site thoroughly.
Unlike LiteSpeed Cache, which in combination with LiteSpeed server, gives true server-side caching, W3 Total Cache is not a server-side caching plugin. This explains why despite its insane popularity W3 Total Cache cannot outperform LiteSpeed Cache.
As a matter of fact, none of the caching plugins mentioned here on this list offers true server-side caching except the LiteSpeed Cache plugin.
COST: Previously, W3 Total Cache was free to use. However, since its acquisition by BoldGrid, you can get premium version as well for $99 per year.
WP Rocket is a premium caching plugin. There is no free version available. I used it by borrowing it from one of my developer friends who has an unlimited site license for it.
The plugin is loaded with some serious features that include Gzip compression, script minification (CSS, JS, HTML), script optimization (combining and inlining scripts), database optimization, cache preloading, locally hosting external resources like Facebook Pixel and Google Analytics, image and video lazy loading, heartbeat API control, and more.
Use some of the advanced features with caution because enabling them can break your site if you are using a complex theme or a complex page builder.
Despite offering loads of features, WP Rocket has managed to keep the plugin interface simple and user-friendly. All features have small and crisp description available so that you know what you are doing.
WP Super Cache
There was a time when there were only two dominant caching plugins – W3 Total Cache and WP Super Cache. Though other players in market have now made a dent in its popularity, it still remains an insanely popular caching plugin.
Unlike W3 Total Cache, WP Super Cache is simple. You don’t get too many options that can leave you overwhelmed. Using this plugin is as simple as just clicking a single box and you are good to go. The developer has ensured that the recommended settings are properly highlighted, making it easy for rookies to work with caching best practices.
Yes, there are some advanced features as well, but they are also pretty simple to use. You don’t need to be a rocket scientist to deal with those advanced settings.
In case you are not aware of what to do and what not to do, just go by the recommended settings.
WP Fastest Cache
WP Fastest Cache is yet another popular choice when it comes to caching. Some of the common features that you will get include script minification and combination, Gzip compression, and browser caching. It can also disable WordPress emojis.
COST: Free and Paid. Paid version is available from $49.99.
Swift Performance Lite
Swift Performance is yet another popular caching plugin. In fact, there are many developers who actually recommend this particular plugin. As the name suggests, the Lite version is a free edition of the caching plugin.
The free version is good enough for caching and offers some interesting features like Gzip compression, browser caching, script minification, database optimization, and cache preloading.
Swift Performance stands out from the rest of the plugins in one particular aspect. There are presets. You can apply a preset with a single click. It is like ‘set it and forget it.’ You don’t need to worry about anything else.
However, presets work best if you have simple sites like blogs. In case you are using a custom-designed site with custom functions or if you are running a very complex site, presets might not be a very good path to choose. You should consider fine-tuning the settings according to your needs.
This plugin has a few advanced features. The one I like most is its ability to disable plugins on certain pages. For instance, it can disable loading contact form plugin on every other page of your website except for the contact page.
COST: The Lite version free, but you can get the premium version as well, which starts from $40.
KeyCDN is the company behind cache enabler. No, you don’t need to use KeyCDN to be able to use Cache Enabler. Anyone can use it. Cache Enabler is a very lightweight plugin with very simple settings. You don’t need to have advanced knowledge to work with this one.
In case you are settling with Cache Enabler, I will suggest that you also grab another plugin called Autoptimize. This Autoptimize plugin will help you optimize scripts that Cache Enabler cannot do. However, when coupled together, these two can prove to be very effective.
In my test, however, I didn’t use Autoptimize because I wanted to test the capabilities of the Cache Enabler plugin as a standalone caching plugin.
Breeze has not been tested with the latest version of WordPress. So, use it with caution. Breeze is a product from Cloudways – a popular company in managed cloud hosting sphere.
No, you don’t need to be a customer of Cloudways to be able to use Breeze. It is available for everyone. However, if you are a customer of Cloudways, Breeze will offer some interesting integrations. For instance, you can use Breeze interface from your WordPress dashboard to clear the server-side varnish cache.
Breeze offers the standard caching functions and also offers Gzip compression, database optimization, script minification and combination, browser caching, and ability to integrate a CDN of your choice.
How well a caching plugin will work for you will depend a lot on your website and your server setup. As I said earlier, what works best for me may be a disaster for you. So, try out different options and configure different settings to find out what works perfect for your site.
I will always recommend using LiteSpeed Cache to everyone along with LiteSpeed server. Of course, that might not always be possible. In such case, you can always opt for WP-Optimize or W3 Total Cache.
Those that have premium version will over premium support and resolve most of your issues quickly. For the free options, you mostly have to depend on community support.
Again, if you have a very simple website and want basic caching, something as simple as Cache Enabler can work best for you.
Don’t forget the basic things – a cache plugin cannot really help you if your website is not well-coded or if your server is under-powered. You need to focus on those things as well. Even a good CDN can help to improve your website speed.
There are too many factors that eventually decide how fast your website becomes. For instance, too many ads on your site or too many large images per page can significantly reduce your page speed even with caching and CDN enabled.
So, test different options and find out what your website needs!