I tested WP Rocket against 3 top free cache plugins and while they all do a great job, WP Rocket gave me the best results in Pingdom (.4s load times). Your cache plugin and hosting are 2 main speed factors so it’s definitely worth the $39. Configuring the right WP Rocket settings with Cloudflare + MaxCDN can fix over 20 items in Pingdom and GTmetrix. So let’s do that :)
The WP Rocket settings are WAY easier to configure than W3 Total Cache and they update the changelog regularly so you’ll actually get ongoing updates. If you have questions (or want to share your new load time), drop me a comment. WP Rocket also has documentation which I reference throughout the guide. Good luck – remember to benchmark those Pingdom scores!
1. WP Rocket Vs. Other Cache Plugins
I tested WP Rocket, WP Fastest Cache, and W3 Total Cache… making sure all cache plugin settings were configured optimally. WP Rocket won BUT this with the lazyload feature turned ON. The other cache plugins do not have a lazyload option and when I turned lazyload off in WP Rocket, I got a .5s load time… the exact same as WP Fastest Cache. I didn’t see a huge difference when clicking through my pages – both loaded super quickly. I know Pingdom can show different load times during different tests, but I just wanted to share my experience.
WP Rocket (.406)
WP Fastest Cache (.527)
W3 Total Cache (.619)
My Pingdom report with WP Rocket…
2. Install WP Rocket
3. Video Tutorial
4. Pre-Configured Settings (Zip File)
You can download my pre-configured WP Rocket settings then upload them under Tools → Settings Importer. You will still need to make sure the minify items don’t mess up your layout, turn on image lazy load if you want, use SSL cache if applicable, clean up your database, activate Cloudflare, plus tweak other settings in WP Rocket you want enabled or disabled.
5. Basic Options
Lazyload – this is the MAIN setting you should test to see if you like it or not. It delays loading of images, iframes, and videos until you scroll down the page and they become visible. While this significantly reduces load time and HTTP requests, the ongoing loading can be annoying especially for longer content. Enable it then scroll down one of your pages to see if you don’t mind it. This can also be done using other free plugins like Lazy Load and Lazy Load For Videos, but WP Rocket does a great job. I eventually choose to disable lazyload since I find it annoying.
You can also disable Lazyload on individual pages/posts:
Files Optimisation – ideally these should make all “minify” and “combining” items in your Pingdom report 99 – 100%. Sometimes enabling these can cause issues with your layout (especially CSS and JS) so check your homepage to make sure this doesn’t happen. If it does, see the “files to exclude minification” in the advanced options tab to exclude problematic files.
Mobile Cache – enable caching for mobile devices, but only “create a caching file for mobile visitors” if you are NOT using a plugin to create a mobile site (eg. free version of WP Touch).
Feeds Cache – enable.
Logged In User Cache – enable if users are logging into your site to interact with it (eg. bbPress). This gives each user their own cache, otherwise this should be disabled. Learn more.
SSL Cache – enable if using SSL.
Emojis – enable since these slow down your site.
Clear Cache Lifespan – leave as the default (24 hours). If you rarely update your site or have a lot of static content, you can increase this a bit.
6. Advanced Options
Here’s a link to the advanced options section of the WP Rocket video tutorial. I tried embedding it here but can’t figure out how to embed a Youtube video at a specific time :/
The advanced options can be tricky and most of you probably don’t need to tweak anything unless you’re using a Google font, in which case just see the Prefetch DNS Requests option.
Static Resources – you can finally fix the “remove query strings from static resources” that appears in your Pingdom report using WP Rocket. A nice addition to their advanced settings.
Prefetch DNS Requests – add Google Fonts, Youtube videos, or other scripts/requests from external websites to help browsers anticipate these. This will result in faster load times.
Add these if your site uses a Google font:
Empty The Cache Of The Following Pages When Updating A Post – let’s say you have a blogroll on your homepage. If you create a new post, you would want that homepage blogroll to be updated immediately by emptying the homepage cache. That is the idea of this option, however WP Rocket automatically clears the cache for your homepage, categories and tags once new content is created… so there is no need to do this. But if there are OTHER pages whose cache you want cleared when you create new content, this is where you add them.
Never Cache The Following Pages – if you’re using a shopping cart not listed by WP Rocket (see the note they have in this setting), add your cart and checkout pages here. Learn more.
Don’t Cache Pages That Use The Following Cookies – same principal as previous option only based on cookies.
Cache Pages That Use The Following Query Strings (GET Parameters) – mainly used to cache search result pages and price filtering pages for eCommerce sites.
Never Send Cache Pages For These User Agents – prevent Googlebot and other user agents from caching pages.
Files To Exclude From Minification – if for some reason a minification option from the “basic options” tab is messing up your site layout, you can locate the broken file and add it here to prevent this error from occurring. See their article on resolving issues with minification.
JS Files With Deferred Loading – load JS files asynchronously to prevent them from blocking rendering of the page. Learn more.
Post Cleanup – revisions, auto drafts, and trashed posts can be deleted if you don’t use them. Unless you have old versions of posts (or deleted posts) you would like to use, delete them.
Comments Cleanup – spam and trashed comments can be deleted.
Transients Cleanup – stores data that takes a long time to get (like social counts) so the next time you need it, it returns super fast. But sometimes when transients get expired they stay in the database and should be deleted. WP Beginner has a great explanation of transients.
Database Cleanup – when you delete a plugin it can leave unused tables in your WordPress database, which you can delete.
Automatic Cleanup – schedule WP Rocket to cleanup your database. Monthly is fine unless these accumulate quickly (eg. many people work on your site). If you have WP-Optimize or another database cleanup plugin installed, you can delete it since WP Rocket does this for you.
If you want to learn about preloading, WP Rocket has a simple tutorial. Or if you want to dig deeper here is an advanced tutorial which is about WP Super Cache but the same concepts apply. Preload, in somewhat simple terms, is a refresh when the cached pages are all cleared out and refreshed in one go. I would enable as it improves both site speed and indexing speed.
Advanced Preload Bot – set to automatic unless you want to do this manually in the tools tab. Should this cause your site to shut down due to hosting CPU limits, you would disable this.
Sitemap Preloading – extends the benefit of preload to ALL URLs in your sitemap, not just your homepage and the internal links you use on the homepage. This does not use an external bot like the manual/automatic option… even if the end result is the same.
URL Crawl Interval – leave as-is unless your CPU usage is high (find this out in your hosting cPanel), in which case you should increase this number. If you don’t know, contact your host.
XML Sitemaps To Use For Preloading – as long as WP Rocket detected your sitemap in the “sitemap preloading” option, there is no need to add it here.
Here’s what the result of preloading can do for your server load…
Cloudflare Account Email – same email used in your Cloudflare account.
Global API Key – click your name (top right in your Cloudflare account) and go to manage settings. Scroll down and you will see your global API key, then paste this into WP Rocket.
Domain – yourwebsite.com
Development Mode – use when making a lot of code changes to your site.
Auto Enable The Optimal Cloudflare Settings – activates minification, aggressive caching, and deactivates Rocket Loader for better compatibility. Most common issue is with Rocket Loader.
HTTPS Protocol Rewrite – sometimes if people download files from your site, there are no contents in them. Leaving this option OFF will prevent this from happening.
Clear Cache – do this when you’re done configuring all your WP Rocket settings.
Mirrors your site on multiple servers around the world which reduces the geographical distance it takes your content to reach your visitors. This can shave multiple seconds off your load time especially for visitors who (used to be) far away from your 1 origin server. I use MaxCDN (here’s a 25% off coupon) since they have a great reputation, support, and improved my Pingdom performance grades with the help of their team (definitely reach out to them!). If you’re using another CDN, want tips on using a CDN with an SSL, or for troubleshooting, see WP Rocket’s CDN tutorials. You can use MaxCDN’s tutorial but I tell you exactly what to do…
Step 2: Create a pull zone if you haven’t already (view tutorial).
Step 3: In your pull zone settings, go to your pull zone and go to Manage → Settings. Find your CNAME which should look something like this: omm.onlinemedia.netdna-cdn.com
Step 4: Paste your CNAME in WP Rocket’s “replace site’s hostname” field (also enable Cloudflare and MaxCDN if you’re using them). Use the SSL and rejected files if needed…
CDN & SSL – if you implement a CDN and your SSL pages have errors, you can eith enable this or follow WP Rocket’s tutorial on excluding your CDN on pages with SSL which suggests fixes.
Rejected Files – There may be certain files that are being served by the CDN that you would like to serve locally. Usually these files are parts of plugins designed to disregard cross domain load. To change this, simply add these files or directories into the “rejected files” area of WP Rocket (add one filedirectory per line) which you can use directives to locate WP directories.
Step 5: In MaxCDN, go to the “manage cache” tab in your pull zone settings and purge files…
Step 6: Run your site in GTmetrix and “content delivery network” should be green in YSlow.
If you expand items in GTmetrix and see it has to do with your CDN, contact MaxCDN’s support team who should be able to help you fix these. They have outstanding support.
Varnish Caching Purge – enable if your hosting uses varnish cache. If you’re on WP Engine or FlyWheel hosting, you will not see the Varnish tab because WP Rocket automatically takes care of this for you. If you are on SiteGround hosting you don’t need to enable this because WP Rocket already clears their cache when the WP Rocket cache is cleared. Learn more.
Beta Tester – I don’t do this but you can if you want.
Clear Cache – do this when you’re dong configuring the WP Rocket settings.
Preload Cache – generates a cache for your homepage and all internal links you use on the homepage. I don’t worry about this since I have preload set to “automatic” in the preload tab.
Settings Exporter – export your settings to use on multiple sites.
Settings Importer – you can import my pre-configured settings here.
Update Rollback – if you update to a new version of WP Rocket and it causes issues, this will fall back on the previous version.
13. FAQs / Documentation
I spent many hours digging through their documentation to make sure this tutorial uses the best WP Rocket settings, but they are extremely helpful if you haven’t checked them out…
Tutorials I found the most helpful:
- Getting Started
- Hosting Compatibility
- Using SSL With WP Rocket
- Using WP Rocket With A CDN
- Using WP Rocket With Cloudflare
- Resolve 500 Internal Server Error
- Resolving Issues with Minification
- Using WordFence with WP Rocket
- Using iThemes Security with WP Rocket
- NGINX Configuration For WP Rocket
- How To Check If WP Rocket Is Caching Your Pages
14. $199 Configuration Service
You can pay their team to configure the WP Rocket settings for $199. They guarantee to improve your speed or your money back. I contacted their team to see what this meant and they confirmed they will send you a report in Pingdom. So if you’re having trouble with the settings or just want an expert to optimize the plugin (and yes, they are experts), it’s a nice addition. Just make sure you’re on decent hosting first so you can eliminate that as a problem.
15. More WordPress Speed Optimizations
This is the #1 factor in the WordPress optimization guide…
I won’t stuff this tutorial with why I like SiteGround but here are a few reasons…
- Other people like them too (screenshot)
- Average load time on SiteGround is 1.3s (screenshot)
- I had 100% uptimes last month in Uptime Robot (screenshot)
- Their support is amazing and usually answers questions in >10 minutes (screenshot)
- Their speed technology utilizes SSD, NGINX servers, HTTP/2, PHP7, 4 data centers
- They have automatic WordPress updates, 1-click Cloudflare, free Let’s Encrypt SSL
- A full comparison chart of StartUp vs. GrowBig vs. GoGeek is shown on that page
I am donating $3,000 of my affiliate income this year to a GoFundMe campaign (will be related to cancer, veterans, something along those lines). If you purchase a SiteGround plan through my affiliate link a good portion of it will be going to a good cause at no expense to you. If you don’t want to use my affiliate link here’s a regular non-affiliate link to SiteGround. My dad recently survived treatment for esophageal cancer so I am trying to give back, but the main reason to sign up is because they are actually a very good host and your site should run faster/smoother especially if you’re currently with a slow host from that FB poll. Thank you.
AMP (Accelerated Mobile Pages) – AMP is a Google project that makes mobile pages load faster and gives you a nice AMP stamp by your mobile search results. You will use the AMP plugin (in conjunction with Yoast’s Glue for Yoast SEO & AMP plugin). The AMP plugin actually adds the AMP, Glue for Yoast lets you customize how your mobile pages look (to a certain extent). Once installed you can add /amp/ to any page on your site to see how it looks on mobile. This process hasn’t been perfected yet, but this is the best way that I know of so far. And yes, you should check out my Yoast tutorial which has been used by over 75,000 people.
Image Optimization – you can run any page through GTmetrix and it will show you all unoptimized images but ONLY for that page – so start with the ones that appear on multiple pages. Image can be optimized 3 ways: serve scaled images (resizing images that are too large), specifying image dimensions (adding a width/height in the image’s HTML or CSS), and optimize images (losslessly compressing them using a plugin like Imagify). GTmetrix will tell you the correct dimensions for the first two if you expand them, and these are all high priority items.
For more tips, see my complete guide to WordPress speed optimization which has instructions for embedding light Youtube videos, speeding up comments, minimizing redirects, enabling WordPress Heartbeat API Control, lightweight themes you can use, and plugin optimization.
16. Hire My WordPress Speed Optimizer
Pronaya is a WordPress developer I found on freelancer.com who lives in Bangladesh and specializes in WordPress speed optimization (yes, he’s better than me). I have worked with him for over 5 years and he’s the one who helped me optimize my site to load so fast and multiple client sites to load 500% faster. He’s $25/hour (projects usually run $150 – $300) and he has a perfect 5 star review on his freelancer profile. I have worked with over 20 overseas freelancers and he’s the one I always turn to for advanced WordPress speed and development.
How to hire Pronaya – sign up for a Freelancer account and search for user BDkamol. Make sure the “online users” option is turned off, or email him at [email protected] Serious inquiries only, and please do not tell him you expect a 100% score when you’re using slow hosting, bloated WordPress theme, and tons of plugins. Please review my WordPress speed guide and make sure you’re on good hosting and minimize plugins at the least (thank you!!!).
So… how are those Pingdom scores looking? Let me know in the comments or tell me if you’re stuck. You also paid for a premium plugin where they offer support (the last and final tab in the WP Rocket settings), so I would use that to your advantage too, or view their documentation.
Otherwise, nice job!
If you found this tutorial helpful, a share is always appreciated :)