WP Rocket is a relative newcomer on the block for WordPress plugins that are designed to help you load pages quickly for visitors. How does it perform compared to the popular ones such as WP Super Cache or W3 Total Cache? Read the review to find out as I go through its features and test the before and after performance here at avgjoegeek.net!
Disclaimer: All views are 100% my own. There are affiliate links listed in the article. None are for WP Rocket. I was not paid to do this review.
The Issue with Cache Plugins for WordPress
The issue I’m finding with Cache plugins for WordPress today is they have become huge monstrosities. They are overly complicated to setup and use. They want to do everything in one plugin. Which is great on paper.
I can’t tell you how many hours I’ve spent configuring, tweaking, and reading tutorials on how to set them up correctly. Then add the complexities of hosting, themes, plugins, and what someone has in place on their website? It becomes a tad bit frustrating to say the least.
I just want something that didn’t take a specialist to help me configure and worked “out of the box”.
WP Rocket to the Rescue!
This is where WP Rocket comes in. I was very hesitant to even check out the plugin. I was hearing these crazy claims about how well it worked on other people’s websites. And I thought they were all full of well… beans. I finally broke down and decided to see for myself if these wild claims were accurate.
This plugin offers a lot of the same functionality as other popular Cache plugins as well as a few other nifty features. Things to note that set it apart from other plugins is the Google Fonts Optimization and built in Image Lazy Loading. I’ll touch on those later in the review.
- Quick Setup
- Page Caching
- GZIP Compression
- Browser Caching
- Cache Preloading
- Google Fonts Optimization
- Image Optimization
- Defer JS Loading
- DNS Prefetching
- Mobile Detection
- Multisite Compatibility
- Multilingual Compatibility
- Connected Users
- Developer Friendly
- White Label
Setup and Configuration
Since I was already using W3 Total Cache (and WP Super Cache before it…) I had some work to do before even thinking about installing WP Rocket. I highly suggest you do the same if you are already using a pre-existing Cache plugin. It will save you a lot of trouble when you do.
Turn Off CloudFlare
I use CloudFlare. This meant I had to go in and turn off CloudFlare from their dashboard before I did anything. This turns the service into a DNS host. Traffic will just pass through but none of their other services are turned on.
Uninstall W3 Total Cache
This isn’t as simple as it sounds. Sure the first thing to do is deactivate it then Delete the plugin. Then you will have to go into your host and delete the left over cache directory and files it leaves behind.
Remove the following line from your wp-config.php file (back it up first!)
define('W3TC_EDGE_MODE', true); // Added by W3 Total Cache
FTP or use the File Manager to remove the following other files:
Delete advanced-cache.php, db.php, wp-total-cache-config.php and delete entire w3tc folder from wp-content folder.
And I would even go into your .htaccess file (again back this up!) and see if W3 Total Cache left anything in there. It shouldn’t have anything in there but if there is make sure to delete those entries as well.
Delete Cache and Flush DNS?
Then because I’m on a Windows computer using Chrome. I deleted the cache/temp files and rebooted the computer and even did an ipconfig /flushdns from the Command window. All this just to make sure I was looking at the website in it’s “true” current state and not a local cached copy of it.
You upload the plugin as you normally do. Go to your WP Admin panel. Go to the Plugins -> Add New. Then click on Upload. Find the WP Rocket zip file and click the Go button. And it’s now installed.
I was presented with seven tabs when I opened the plugin. Three of them were for their FAQ and Support. So you really have FOUR tabs that you have to deal with. That’s all.. I started thinking “Crap, no way is this thing going to work…”
- Lazyload – This will load the images “on demand” as a user scrolls through your website. Although it doesn’t have the fancy transition and they just suddenly appear. It does work quite well.
- Files Optimization (Minification and Concatenation) – This is where you will check the boxes to have the plugin minify your HTML, CSS, and JS. It is even nice enough to explain what is happening so you understand what your checking.
- Mobile Cache – This setting recognizes when someone visits your website on mobile. This is a great feature especially if you are using a mobile plugin instead of a responsive theme (tsk tsk!) like Genesis.
- Logged In User Cache – You can turn caching on for logged-in users. Or keep it unchecked while making changes to your website.
- SSL Cache: If you have an SSL Certificate enabled? Then make sure to check this box.
- Clear Cache Lifespan – It is set to 24 hours. You can change this number or turn it off if you’re finding issues with RSS Feeds or are displaying your Twitter feed.
I have fully tested all of the Advanced Options yet. If you don’t know what these features do? Then I suggest that you don’t play with them unless the FAQ tells you to! I ran into an issue during testing with JS Minification – so I will need to go in here to finish optimizing the website here.
- Prefetch DNS Requests – Using this setting should help with loading external files such as DISQUS or Google Fonts. I had mixed results during my initial tests. I ran out of time but I will update the article once I get the time 🙂
- Empty Cache after Updates – This can be helpful if you need specific URL’s to be refreshed beyond the standard pages that WP Rocket will already purge.
- Never Cache the Following – This will allow you to have WP Rocket ignore certain pages. This is great especially for those running WooCommerce or other plugins that require to update/refresh content ‘on the fly’.
- Don’t Cache Pages that Use the Following Cookies – If you know the specific “cookie” information that you don’t wish to have cached? You can input it here.
- CSS Files to Exclude from Minification – This is great especially if a plugin already offers a minified version of the .css file. I call it “double dipping” which causes some strange results to happen. Its good to know I can put in the URL of the CSS file I wish to exclude here.
- JS Files to Exclude from Minification – As I stated earlier I had some issues with JS Minification due to the plugins I use here. So this is going to come in handy when I have time to troubleshoot and figure out which ones need to be excluded.
- JS Files to be included in the footer… – This is where you can input the URL of .js files you wish to be loaded into the Footer of your site.
- JS Files to be Deferred Loading – This is where you can force the js file to be loaded asynchronously. Some .js files need to be loaded in order for some plugins to behave correctly so this is a great feature. I haven’t had time to play with this either..
I then went to the CDN tab as I do utilize MaxCDN here at avgjoegeek. It has a spot to add the URL’s or Zones I have setup. It even provided what I wish for each zone to use. That’s it… No having to setup API keys. No having to authorize anything. I setup the URL and I’m done!
This does mean that I will have to go into the CDN service to remove the cache manually instead of having a handy option up in the Admin toolbar which W3 Total Cache offered.
- Beta Tester – Check the box and you will get their earlier builds (not recommended for production websites)
- Clear Cache – This will clear the cache of the entire site.
- Preload Cache – Pressing this will cause WP Rocket to ‘pre-load’ it’s cache folder of your website. Since it uses ‘robots’ to perform this function it might cause your cpu utilization to go up a bit. If you are on a budget host? I suggest using this during your website’s down time.
- Settings Exporter – Export the WP Rocket Settings
- Setting Importer – Import the WP Rocket Settings
FAQ, Tutorials, Support
These tabs are filled with a TON of helpful information. You don’t even have to leave your admin panel to read them. The only downside? The video tutorials are in French. Although a beautiful language? I don’t understand it.. so get ready to turn on captions in YouTube so you can follow along.
After going through the tabs and clicking the Save button… it was off to start testing!
I performed tests using a Before, During, and After. I had W3 Total Cache which did an excellent job already for free. I couldn’t get the plugin to use Minify/Concatenation though. No matter what I did it just seemed to break the site. This is part of the reason to try out WP Rocket.
All speed tests were performed on Pingdom. Why? It displays the ‘waterfall’ breakdown to show me possible site issues that affect load times. And its just very simple to use. There are tools like GTMetrix and webpagetest.org that are great as well! Oh, and testing was done from their Dallas, TX node. The web host is based in Chicago, IL. So although not a perfect test environment. It was about as ‘real-world’ as I could manage.
This just outlines what avgjoegeek.net uses since I broke my own rule and tested it here instead of a test site.
- WordPress 4.0
- Genesis – News Pro Child Theme
- 25 Plugins (as of this writing)
- BigScoots Hosting
- CloudFlare Free
- Max CDN
Note: Your own results will vary. This is due to the many factors involved with WordPress. The type of host you’re on, how many plugins you have running, even your theme all need to be taken into account.
Below are the results of speed tests from Pingdom with the “Before” setup, the after I deleted and “Turned Off Everything” setup, and the “After” when I turned everything back on with WP Rocket. As you can see I already have great load times due to the host I’m on BigScoots (affiliate link). I can’t speak highly enough about them.
Note: To see the larger image use the “Download Original Image” link. It will open into a new tab and you can see the images better.
Before WP Rocket:
- Perf Grade: 78/100
- Requests: 62
- Load Time 1.13s
- Page Size 1.0MB
After WP Rocket:
- Perf Grade: 91/100
- Requests: 38
- Load Time: 1.06s
- Page Size: 728.9kB
There was a nice jump in the overall Performance Score. Also the amount of http requests are cut down by 14. The overall page size was shaved down a bit as well. I wasn’t expecting a huge difference in load times as they are already well within the acceptable under 2 seconds.
WP Rocket Isn’t Perfect
OK, so as great as this plugin is. It still isn’t perfect. I did have a few issues to work through.
CDN URL Issue
I did have a minor issue with it not recognizing the second URL I input in the CDN settings. To fix it I had to go back into the WP Rocket CDN Tab and press the Save Option button again. What was strange was the url/option was setup. It just didn’t take the first time I clicked on the “Save” button.
JS Minification Broke Stuff
I run around 30 plugins on here at avgjoegeek. That adds another level of complexity when it comes to Minifying/Concatenation. WP Rocket broke a few things using the default settings. It’s not the plugins fault though. A lot of plugins either have poorly written JS or they already offer a minified version of the .js to load already.
With the default JS minification enabled I couldn’t get DISQUS or ANY of my favorite “Related Posts” plugins to load. Disabling the option and everything started working again. It did help me decide to just remove Related Posts plugins altogether though. 🙂 I’ll be messing around with the Advanced Tools tab to see if I can do some additional configuring to get it to optimize the website even more though!
What I Liked
WP Rocket delivered a truly easy to configure “out of the box” setup. Sure, I had a few issues. They were no worse than other plugins I’ve used in the past. The more I use the plugin the more I like it.
What I Didn’t Like
Hmm… there really isn’t anything I didn’t like about this plugin. If I had to gripe about anything? It’s the fact that the videos aren’t in English? There is Closed Captioning for that though 🙂
The yearly fee that is required to keep receiving updates/support. For $37 a year. I personally think its an acceptable price for what you get.
WP Rocket is a great solution for those on shared hosting. It really was simple to get installed and up and running. Even with the minor issues I experienced while testing out the plugin it really is the simplest to use. It will be interesting to see when I can start working with some of my clients on their less than stellar hosting plans and see how they perform on there as well.
Bottom Line: If you want something that truly is simple and easy to setup? You’ll need to pay for it. I will be suggesting to everyone that they should get WP Rocket!
What has your experience with WP Rocket? Leave a comment down below sharing your own experience with using WP Rocket.