Comparing Caching Plugins for WordPress

Before making a final selection, I always start with a comparison. So here's my evaluation after comparing caching plugins for WordPress. If you don't know what caching is or need a quick refresher, my buddy Mendel just published a post for you.

The Candidates

I decided that I wanted to look at more than just one or two plugins when it came to caching plugins, so the first thing I needed to do was settle on the short list of candidates. These are the ones that made my final list:

You might think, why is there even a list. Isn't W3 Total Cache the winner? You'd think that if you did a Google search on caching plugins and WordPress. But that's mostly because it's been, like WP Super Cache, around a really long time. And history is favored by Google's backlink algorithms. Maybe one of the other plugins is your favorite. I don't know. But I do know that looking at several helps keep us from our natural bias.

Free vs Paid

All the previously listed plugins have free versions except WP Rocket. W3 Total Cache and Comet Cache both have premium versions like WP Rocket. But if you're looking for free, and that's the only price you ever want to pay, then the good news is that you have a lot of options.

But is this the way we should be comparing caching plugins? I don't think so.

Price, for me, is a proxy indicator of support. You've likely heard people say, “you get what you pay for.” Well when it comes to plugins in the WordPress ecosystem, there are a ton of them. And some of them do an incredible job of support. But percentage-wise, that's not the norm. The majority of free plugins can't get enough traction to stay alive, much less deliver a great customer service experience.

Simple Interface

Each of the caching plugins I compared had a simple interface except W3 Total Cache. Now, part of the dynamic is that the simple the plugin, the simpler the interface. The more complete and rich the feature set, the more interface you may need to create. And that can lead to some additional complexity.

Other than W3 Total Cache, you don't need a lot of time to figure out how to use these plugins. But when it comes to feature sets, you'll see why that is. Some of these plugins are super simple and do one thing only, and hence need very little interface to get going. Cache Enabler and WP Super Cache may have the easiest interface of the bunch.

Multisite Compatibility

When it comes to multisite, there are two ways to work things. The first is a network activation, which allows you to activate the plugin once for all the sites. The other is to individually activate the plugin on each site. Because caching is pretty heavily tied to each site, many of the plugins work in the second way. I found that WP Rocket and Cache Enabler also supported multisite in the first way, which felt intentional. They worked hard to make their plugins work in a multisite setting.

I only had a bit of trouble when testing Hyper Cache, but it might have been my setup.

Minification & Concatenation

WP Super Cache and Hyper Cache offered a nice set of features, but minification and concatenation weren't part of the feature set. The rest of the plugins supported these features.

What is minification? It is the process of taking the white space, comments and line breaks out of the code – which reduces the file size. When you think about it, the white space, line breaks, and comments are there so we can read the files. But when it comes to computers reading the files, they don't need it. And when you remove that stuff, you end up with smaller files. And smaller files load up more quickly.

What is concatenation? In the old days before HTTP/2, your browser would make individual requests of files. The more requests, the longer it took to load. So concatenation would take all your CSS or all your JavaScript files and stick them into one larger file. The result would be less requests, which meant faster loading. But now, in the world of HTTP/2, the way the browser and server work is different. So concatenation is no longer needed. Unless your host doesn't support HTTP/2. If that's the case, check out Nexcess.

Intelligent Cache Clearing

Here's what I want. I want a WordPress caching plugin that knows when to clean up the cache. Automatically. You know what I mean, right? When I edit a post, that post should be cleared from the cache so that people get the new version. Same goes for pages.

Here's what I don't want – that I have to manually clear the cache, and that it clears the entire cache when maybe all I needed was to clear the cache for the home page.

Unfortunately, most of the plugins don't do what I want. The two that were best at this were WP Rocket and Comet Cache. The rest were ok, but not what I'd called magically delicious.

Full Page Cache and Object Cache – Two Different Things

If you read the post by Mendel, linked above, you likely discovered that full page cache and object cache are two different things. One takes a snapshot of the full page (HTML, CSS, JavaScript) and presents it to the reader the next time that page is requested. The other kind of caching saves the query that went to the database. So imagine we wanted all the posts in a category. That's a query to the database. And if we have a lot of people clicking that category link, wouldn't it be nice to not have to ask the database again and again for that data? That's object caching.

So which plugins did the best at supporting object caching? WP Rocket and W3 Total Cache.

Oh, and by the way, of all of them, only one of them was great at optimizing my database. That was WP Rocket.

CDN / Cloudflare Support

You may think, “Wait a second, a CDN or Cloudflare isn't the same as WordPress caching.” You're right. But when it comes to speed, don't you want your caching solution to support your approach to using a CDN? I know I do. That's why it's on my list. I wanted to know which of these plugins would integrate with Cloudflare – again, in an intelligent way.

Three plugins did – WP Rocket, W3 Total Cache, and Comet Cache.

Comparing Caching Plugins – The Results

Did you read any of the above? Or just skip down here to see which plugin was the best? Well, here they are. This time they're ranked by the evaluation above.

First Place – WP Rocket

There's no question in my mind, nor should there be in yours, that when you look at all the criteria above and how well WP Rocket does across the board, that spending $49 for the plugin is well worth the investment. It's the best cache plugin for WordPress by far!

Second Place – Comet Cache

It was a surprise to me but when you move past the free version to the $39 product, Comet Cache really stepped up into the top tier of caching plugins for WordPress. A lot of smart things they're doing for their customers.

Third Place – W3 Total Cache

I don't know if you caught the news but W3TC was purchased recently by BoldGrid. And that suggests to me that we'll soon see a cleanup of the interface to make it easier to use. It's a fine plugin that can cause site issues mostly because of user error. But you can't blame the user if they don't know how to navigate the interface. That said, still a powerful plugin.

Best Free / Simple Plugin – Cache Enabler

If you're looking at this comparison and saying, I just want a free solution that is easy. Then check out Cache Enabler.