This WP Rocket review will show you just how incredible it is to be able to install and activate some of the most difficult to achieve WordPress speed optimizations in under 3 minutes.
WP Rocket is far more than a regular caching plugin. It will accelerate your WordPress site out of the box whilst also replacing the functionality of at least 5 other plugins.
Whilst it's one of the most advanced and effective caching plugins around it's also super easy for beginners to use.
Without WP Rocket my test site showed a contentful paint time of 1 second.
But WP Rocket shaved off over 800ms, reducing the contentful paint time to 198ms.
That's a difference of 80.2%. Incredible!
And I'm going to help you to achieve the same.
NOTE: I always reference speed in terms of contentful paint time or perceived load time. This is the time it takes for users to believe that the page is fully loaded (i.e the time it takes for the first "above the fold" content to appear). Fully loaded time is meaningless.
The ideal WP Rocket settings guide that follows provides a comprehensive explanation of the settings and how they affect website speed. The review therefore, forms part and parcel of the guide.
Let's dive in.
Why I Use WP Rocket
- Caches straight out of the box.
- Extremely easy to configure (less than 3 minutes).
- SUPERCHARGES YOUR WORDPRESS.
- Server and browser caching.
- Long track record of success.
- Over 700,000 sites optimized with WP Rocket.
- CACHE WARMER (preloader) so even the first visitor gets a cached page.
- DNS prefetch (speeds up calls to external sites e.g. Google fonts).
- Built-in database cleaner.
- CDN integration.
- Integrates seamlessly with Cloudflare
- Host Google Analytics locally.
- WooCommerce compatible.
- Compatible with WP Touch, WordPress Mobile Pack, WP Mobile Detector, WPML, Polylang, qTranslate and bbPress.
- Works with Apache, Nginx, Microsoft IIS and LiteSpeed web servers.
- Varnish cache compatible.
- Multisite compatible.
- Easy to switch from other caching plugins (incl. W3 Total Cache and WP Super Cache).
- Discounted yearly renewals.
- 14 day refund policy.
- Check out the WP Rocket Website.
WP Rocket is a premium plugin so you'll have to purchase it in order to install it.
The nice thing with WP Rocket is that after your initial purchase, renewals are discounted.
OK, now hit up the WPRocket website and purchase the plugin.
Download to your local drive. Then install it from the WordPress dashboard by uploading the zip file.
On installation, WP Rocket applies 80% of web performance best practices and the plugin is already working to make your site faster.
Now WP Rocket is designed to automatically purge the cache and preload pages in certain circumstances as you will see later on. However, you can manually purge the cache and preload it direct from the WP Rocket dashboard.
Typically, a cache is built when pages on a site are visited. Preloading is the process of building the cache immediately (cache warming) so that users are always served with cached pages which speeds up delivery immensely.
An OPCache is a PHP extension that stores precompiled script bytecode in shared memory for quick access. To this end, PHP does not need to load and parse script with each request. WP Rocket allows you to purge the OPCache right from within the dashboard. OPCache is built into PHP5.5 and above.
As you can see, the developers have gone out of their way to make it really easy to use the plugin.
From here, we will configure further options to enhance speed even further.
- Mobile Cache - This creates caching for mobile users which is imperative as Google adopts a mobile first approach in their algorithms and they index their SERPS according to this mobile index. This approach applies to SERPS for all devices. You can also create a separate cache for mobile devices and it's advisable to keep this option enabled.
- User Cache - Enable this for membership type websites or restricted content where members must log in to see content. The site will be cached as normal for ALL users but a separate cache is created for each member that must log in to the site. This means that their unique user information can only be seen by themselves.
- Cache Lifespan - Time based caching whereby the cache is purged after a specified time period. You must enable preloading (later on) in order to warm the cache again after purging. Cache warming means that the cache is built immediately without users having to access pages to invoke caching. This is a great way of doing things because various forms of action based cache clearing are automatically applied in certain circumstances, as below.
WP Rocket will automatically purge the cache and preload each time new content is added or when content is edited or updated. This ensures that pages delivered to users remain current.
There are also other times when the cache will be cleared automatically:
- Changing or updating child and parent themes and theme options.
- Creating, updating or deleting users.
- Updating site menus.
- Creating, updating or deleting sidebar widgets.
- Creating, updating or deleting categories, tags or permalink structures.
- Creating, updating or deleting terms.
- Creating, updating or deleting links.
- Changing Customizer options.
- When the Avada theme clears its own cache.
It's possible to prevent automatic cache clearing but I don't advocate this.
All of the above options can potentially break things on your site. I am able to apply everything here but maybe that's because I use a great theme built by the Genesis Framework (Studiopress). You will, however, need to test these options within your own environment.
- Minify HTML - This removes white space within the HTML code thereby reducing file size. It doesn't (or shouldn't) affect functionality.
- Combine Google Fonts - This reduces the number of HTTP requests made to the Google servers, thereby speeding up delivery of fonts. I have read a post which states that fonts are locally hosted by WP Rocket but I assure you that this is not the case.
- Remove Query Strings From Static Resources - Removes the version query string (everything after a ?), e.g. yourdomain.com/style.css?ver2.09, and then encodes the version number directly into the URL, e.g. yourdomain.com/style-2.09.css. This technique is used in a similar way to cache busting. As an example, if you make CSS changes directly within your theme's style sheet (not in the WordPress additional CSS window within the customizer), users will not immediately see those changes. Neither will you. The CSS file is incremented with a new version number when it is saved. The user's browser cache will look for the old file and not find it. In order to make those changes immediately visible, the new version number of the file must be removed and replaced with the original version number, thereby "busting" the cache. Removing the query string achieves a similar objective. This speeds up the process because it avoids having to look for a new file.
- Minify CSS - The same as for HTML. Removes white space and reduces file size.
- Combine CSS Files - This starts to add "real" speed by minifying and then combining separate CSS files into one file, thereby reducing the number of HTTP requests. You can exclude certain CSS files from concatenation if anything breaks.
- Optimize CSS Delivery - In order to render a page, browsers must parse all of the HTML content. But if you have a look at your source code you will see that calls to CSS files present themselves in between the HTML content, thereby blocking the rendering of the page until they have been fully parsed (processed). This slows down the page loading time and is known as render blocking. The optimization applied by WP Rocket will defer the parsing of CSS files until after the HTML is parsed. Nevertheless certain critical CSS is still required to render above the fold content, i.e. the content seen by the user on page load. WP Rocket automatically generates this critical code and inserts it where it's required. If you find that the critical CSS is incomplete, you can add your own. You will need this tool to generate the proper critical CSS code.
- Safe Mode For JQuery - Provides support for inline JS from themes and plugins. Keep this enabled please.
- Lazy Load Images - Images and other media typically slow down page loading times. Lazy loading images delays their loading until they appear in the viewport, i.e. when the user scrolls down so that they come into view. This allows the content to load unhindered thereby improving the "perceived load time" for the user (not total loading time). You would normally have to install an additional plugin to reap the benefit of this feature. There are a few available, none of which I can suggest.
- Lazy Load iFrames And Videos - Same as above.
- Disable Emoji - Reduces the number of external HTTP requests.
- Disable WordPress Embeds - Prevents users from embedding your images on their sites by linking to them directly from your server thereby creating HTTP requests that chew up your bandwidth and slow up your site. This is achieved by embedding the image URL on their site by simply copying and pasting. Enabling this option prevents this and also prevents you from embedding content from external sites and removes all of the JS requests related to WordPress embeds.
- Activate Preloading - WP Rocket warms the cache by preloading pages, thereby making sure that visitors are immediately served with cached pages. The software starts the preloading process by using links from your homepage followed by Sitemaps that you specify (if not automatically determined). Enabling Preloading triggers cache warming when content is added or updated. You can also trigger this manually from the dashboard (as mentioned before).
- Activate Sitemap Based Cache Preloading - You must enable Sitemap preloading in order for WP Rocket to cache all of your necessary URL's found in your sitemap files.
- Rank Math XML Sitemap - I use the Rank Math SEO Plugin. Yours may be Yoast, All In One or SEO Framework for example. If WP Rocket did't find your sitemap automatically, you can add it manually.
- Prefetch DNS Requests - WP Rocket can fetch DNS's in advance making external files load faster, e.g. font files, Google analytics. Here's a handy list of URL's you can add.
- Never Cache URL's - Specify URL's that you want to exclude from caching such as custom login pages (where sensitive information may otherwise be seen by users who shouldn't see such information). Enter either the full URL or just the part after the domain name, e.g. /some-page/. If your permalinks are setup to use a trailing slash then you must include it.
- Never Cache Cookies - Specify the ID's of cookies that should prevent a page from being cached when stored in a user's browser.
- Never Cache User Agents - WP Rocket's mobile detection treats tablets as desktop devices, not mobile devices. However, there can only be two versions of the cache, desktop and mobile. If you've built pages that have a specific display for tablet devices, these devices may see the wrong page layout. Enabling this option allows you to exclude these devices from seeing cached pages. Here's a list of devices you can add.
- Always Purge URL's - Specify URL's that you always want purged whenever you update any post or page. An example may be category or tag archives.
- Cache Query Strings - A query string is where a URL contains a question mark followed by a parameter and a value, e.g. yourdomain.com/some-page/?country=usa. In this example, "country" is the parameter and "usa" is the value. WP Rocket doesn't cache query strings by default. However, if you want this page to be cached, add "country" into this field. This option may apply to product pages, for example, on an e-commerce website.
WP Rocket performs more than just caching. It's a speed tool designed to optimize web performance.
Thanks to this feature, you won't have to install an additional database cleaning plugin such as Optimize Database After Deleting Revisions.
Over time, a database can become quite bloated.
Consider this example. It's common practice to save draft copies of posts as you work on them. Each time this happens WordPress stores this as a revision in the database. Now you may be thinking that the post is simply updated but in practice WordPress stores the entire post again, each time a revision is made meaning that you may end up with multiple copies of the same post in your database. So a 4,000 word post that is revised 3 times after publishing would lead to 16,000 words in the database.
In short, if you don't optimize your database your site will become unnecessarily sluggish.
You can clean up your database manually or choose to set a regular schedule to have the plugin do it for you automatically. I prefer to set a schedule to clean up comments and transients but I manually clean up revisions so as not to risk losing a revision that I may need to revert to. Once I'm certain it won't be needed any more, I will delete it manually.
- Post Cleanup - Clear out revisions, auto drafts and trashed posts.
- Comments Cleanup - Remove spam and trashed comments.
- Transients Cleanup - Transients are temporary options that will be regenerated by plugins as required. Therefore, they are safe to remove.
- Database Cleanup - Optimizes database tables. Rightly or wrongly, I do this manually and periodically.
WP Rocket provides a way to integrate your favorite CDN. This is really well thought out because you would otherwise have to use a separate plugin such as CDN Enabler.
With WP Rocket you can integrate with:
- Amazon Cloudfront
- Max CDN
- Key CDN
In essence, you "offload" these assets to the CDN's server and in turn reduce the number of requests made to your own server which ultimately saves bandwidth, hosting costs (cloud hosting) and may also give a substantial speed boost for sites that are image heavy, like this one. A further advantage (speed wise) is that these assets are served quicker to visitors in close proximity to the CDN's data centers.
If you're looking for a really good CDN, I highly recommend Stackpath (was MaxCDN).
Just a heads up - You're not going to get a reasonable speed boost unless you're using a really good caching plugin like WP Rocket together with good hosting, the likes of Cloudways. (See later on why I'm such a fan of Cloudways).
- CDN CNAME - Obtain this from your CDN provider. It should be available in your dashboard. You must choose which files must be rewritten to the CDN.
- Exclude Files - Choose specific files you don't want to be re-written to the CDN.
Reducing or disabling Heartbeat activity can reduce server resource usage and will also help to speed up your WordPress backend.
The default heartbeat frequency is 60 seconds. Reducing activity changes the frequency to 2 minutes.
I don't recommend disabling heartbeat completely unless you are certain that it won't break plugins and themes that make use of this API.
This is another one of WP Rocket's ingenious features that will save you having to use an additional plugin (Heartbeat Control). I avoid plugins where possible so as to optimize my speed most efficiently.
These are all one click add ons that don't require configuration. Cloudflare, however, does require some additional details.
- Google Analytics Tracking - WP Rocket will host your analytics script locally on your server. This reduces the number of external calls (requests) thereby boosting speed. The only other way to do this is with the CAOS plugin.
- Facebook Pixel - Same as for Google analytics.
- Varnish - If you have Varnish caching enabled on your server please enable this add on. This will cause the Varnish cache to be purged each time the WP Rocket cache is cleared.
- Cloudflare - If you use Cloudflare (recommended) enable this to clear the Cloudflare cache each time the WP Rocket cache is cleared. This also assists the plugin in enabling the ideal Cloudflare settings automatically.
- Cloudflare Credentials - Global API key can be found on the Cloudflare website at My Profile > API Keys. Zone ID can be found in the Overview tab on the right hand side.
- Development Mode - This is used to bypass the Cloudflare cache when doing development on your site. It ensures that you make changes to your actual site and not the cached version. This is only really needed if you activate a cache all page rule.
- Optimal Settings - Allow WP Rocket to toggle the correct settings within Cloudflare. Personally I prefer to do this myself on the Cloudflare site. Quite a handy feature though.
- Relative protocol - Use only with Cloudflare's flexible SSL feature. This causes URL's of static files (JS, CSS, images etc.) to be rewritten as // instead of http(s)://.
- Cloudflare Cache - Allows you to clear the Cloudflare cache manually. Pretty Convenient.
- Sucuri - Clears the Sucuri cache. I have only had problems with the Sucuri security plugin so I'll never use it and simply can't recommend it.
Unoptimized images suck up a huge amount of bandwidth and are also a major factor responsible for a slowdown in page loading times.
The more image heavy a post, the worse the effect.
WP Rocket suggests the Imagify plugin to compress images when uploading to WordPress. (One can't blame them because they developed the plugin).
Seriously though, it's one of the best. But there's nothing stopping you using any image compression plugin you choose.
But compression is only part of the picture. Serving scaled images also goes a long way in speed optimization. In other words, if your theme specifies maximum dimensions of say 700px wide, then make sure to resize your images to that specification. NOTE: Serving images just 1px larger than the maximum specification will also make images blurry.
Lazy loading images also helps to improve user experience (perceived load time). See the media section.
- Export Settings - Export your settings for use on other websites. This will save you having to configure the same settings.
- Import Settings - Import saved settings. You won't have to do any further configuration.
- Rollback - If an update causes any issues on your site, you can roll back to the previous (major) version.
Why You Should Host With Siteground
As confirmed in this WordPress Optimization support article, hosting is the most critical WordPress speed factor.
All the optimization in the world is wasted unless your hosting is fast (and reliable).
I've used over 7 hosting providers over the years and I've come across just about everything there is to know about hosting. I have to say that the only hosting company I can recommend without reservation, is Siteground.
Not only is it blazing fast but it also offers the best value for money and it's super easy to setup and use.
Here's why I recommend Siteground.
- Recommended by WordPress.
- GUARANTEED 99% up-time. I've had 100% over last few years.
- Brilliant service levels.
- EASY to configure.
- Phenomenal speed technology.
- Always up to date with latest technology.
- 4 Data center locations.
- FREE 1-click Cloudflare integration - expands data centers and enhances speed.
- 1-Click staging environment and 1-click push to live.
- 30 DAY (NO FUSS) MONEY BACK GUARANTEE.
Review Signal "turns conversations on Twitter into web hosting reviews", making them more reliable than any other form of review or poll.
Their data set comprises over 335,000 conversational reviews and here's how they rate Siteground.
Over To You
Well that pretty much concludes this WP Rocket review. I hope you've found it beneficial.
Whilst there's quite a lot to absorb from this review, configuring the ideal settings will take you only a couple of minutes.
WP Rocket is a premium plugin. But it's worth every cent. Seriously, you get what you pay for. The plugin will set you back only $49 for the first year. Thereafter it's discounted.
If you feel I've left anything out or if there's something you don't understand, please hit me up in the comments.
In any event, I'd like to hear from you.
Will you do what's best for your website?