There are a lot of WordPress plugins that only certain sites need. And then there are some plugins that every single WordPress site needs.
A caching and performance optimization plugin falls decidedly in that latter camp.
Because performance is so important – affecting everything from user experience to Google rankings and conversion rates – everyone who wants their site to be successful needs to make sure it loads quickly.
When it comes to caching plugins, WP Rocket is one of the most popular options. And even though it labels itself as a caching plugin, WP Rocket also includes a bunch of smaller performance-optimization features to go along with caching.
But in a world of free caching plugins like W3 Total Cache and WP Super Cache, is WP Rocket actually worth paying for?
That’s what I aim to find out in my WP Rocket review.
Join me for a look at some real performance data, a tour of the WP Rocket dashboard, and my thoughts on whether WP Rocket’s features justify its price tag.
WP Rocket Is More Than Just A Caching Plugin
Page caching is one of the absolute best things you can do to speed up your WordPress site.
But here’s the thing:
There are tons of popular free WordPress caching plugins:
That means, in order for WP Rocket to justify its premium price tag, it needs to find a way to differentiate itself from those free options.
WP Rocket tries to do that in two ways:
- By offering an interface that’s beginner friendly and easier to use than many other caching plugins.
- By including tons of other smaller performance optimizations that most other caching plugins don’t offer.
You’ll see how the interface is designed a little later on, but let me lead quickly with some of those other optimization tweaks because I think they’re where most of WP Rocket’s value comes from.
Here are some of the biggest tweaks that you get:
- Minification – shrinks the size of your site’s code by removing unnecessary content, like whitespace, without changing the code’s functionality.
- Combine files – does what it says! Combines multiple files (like multiple CSS files) into a single file.
- Remove query strings – removes queries strings, like “?ver=1.0”, to improve your GTmetrix score.
- Render-blocking CSS/JS – does what it says and helps you get rid of the famous “Render blocking” warning in Google PageSpeed Insights.
- Lazy Loading – speeds up your site by only loading certain media content once it enters the visitor’s viewport. Essentially, your site won’t load images and/or videos until absolutely needed.
- Easy CDN integrations – helps you connect to CDNs like Cloudflare and origin pull CDNs.
- Database optimizer – lets you clean your database right from WP Rocket, rather than requiring you to install a separate plugin.
- Heartbeat control – take control of the WordPress Heartbeat API.
Putting WP Rocket To The Test – Real Performance Data
Because WP Rocket is all about improving your site’s performance, it wouldn’t be a WP Rocket review without some actual test data.
And because all those features I listed above are a moot point if WP Rocket doesn’t actually make your site faster, I’m not going to make you wait to get a look at the data.
Here’s how I’m going to test WP Rocket’s performance:
I’ve set up an unoptimized test site hosted at SiteGround. It’s using GeneratePress and an Elementor template to make sure there’s a good amount of content on the site.
I’m going to test the site’s unoptimized performance. Then, I’m going to configure WP Rocket and see how the performance changes.
Then, after I share all that data with you, I’ll take you through the WP Rocket interface and actually show you the settings and features that make up the plugin.
That way, you’ll know more than just WP Rocket’s features – you’ll also know how those features translate into real life performance.
Ready to get testing?
Here’s How My Test Site Performed Before WP Rocket
Before installing WP Rocket, here’s how my unoptimized site performed in Gtmetrix and Pingdom tests:
GTmetrix:
Pingdom:
WP Rocket Cut Page Load Times By 50%+
After optimizing my test site with WP Rocket, its page load times dropped by more than 50% in both tests. And, as I’d hoped for, there were also reductions in the number of requests and my test site’s page size:
GTmetrix:
Pingdom:
WP Rocket Before And After Compared
To make it easier to see the differences, here’s a table summarizing the change before and after optimizing my test site with WP Rocket:
Before WP Rocket | After WP Rocket | |
GTmetrix Page Load | 2.1 s | 1.0 s |
GTmetrix Requests | 45 | 25 |
GTmetrix Page Size | 920 KB | 909 KB |
Pingdom Page Load | 1.50 s | 423 ms |
Pingdom Requests | 44 | 24 |
Pingdom Page Size | 1.0 MB | 967.5 kB |
How To Optimize Your Site With WP Rocket
Ok, so now you know that WP Rocket does indeed do a pretty good job of actually speeding up your site. But how does it actually go about doing that?
To show you what’s going on underneath the hood, I’m going to take you through the WP Rocket interface now.
But first – here’s the part about WP Rocket that’s pretty nice:
WP Rocket starts working from the second that you activate it, which means you get most of the benefits without needing to do anything or look at any settings:
If you’ve ever tried to configure W3 Total Cache, WP Rocket is going to feel like a breath of fresh air.
In fact, this ease of use is one of the big things to help justify WP Rocket’s price tag, especially for beginners. Without configuring a setting, you already have:
- Page caching
- Browser caching
- GZIP compression
Those three alone are already going to get you a massive performance boost.
All the other smaller settings are optional tools that can boost your performance even more.
But if you’re a beginner and don’t know what they mean? Well, you could technically never even look at WP Rocket’s interface and still enjoy a big speed boost, which…well, that just isn’t the case with W3 Total Cache (trust me, I’ve had to write 3,500 word tutorials on how to configure W3 Total Cache)
If you want to get into the guts of the plugin, though, here’s what’s going on in the dashboard:
Dashboard Tab
The Dashboard tab doesn’t house any important settings, but it does let you perform important actions. Specifically, you can purge your entire cache and/or start cache preloading.
For example, if you recently made a big change to your site, you might want to purge the entire cache so that your visitors see that change right away. After purging the cache, you could start cache preloading to get those pages back into the cache:
Now, let’s dig into some of the actual settings…
Cache Tab
The Cache tab lets you configure some basics about how your site’s caching functionality works:
Specifically, you can opt to:
- Enable caching for mobile visitors and, if enabled, also create a separate cache for mobile visitors. If you want to use mobile caching, I, and WP Rocket, recommend enabling both settings to ensure that mobile visitors have an optimized experience.
- Enable caching for logged-in users. WP Rocket will create a separate cache for logged-in users, which is great if you have restricted content that users need to be logged in to see. If you don’t have registered users at your site, I’d recommend leaving this off.
Beyond that, you can also choose the cache lifespan, which is how long WP Rocket stores the cached version of a page before removing it. By default, it’s 10 hours, but you can make it longer or shorter according to your needs.
For example, if your site pretty much never changes, you might want to tell WP Rocket to store cached files longer.
File Optimization Tab
Next, the File Optimization tab lets you enable minification and concatenation, as well as some other settings.
Basically, these settings let you shrink the size and number of your HTML, CSS, and JS files without changing any functionality.
WP Rocket can also help you:
- Eliminate render-blocking JavaScript and CSS.
- Combine Google Fonts files.
- Remove query strings from static resources.
One important thing to note here is that minification and concatenation can sometimes cause issues with the front-end display of your site, which WP Rocket will warn you about:
The nice thing here is that WP Rocket will let you manually exclude certain CSS and JavaScript files, which can help you prevent issues. However, that’s a bit of an advanced tactic, so if minification and concatenation are causing issues and you’re not sure which file is the problem, I’d recommend just disabling this functionality.
Media Tab
The Media tab helps you speed up the images, videos, and other media files on your site by implementing a few different strategies, most notably lazy loading.
With lazy loading, your site will wait to load certain below-the-fold content until a visitor starts scrolling down the page. You can enable lazy loading separately for:
- Images
- Iframes and videos
If you embed a lot of YouTube videos, you’ll also love the ability to replace the YouTube embed with a static preview image. This can make a big difference on your page load times, as WordPress will wait to load the actual YouTube embed until a visitor clicks on the preview image:
Beyond the lazy loading functionality, this tab also lets you:
- Disable emojis
- Disable WordPress embeds
Preload Tab
The Preload tab helps you implement one of WP Rocket’s most powerful features – cache preloading.
With most WordPress caching plugins, a page is only loaded into the cache after a person visits the page, which means that the first visitor after each purge doesn’t get a cached version of the page.
If you have posts or pages that get infrequent traffic (even high-traffic sites will have these types of posts), that’s not a good thing for your site’s performance.
The Preload tab helps you change that by “preloading” your content into the cache, even if it hasn’t been visited yet.
WP Rocket lets you preload your content via two different methods:
- Sitemap – you enter a URL to your sitemap and WP Rocket preloads content based on that. Or, WP Rocket will automatically detect common SEO plugins.
- Bot – an actual bot will crawl URLs to create the cache.
Sitemap preloading is less resource-intensive, but only runs when the cache lifespan expires, whereas the bot will preload pages as soon as they get published or edited (but uses more resources as a result).
You can read a more thorough explanation of the differences at this help doc.
The important thing is that WP Rocket gives you multiple methods for preloading your content, which most caching plugins don’t do.
This tab also lets you enable DNS prefetching, which can make external files load faster.
Advanced Rules Tab
If you’re a casual user, you can ignore the Advanced Rules tab.
Basically, this tab gives you more control over exactly which content is cached, who sees cached content, and when certain content is purged.
You can:
- Specify specific URLs to never cache, including wildcards. For example, I usually exclude my contact form page from being cached, because caching can cause issues with some form plugins.
- Exclude certain cookies or user agents from being served cached content.
- Specify specific URLs to always purge whenever you update any post or page.
- Force caching for specific query strings.
Database Tab
As your WordPress site ages, its database picks up all kinds of “gunk” in the form of post revisions, auto drafts, and other content that’s not necessary for the functioning of your site.
The Database tab lets you clean your database and remove all those extraneous details:
While, like some of the other features, there are free plugins that can do this for you, you’re, again, essentially paying for the convenience of having it all under one roof.
And one thing that I especially like about WP Rocket’s Database area is that you can schedule your database cleanup to run automatically.
CDN Tab
WP Rocket does not include its own CDN, but the CDN tab helps you connect to a separate CDN service by enabling you to rewrite your URLs to serve content from the CDN.
For example, you can tell WP Rocket to serve all your image files from cdn.yoursite.com instead of yoursite.com.
What’s nice is that you can create separate rules for:
- All files
- Images
- CSS and JavaScript
- Just CSS
- Just JavaScript
Beyond that, you can manually exclude certain files from being served over the CDN.
To use this feature, you’ll need your own CDN like:
- KeyCDN
- Stackpath
WP Rocket also has its own dedicated Cloudflare integration – more on that in a second.
Heartbeat Tab
The WordPress Heartbeat API is an always-running feature that helps with important actions. For example, it’s what’s responsible for the post auto-save feature in the WordPress Editor.
However, because it’s always running, it can also stress your server’s resources.
The Heartbeat tab lets you either:
- Reduce the frequency of the Heartbeat API
- Completely disable the Heartbeat API
You can also create different rules for different parts of your site:
Add-ons Tab
The Add-ons tab houses a few different add-ons for:
- Google Analytics
- Facebook Pixel
- Varnish
- Cloudflare
- Sucuri
The Google Analytics and Facebook Pixel add-ons let you host those tracking scripts locally.
The Varnish add-on lets you purge the Varnish cache each time you purge the WP Rocket cache. The Sucuri add-on does the same thing for Sucuri’s cache.
Finally, the Cloudflare add-on lets you sync the Cloudflare cache and also lets you control some Cloudflare settings right from your WordPress dashboard:
For example, if you enable the Cloudflare add-on, you’ll get a new settings area for Cloudflare:
How Much Does WP Rocket Cost?
WP Rocket starts at $49 for a single site license. In total, there are three different pricing plans. The only difference between the plans is the number of sites that are supported – there aren’t any feature limitations:
Each plan includes one year of support and updates. It’s worth pointing out, though, that you do get 50% off renewals if you want to continue receiving support/updates after the first year.
WP Rocket also offers a 14-day refund policy, in case you’re not happy with the plugin.
WP Rocket Review: The Final Thoughts
Honestly, if you’re on a shoestring budget, I think it is possible to cobble together a stack of free plugins that get you pretty close to the same functionality as WP Rocket. Maybe not everything. But pretty close.
But here’s what I think paying that $49 gets you (and why WP Rocket has been so successful):
- Convenience – everything is housed under one roof and easy to access and configure, whereas if you built your own free stack, you’d constantly be bouncing back and forth between different plugins.
- Compatibility – because WP Rocket is a single cohesive plugin, you can be sure that none of the features will interfere with each other. If you try to stack together different plugins, you can quickly start hitting compatibility issues.
- Support – when you go with free plugins, you’re either getting no support or severely limited support. With something as potentially complicated as performance, it’s worth it to have an expert to talk to sometimes.
- Updates – because WP Rocket is a premium plugin, you can be more confident that it will continue to receive regular updates because there’s a financial incentive for the developers to do so (though to be fair, plenty of free plugins receive regular updates as well).
So – yes, you can get a quick-loading site with the free options, and plenty of people do. But if paying $49 for those benefits sounds like a good investment to you, I think WP Rocket is a great product that manages to give you tons of functionality while still keeping things beginner friendly.
After all, time is money. So if WP Rocket’s ease of use and convenience saves you a couple hours of hair-pulling and gets you a faster website, I think the pricing is fair.
Pros
Reduced page load times by 50%+ Easy to use, especially in comparison to W3 Total Cache Includes performance optimization features that go beyond caching Well-designed dashboard area
Cons
It’s not free, like much of the competition
Summary
WP Rocket is a premium WordPress caching plugin packed with tons of smaller optimization features.
WP Rocket is a premium WordPress caching plugin packed with tons of smaller optimization features.