We are always looking for new and innovative ways to further speed up and optimize your WordPress sites. 🚀 For the past couple months, our team has been working behind the scenes with the developers at WP Rocket to coordinate some changes with their brand new version 3.0 plugin (released April 3, 2018). We are excited to announce that WP Rocket 3.0 and Kinsta are now fully compatible and will be from here on out.
Check out everything you need to know below about using WP Rocket at Kinsta and how it can be a great match for you and your clients.
Using WP Rocket at Kinsta
For those of you who aren’t familiar with WP Rocket, it’s a popular all-in-one premium caching and optimization plugin for WordPress. Normally we don’t allow caching plugins in our environment because they conflict with our built-in caching solution. However, as of WP Rocket 3.0, their page caching functionality will automatically be disabled when running on Kinsta servers. Previously, this had to be done manually with their page caching module. We have also removed the plugin from our banned list. 🤘
This allows you to now use Kinsta’s caching solution but still take advantage of the amazing optimization features WP Rocket has to offer (we will dive into these below).
Why is caching important? Caching is the process of storing resources from one request and reusing those resources for subsequent requests. Basically, it reduces the amount of work required to generate a pageview and decreases the load on the web server. It’s the number one way to negate the delay from the dependancy WordPress has on PHP and a database (read more about WordPress vs static HTML).
WP Rocket 3.0 Features
If you haven’t seen the new 3.0 version of WP Rocket yet the UI is beautiful; while still being easy to use and navigate! Below we’ll dive into a few of the recommended features that you can utilize from WP Rocket to speed up your WordPress site, as well as how its synced with the Kinsta environment.
We will also be running some speed tests to see which options have the most impact on a live site. Remember though, results can vary from site to site, so make sure to test on your own site or staging. If you’re using a staging site at Kinsta, WP Rocket has whitelisted our URL structure (staging-sitename.kinsta.com) which means it will not count as a site against your overall license count. The same goes for running on localhost.
WP Rocket UI
Even though caching is automatically disabled in WP Rocket when running on Kinsta, the “Clear cache” option in the WP Rocket menu is synced up with the Kinsta environment. If you clear your WP Rocket cache, it actually clears your Kinsta cache instead. How cool is that? 😀 And as always, you can clear your Kinsta cache from the top right-hand side of the admin bar.
Clear cache (2 ways)
If you change something on your WordPress site, such as a plugin or theme, you might see a warning from WP Rocket. The Clear cache button here also clears the Kinsta cache.
WP Rocket changes clear cache
Lastly, if you click on the “Clear Cache” button from the WP Rocket dashboard, this also clears the Kinsta cache.
WP Rocket remove all cached files
WP Rocket file optimization
- Minify HTML: Minifying HTML removes whitespace and comments to reduce the size. We ran speed tests and saw a 0.84% decrease in load time with this option enabled. ⏱ (Disabled, Enabled) You might not see crazy improvements with this feature, but generally, less whitespace and code is a good thing.
- Combine Google Fonts files: Combining Google Fonts will reduce the number of HTTP requests. If you are utilizing a host with HTTP/2 enabled, it is no longer recommended to combine files due to improvements with parallelization. Kinsta fully supports HTTP/2. Loading your fonts from your own CDN can also sometimes improve performance. Check out our guide on how to host local fonts.
domain.com/style.css?ver=4.6. Some servers and proxy servers are unable to cache query strings, even if a
- Minify CSS files: Minify CSS removes whitespace and comments to reduce the file size. We ran speed tests and saw a 1.69% decrease in load time with this option enabled. ⏱ (Disabled, Enabled) Due to the way CSS works, this could break your site, so make sure to test it. Again, in general, less whitespace and code is a good thing.
- Combine CSS files: Combine CSS merges all your files into 1, reducing HTTP requests. If you are utilizing a host with HTTP/2 enabled, it is no longer recommended to combine files as they can now be loaded in parallel over a single connection. Kinsta fully supports HTTP/2. Read more about combining external CSS.
- Optimize CSS delivery: Optimize CSS delivery eliminates render-blocking CSS on your website for faster-perceived load time. Read more about this in our in-depth articles on render-blocking CSS and optimizing critical rendering path. We ran speed tests and saw a 0.17% decrease in load time with this option enabled. ⏱ (Disabled, Enabled) Remember though, this is more about perceived load time rather than actual load time.
Under the “Media” menu they give you an option to lazy load your images and video, as well as disable additional scripts from loading such as Emojis and Embeds. Let’s dive into each of these a bit.
WP Rocket media optimization
Lazy loading is an optimization technique that loads visible content but delays the downloading and rendering of content that appears below the fold. By enabling the lazy load option it can improve actual and perceived loading time as images, iframes, and videos will be loaded only as they enter (or about to enter) the viewport and reduces the number of HTTP requests.
- Enable for images: We ran speed tests and saw a 3.89% decrease in load time with this option enabled. ⏱ (Disabled, Enabled)
- Enable for iframes and videos: We dropped eight YouTube videos onto a page and saw a 74.43% decrease in load time with this option enabled. ⏱ (Disabled, Enabled) WP Rocket has an option to automatically replace a YouTube video with their preview image. This is an incredibly powerful way to speed up videos on your WordPress site.
Check out our in-depth tutorial on lazy loading in WordPress.
With the release of WordPress 4.2 came the integration of emojis into core for older browsers. The big issue with this is that it generates an additional HTTP request on your WordPress site to load the
wp-emoji-release.min.js file. And this loads on every single page.
Disable Emoji: The disable emoji option will reduce the number of HTTP requests. It won’t break them, it will simply default back to the user’s browser emoji version. We ran speed tests and saw a 2.2% decrease in load time with this option enabled. ⏱ (Disabled, Enabled) Check out our in-depth article on disabling emojis.
With the release of WordPress 4.4 came the oEmbed feature into core. You have probably seen or used this before. This allows users to embed YouTube videos, tweets and many other resources on their sites simply by pasting a URL, which WordPress automatically converts into an embed and provides a live preview in the visual editor.
However, what this means is that it also generates an additional HTTP request on your WordPress site now to load the
wp-embed.min.js file. And this loads on every single page.
Disable WordPress embeds: The disable embeds option will reduce the number of HTTP requests. We ran speed tests and saw a 4.9% decrease in load time with this option enabled. ⏱ (Disabled, Enabled) Check out our in-depth article on disabling embeds.
Under the “Preload” menu they give you an option to enable sitemap preloading, preload bots, and prefetch DNS requests. Not all of these will work at Kinsta. But let’s dive into each of these a bit.
WP Rocket Preload
Sitemap Preloading and Preload Bot
We don’t recommend using either of these options and in fact, they most likely won’t work at Kinsta.
Prefetch DNS Requests
DNS prefetching allows you to resolve domain names (perform a DNS lookup in the background) before a user clicks on a link, which in turn can help improve performance. It is done by adding a
rel="dns-prefetch" tag in the header of your WordPress site. We recommend adding prefetch to external requests from your CDN, Google Fonts, and Google Analytics. Here is an example below:
<link rel="dns-prefetch" href="//cdn.domain.com/">
<link rel="dns-prefetch" href="//fonts.googleapis.com/">
<link rel="dns-prefetch" href="//www.google-analytics.com">
This is harder to speed test, but you can rest assured it will help speed up your site.
Under the “Database” menu they give you the ability to perform cleanups on posts, comments, transients, and tables.
WP Rocket Database
It is not uncommon for older sites to have 100+ revisions on their main pages. This is simply due to years of editing and updating content. Let’s say for example a site has 700 pages or posts with 150 revisions on each, this would be over 100,000 entries in the database. This takes up storage space, and even with database indexes, this can sometimes harm performance. WP Rocket gives you the option to delete the following:
- Trashed posts
Check out our in-depth post on how to optimize revisions for faster performance.
Similarly to revisions, spam and trashed comments can simply add up to wasted space over time. WP Rocket gives you the option to delete the following:
- Spam comments
- Trashed comments
If you aren’t using comments on your WordPress site we recommend simply disabling comments to prevent spam from coming through at all. You then also don’t have to worry about installing spam plugins.
Transients in WordPress are sometimes overlooked, but they are very important! In fact, we’ve seen corrupted transient cache completely take down a WordPress site. 😨 These are meant to be temporary and so it’s safe to remove them and we do recommend it. If they are needed by a plugin they will automatically be regenerated. WP Rocket gives you the option to delete the following:
- Expired transients
- All transients
The database cleanup option reduces the overhead of database tables. However, at Kinsta we utilize InnoDB instead of MyISAM and therefore this is not usually needed. InnoDB has shown to perform better and be more reliable. A big reason to use InnoDB over MyISAM, is to take advantage of row-level locking. This allows your queries to process faster. If you migrate your WordPress site to Kinsta, this is one of the optimizations our engineers make on your site.
WP Rocket also gives you the option to schedule automatic cleanup of your database on a daily, weekly, or monthly basis. This is scheduled with a CRON job behind the scenes.
Under the “CDN” menu you can enable a third-party content delivery network. This is really a no-brainer when it comes to performance. They take the load off of your web server while speeding up the delivery of content to your visitors thus making their experience better. Check out why we think every site should be using a CDN.
If you’re a Kinsta client, this menu won’t be needed as the Kinsta CDN is automatically deployed on your site behind the scenes. But if you’re using another third-party CDN provider, you can input their information on this screen.
WP Rocket CDN
Under the “Add-Ons” menu they give you the ability to enable Cloudflare. If you use the WP Rocket Cloudflare add-on, you no longer need the official Cloudflare plugin. WP Rocket provides the same functionality of providing originating IP addresses.
WP Rocket add-ons
If you are using WP Rocket with another hosting provider you will also have the option to enable Varnish. However, since this would conflict with our cache solution here at Kinsta this is automatically hidden.
Final Speed Tests ⏱
We then ran some final speed tests with everything enabled so you could see a before and after. Note: this WordPress site is hosted at Kinsta.
Before WP Rocket
We ran 5 tests in Pingdom without WP Rocket and took the average.
We then ran a test in Google PageSpeed Insights without WP Rocket.
Google PageSpeed Insights before WP Rocket
After WP Rocket
We then ran 5 tests in Pingdom with WP Rocket and options enabled and took the average.
We then ran a test in Google PageSpeed Insights with WP Rocket.
Google PageSpeed Insights with WP Rocket
Here is the takeaway from the results above:
- In our Pingdom tests we saw a 9.12% decrease in total load time when running WP Rocket. While this might not seem crazy high, this only took a few minutes and less than 10 clicks to accomplish.
- Remember that WP Rocket’s bread and butter is in their caching solution. But here at Kinsta, we are already using our built-in cache, so we are only sharing results of their other optimization features. So really it’s a 9% improvement on top of Kinsta’s lightning fast cache. ⚡
- The site we were utilizing for the test is fairly optimized already. Larger sites and those that are not as optimized will easily see even greater results.
- Curious why there are additional requests in the final version? This is usually due to lazy loading of images as it creates blank
data:image/gif;base64 requests. But don’t worry, it’s still going to be faster.
- If you’re hosting video you could possibly see decreases in load time of up to 50% or more. This is accomplished by utilizing WP Rockets feature that replaces YouTube videos with clickable preview thumbnails. This is really handy!
- In our Google PageSpeed Insights tests we saw an increase in our score from 88/100 to 98/100. However, scores are not as important as overall load times, so take these with a grain of salt. We discuss this in our article about Google PageSpeed Insights.
As you can see above, WP Rocket makes it incredibly easy to speed up your site with just a few simple clicks!
The team at WP Rocket consistently push out new features that directly co-align with the web performance recommendations we share at Kinsta. You can expect to see an even tighter integration with their plugin over the next few months! We are excited that clients can now use this plugin without any additional modifications needed.
We would love to hear what you think? Do you use WP Rocket? Let us know below in the comments.