Caching plugins are one of those indispensable plugins that every single WordPress site needs. While some performance optimization tweaks barely move the needle when it comes to page load times, caching can dramatically slash how long it takes your website to load.
I’ve used a properly configured caching plugin to cut page load times under one second even on a budget shared host.
So if you want your site to load fast (which I hope you do), you need a caching plugin. And because you need a caching plugin, it’s good that you’re here…because I’m about to list out 5 of the best WordPress caching plugins.
What Types of Caching Plugins Are There?
Before I dig into the list, I should probably mention that there are a few different types of caching available to you. For the average user, the main thing you’re looking for is a plugin that offers page caching.
By itself, page caching will boost your site’s performance a ton. Basically, it eliminates the need for WordPress to query the database each time a visitor lands on your site, instead serving up a cached version static of the page.
Honestly – if you’re an average WordPress user, all you need is a lightweight page caching plugin.
But…there are also piles of other caching methods that some more advanced caching plugins offer. Database caching, object caching, memcached…it’s enough to make your head swim.
I kind of view it like this – if you have a site and server architecture that can benefit from those advanced methods, you probably already know about those advanced methods. If you have no idea what the heck I’m talking about, then there’s a good chance you should just use page caching and call it a day.
Best WordPress Caching Plugins for 2017
Below are the plugins I’ve either personally used on my production sites or, in a couple of cases, had recommended to me by other webmasters I respect.
1. Cache Enabler
I’m not putting Cache Enabler at the top of this list because it has the most features. Trust me, compared to some of the other plugins, its feature list is barebones. But that’s actually a good thing…if you’re a beginner.
See, Cache Enabler helps you set up that all important page caching without confusing you with tons of other complicated settings.
Instead, there are only four settings for the entire plugin. All you do is choose:
- Cache expiry
- Cache behavior
- Cache exclusions (it’s a good idea to exclude contact form pages, etc).
And then Cache Enabler automatically handles everything for you. All for free.
This is the caching plugin I recommend to all WordPress beginners. Again – yes, it lacks many advanced features offered by other caching plugins. But Cache Enabler has everything beginners need in an easy-to-use package.
2. WP Super Cache
WP Super Cache is a free caching plugin that comes to you from Automattic, the company behind WordPress.com and, kind of, WordPress in general.
It gives you more flexibility over how your cache functions, though it’s still nowhere near as complicated as W3 Total Cache.
You can serve up cache files in three different ways:
- Legacy page caching
The devs recommend Mod_rewrite if your server can handle it.
What’s nice is that the plugin’s settings are divided up into Easy and Advanced sections.
So if you’re a beginner, you can just hang out in the Easy section and not have to deal with any complicated settings. But advanced users still get the option to dig in a bit and tweak things.
I’ve never personally run WP Super Cache on a production site, but I ran a few quick tests on my test site and it seemed to perform comparatively to other caching plugins.
If you’d prefer a bit more flexibility than Cache Enabler but don’t want to deal with object caching and its friends, WP Super Cache is a solid, well-rated option from just about the most trusted developer possible.
3. W3 Total Cache
W3 Total Cache is an absolute monster of a plugin. It’s so big, in fact, that I had to write an entire 3,000-word guide on how to setup W3 Total Cache the right way.
That depth of functionality has both pros and cons.
On the pro side, you get access to all types of different caching options. You can set up:
- Page cache
- Database cache
- Object Cache
- Browser cache
- Fragment cache
You can also integrate W3 Total Cache with a CDN. As well as lots of other settings depending on your server’s architecture. That’s great…if you have the knowledge and server power to take advantage of your options.
So when it comes to caching, it’s not as simple as a blanket “More is better”.
If you’re not planning to take advantage of those advanced features, you’re pretty much just making your life more complicated for little, if any, benefit.
W3 Total Cache is by no means a bad plugin. I just think it’s an inferior option for beginners. If you know what you’re doing and need the advanced functionality, it’s definitely a quality plugin.
4. WP Fastest Cache
WP Fastest Cache is a popular plugin boasting an impressive 5-star rating on over 300,000+ active installs. Tough to argue with that!
In addition to solid page caching using a few different methods, WP Fastest Cache also adds some other performance optimizations like:
- GZIP compression
- Browser caching
The settings panel is fairly self-explanatory – I think beginners should have no problem using the plugin, though it is a bit more complicated than Cache Enabler and WP Super Cache.
You can also set up a few different scenarios in which to clear the cache (e.g. for new posts or updated posts).
If you upgrade to the Pro version, you’ll also get access to an image optimization tool.
On my test site, WP Fastest Cache improved page load times a little bit more than WP Super Cache, but not enough for me to label the difference scientifically significant.
Overall, I’d say WP Fastest Cache is a good option for those who want some additional optimization features like minification and GZIP compression in a simple, beginner-friendly interface.
5. WP Rocket
WP Rocket is the only cache plugin on this list that doesn’t offer any type of free license. It does include some smaller optimization features that most caching plugins don’t offer, though, which may or may not be enough to justify the cost for you.
In addition to page caching, WP Rocket also helps you add:
- GZIP compression
- Database optimization, including scheduled optimizations
- Google Fonts optimization – most sites use Google Fonts, so this is definitely helpful
- Remove Query Strings from Static Resources – a common complaint from GTMetrix and Pingdom
- Lazy loading for images
While you can get all of those optimizations with separate free plugins, having them all packaged up in one will save you time and make your performance stack less complicated.
I haven’t personally used WP Rocket, but Oli reviewed WP Rocket in the past and had positive things to say regarding its interface and performance – which is enough for me to give it a thumbs up!
The cheapest WP Rocket plan is $39 for a single site license.
6. Speed of Light
WP Speed of Light claims to be easy to use yet to offer advanced optimization. The plugin is composed of a free version available on the plugin directory and a pro addon.
The main features of the free plugin:
- Cache & Gzip
- File group and minification
- Browser and mobile-specific cache
- Website speed test (based on webpagetest API)
- Database optimization
The PRO add-on brings features like:
- Image compression
- Cache preloading and DNS prefetching
- Cache per user, user role, visual file exclusion
- Database automatic optimization
Wrapping Things Up
No matter what your situation is – you need a caching plugin.
If you’re looking for the simplest, best-performing free cache plugin, I would choose between Cache Enabler and WP Fastest Cache.
If you need more advanced caching options, then W3 Total Cache is definitely one of your best options.
And finally, if you’re willing to pay for tons of optimization features baked into one simple package, then WP Rocket seems like a great option according to Oli’s review.
Now over to you – what’s your WordPress cache plugin of choice and why? I use Cache Enabler on all my sites nowadays, but I’d love to hear what everyone else is using.