- By
If you’ve ever tried to install a caching plugin at WP Engine, you know that WP Engine bans caching plugins because they interfere with WP Engine’s server-level EverCache system.
Well, bans all caching plugins except one – WP Rocket. In fact, WP Rocket is part of WP Engine’s “Preferred Plugin Program”, and you’re totally free to use WP Rocket at WP Engine.
That got us wondering – does using WP Rocket with WP Engine actually make a difference? That is, if you’re already paying for WP Engine and all the performance optimizations that they implement at the server level, is it still worth using WP Rocket to further speed up your site?
To find out, I set up a test site on WP Engine and ran it through some tests comparing how it functions with WP Rocket and without, and I’m going to share that data with you.
But before I get to the data, let’s discuss what’s actually going on when you pair these two together…
What’s Happening When You Use WP Rocket at WP Engine?
As I mentioned above, WP Engine includes server-level caching by default via its EverCache system. If you’re not sure what caching is, check out this post, and you can learn more about WP Engine in our WP Engine review.
On its product pages, WP Engine is pretty vague about what EverCache actually does (beyond “caching static content on your site.”). So to get a more detailed explanation, I reached out to their support, who told me it’s basically a combo of:
- Varnish page caching
- Memcached object caching
This system overlaps with a lot of caching plugins – including WP Rocket’s page caching functionality – which is why WP Engine bans caching plugins from its platform.
So how can they work together, then?
Well, to avoid any conflicts, WP Rocket will automatically disable its page caching functionality when you install it on a site at WP Engine. So – WP Rocket isn’t doing any page caching when you use it at WP Engine, which means you miss out on one of WP Rocket’s big selling points.
However, even without its caching functionality, WP Rocket still offers a number of other performance improvements that you can benefit from, including:
- Minification and concatenation – shrinks and combines HTML, CSS, and JavaScript files without changing their functionality.
- Lazy loading images and videos – waits to load below-the-fold images or videos until a user starts scrolling down the page.
- Defer JavaScript – speeds up your perceived page load times by waiting to load JavaScript until after the page has been rendered.
- Heartbeat Control – lets you limit or disable the WordPress Heartbeat API to lessen the load on your server.
- Misc tweaks – like disabling emojis.
Additionally, WP Rocket automatically purges the WP Engine cache whenever you clear the cache in WP Rocket, which is a nice bonus when it comes to convenience.
This post is basically about discovering how much those extra performance tweaks can move the needle on your site’s performance.
Running Some Tests – WP Engine and WP Rocket
To find out how much of a difference WP Rocket makes on WP Engine, I set up a test site on WP Engine’s Starter plan.
This test site uses the Avada theme and a full Avada demo site, as well as some behind-the-scenes plugins like Yoast SEO. Basically, I’m trying to approximate a “real” WordPress site.
Then, I’ll use WebPageTest to test the site:
- Without WP Rocket (i.e. only using WP Engine’s built-in performance tweaks)
- With WP Rocket fully configured (I’ll share my configuration approach after the test data)
I’m using WebPageTest because I wanted a good way to quantify WP Rocket’s lazy loading, which WebPageTest’s Speed Index does a good job of capturing. The “Speed Index” is “the average time at which visible parts of the page are displayed”. Basically, how quickly the above-the-fold content is visible to people, which should capture the effect of lazy loading.
To try to remove as many variables as possible, I’ll run three separate WebPageTest tests on three separate days.
What’s more, I’ve set up each single WebPageTest test to run 5 separate tests itself and take the median value. So all in, there will be 15 separate tests for each configuration, which should do a good job of eliminating any single-test variability.
For reference, my WP Engine datacenter is in South Carolina and I’m using WebPageTest’s Dallas, TX location and emulating a 5 Mbps Cable connection using the Chrome desktop browser.
Here’s the data:
Day 1:
Configuration | Load Time | Speed Index | Fully Loaded |
4.296 seconds | 4.400 seconds | 4.798 seconds | |
3.959 seconds | 4.312 seconds | 4.407 seconds |
Day 2:
Configuration | Load Time | Speed Index | Fully Loaded |
3.932 seconds | 4.172 seconds | 4.403 seconds | |
3.819 seconds | 4.062 seconds | 4.377 seconds |
Day 3:
Configuration | Load Time | Speed Index | Fully Loaded |
3.376 seconds | 3.699 seconds | 3.845 seconds | |
2.491 seconds | 2.919 seconds | 5.289 seconds |
Terminology Explained
Here are the definitions for the three terms from WebPageTest:
- Load Time – “the time from the start of the initial navigation until the beginning of the window load event (onload)”
- Speed Index – “the average time at which visible parts of the page are displayed”
- Fully Loaded – “the time from the start of the initial navigation until there was 2 seconds of no network activity after Document Complete. This will usually include any activity that is triggered by javascript after the main page loads.”
How I Configured WP Rocket for These Tests
For reference, I pretty much turned everything on in WP Rocket. I enabled…
- Minification and concatenation for HTML, CSS, and JavaScript
- Optimize CSS and JavaScript delivered to eliminate render-blocking code
- Lazy loading for images and video
- Heartbeat API control (I totally disabled the API)
- All the misc performance tweaks, like disabling emojis
So – Does Using WP Rocket at WP Engine Make a Difference?
From the data, it does appear that there’s still a benefit to using WP Rocket even on WP Engine. With WP Rocket enabled, the site loaded faster on all three days that I ran tests (and remember, each test itself is 5 separate runs).
When you consider what WP Rocket is doing, that certainly makes sense.
Tweaks like file minification/concatenation, lazy loading, optimizing delivery, etc. are all well-trod advice for speeding up your WordPress site.
Do you need WP Rocket to make those optimizations? Not necessarily. You could build a free stack of plugins with similar functionality. For example:
- Autoptimize for minification and script optimization
- Lazy Load for lazy loading (a free plugin from the WP Rocket team)
- Heartbeat Control to limit or disable the Heartbeat API (another free plugin from the WP Rocket team)
- WP-Optimize to clean your database
- Clearfy for misc performance tweaks
However, I think there’s value in the convenience and simplicity of being able to do all that from one plugin (WP Rocket), which might justify the $49 price tag itself.
Additionally, two other benefits of WP Rocket over the free options are:
- Premium support if you need help configuring all that stuff
- WP Rocket integrates with WP Engine’s Varnish cache, which lets you purge your cache via WP Rocket (just a nice little convenience feature)
If that’s worth $49 to you, you can learn more about how WP Rocket works in our WP Rocket review.
Used/using WP Rocket with WPEngine? Thoughts?