WordPress Cache Plugins

There are only 2 cache plugins you should use, and […]

There are only 2 cache plugins you should use, and it’s not debatable anymore.

After creating spreadsheets and tracking cache plugins for 10+ years, FlyingPress (on Nginx/Apache servers) and LiteSpeed Cache (on LiteSpeed servers) have major advantages.

The biggest one is they have more features that optimize core web vitals, such as preloading LCP images and hosting fonts locally. Both integrate powerful CDNs (Cloudflare Enterprise on FlyingCDN and QUIC.cloud on LiteSpeed). There are other unique features too, like removing WordPress bloat with FlyingPress and the powerful server-side caching with LiteSpeed Cache.

The only real contender (WP Rocket) fell behind in features. They’ve also had other major issues, like many unwanted plugin updates, a price increase, and a DDoS attack exposing several flaws. They seem more interested in following their roadmap than listening to their community. As for SiteGround Speed Optimizer, there’s a reason it only has a 4.2/5 star rating.

1. FlyingPress

FlyingPress is faster than WP Rocket and years ahead of SiteGround Optimizer.

Not only does it address core web vitals, but it’s optimized for real-world browsing speed (as opposed to just “scores”). There are several differences in the way it removes unused CSS, preloads pages, and lazy loads images/iframes compared to WP Rocket or similar cache plugins.

FlyingPress is also usually first to release new features. Gijo’s Flying Scripts and Flying Pages were the first plugins to delay JavaScript and smart preload pages, then later added by WP Rocket. Even now, FlyingPress does many things other cache plugins can’t: lazy render HTML elements, self-host YouTube placeholders, and lazy load load background images using a “lazy-bg” helper class. Simply put, FlyingPress has more features and should give you better results.

FlyingCDN is faster, more reliable, and cheaper than RocketCDN (StackPath). Especially because FlyingCDN uses Cloudflare Enterprise (see my research on the best WordPress CDNs).

It’s also more stable. Gijo runs several Facebook Groups (including WP Speed Matters) where he gets lots of feedback and answers questions. When issues or feature requests come up, he’s quick to update the plugin. Things work smoothly compared to ongoing issues in other cache plugins: WP Rocket’s remove unused CSS issues, SiteGround Optimizer’s purging issues and lack of Cloudflare documentation, and other features customers have been waiting years for.

The only reason I wouldn’t use FlyingPress is if you’re on LiteSpeed and use LiteSpeed Cache.

Unique Features

  • Faster “remove unused CSS”– as Vikas explains in a Facebook post, the remove unused CSS feature in FlyingPress is more effective than WP Rocket. Since this post, Perfmatters added the option for a separate file. Meaning FlyingPress + Perfmatters is most effective.
Remove unused css wp rocket vs perfmatters vs flyingpress
  • Preload critical images – automatically detects images in the viewport and preloads them (Perfmatters also has this). These images are usually different across your site, so manually preloading them is tedious since you don’t want to preload unused images.
  • Exclude leading images from lazy load – instead of manually excluding images from lazy load, both FlyingPress and Perfmatters let you set a number (usually 2-3) of images that are typically shown above the fold. Since above the fold images can be different from page to page, this is easier and (usually) more effective. You can also exclude images manually.
  • Preload pages – Flying Pages (which is built-in to FlyingPress) does a better job of link preloading than WP Rocket and has smart features to prevent it from causing CPU spikes. Last time I saw, elementor.com was using Flying Pages… that’s when you know it’s good.
  • Lazy render HTML elements – similar to lazy loading images only you can lazy load any element (footer, copyright section, and comments are common examples). As shown in the documentation, you’ll open your site in Chrome Dev Tools, copy selectors you want to lazy render, and add them to FlyingPress. I believe it’s the only cache plugin that does it.
  • Lazy load background images – FlyingPress lets you add lazy-bg to your background image’s additional CSS to lazy load it. With WP Rocket and many cache plugins, it requires a more tedious process of moving background images to inline HTML, or it’s sometimes not supported at all. This can cause defer offscreen image errors in PageSpeed Insights.
  • Host fonts locally – hosting fonts locally is faster especially since you can preload them. Most cache plugins don’t do this and WP Rocket even discourages it which is questionable.
  • Self-host YouTube placeholder – if you embed YouTube videos, the thumbnail is loaded from i.ytimg.com which creates an external request.  This also means the image can’t be cached, served from a CDN, and will cause errors in PageSpeed Insights. FlyingPress automatically downloads the image and hosts it locally which solves all these problems.

More Optimizations Than Other Cache Plugins

No server-side caching is the biggest con of FlyingPress which is only possible on LSC + SG Optimizer. The only other thing I’d like to see is bloat removal options (Heartbeat, limiting post revisions without deleting them all in the database settings, changing the autosave interval, disabling XML-RPC, etc. But most of these can be done with a few lines of code or Perfmatters. While the documentation is very straightforward, some things can be elaborated on (and spell checked). Otherwise, it does an excellent job of addressing core web vitals and browsing speed.

FlyingCDN

FlyingCDN uses BunnyCDN which already makes it better than most CDNs (including RocketCDN) when you compare PoPs and Tbps speed, reliability on cdnperf.com, and price. FlyingCDN also uses BunnyCDN’s geo-replication + Bunny Optimizer. This requires no extra configuration outside of setting up FlyingCDN and is usually much cheaper than going to BunnyCDN directly. FlyingCDN is a flat $0.03/GB but on BunnyCDN, you will have to pay for 3 things: CDN ($0.01/GB – $0.06/GB depending on the region), geo-replication ($0.045/GB to use all 5 replicated regions), and Bunny Optimizer ($9.5/mo). Gijo recommends using Cloudflare + BunnyCDN which is also the same setup I use. QUIC is the only comparable CDN in this list IMO.

2. LiteSpeed Cache

LiteSpeed Cache has one of the highest ratings on WordPress (4.8/5) with 3+ million installations, so why is it #2?

Mainly because you have to use a LiteSpeed server to get access to all the features. Plus, the settings can be difficult to configure. And realistically, most people don’t configure them the right way since it gets a little technical. But if you’re using a LiteSpeed server and know what you’re doing (or just follow my LiteSpeed Cache guide), then of course you should be using it.

It has a lot going for it between server-side caching, QUIC, and Guest Mode settings which optimizes for first time visitors. Plus, it’s completely free when you use a LiteSpeed server.

Litespeed cache plugin

Unique Features

  • Server caching – SiteGround Optimizer is the only other cache plugin with server-side caching, but LiteSpeed is arguably faster than Nginx (and integrates Redis + memcached).
  • Guest Mode + Guest Optimization – improves load time for first-time visitors (see their docs). Guest optimization is even more aggressive with page and image optimizations.
  • Public + private caching – LiteSpeed has several options to control the public cache (a page that anyone can see) vs. private cache (a page that is changed based on the visitor).
  • ESI – controls how specific elements on dynamic pages are cached. I wouldn’t mess with this unless you really know what you’re doing since ESI can also slow down your website.
  • TTL settings – most cache plugins don’t have anywhere close to the TTL settings as LSC.
  • UCSS – removes unused CSS with faster method of loading used CSS in a separate file.
  • Image optimization – the biggest difference in image optimization is LQIP (low quality image placeholder) which reduces CLS by showing a blurred/minified version of images to be used as the placeholder. It can also compress images, remove EXIF data, and use WebP.
  • Gravatar cache – this can be especially helpful when your blog has lots of comments.
  • Crawler – crawls your website for pages with an expired cache and refreshes them, but should be used carefully and it’s not recommended unless you know what you’re doing.

QUIC.cloud CDN

QUIC.cloud’s free plan only uses 6 of their PoPs while the paid standard plan uses all 70 PoPs with DDoS protection. Two key advantages of QUIC are HTTP/3 and HTML caching which is similar to Cloudflare’s APO. If you’re using LiteSpeed Cache, the paid version of QUIC is worth it. QUIC also uses true HTTP/3 and is also used for LiteSpeed Cache’s image + page optimizations.

3. WP Rocket

WP Rocket is basically just copying FlyingPress and everyone else at this point (seems like the settings barely changed the last 2 years).

They’re focusing too much on scores and not real world browsing like FlyingPress + LiteSpeed Cache. I also feel like they’re trying to make the plugin so user-friendly that without the helper plugins, it leaves little room for configuration. They also don’t seem to be innovating as much.

Still no image optimization. No more renewal discounts for first-time customers. Ongoing problems with removing unused CSS. People constantly rolling back to previous versions. And the number of unique features just isn’t comparable to FlyingPress + LiteSpeed Cache. Even when compared to LSC, WP Rocket uses marketing jargon while LSC lists technical details. It shows you who their target audience really is: people who value ‘plugin and play’ over results.

WP Rocket is still a great cache plugin and their documentation is the gold standard. But as far as being the gold standard for cache plugins, they’ve been surpassed for the time being. I try to keep this comparison unbiased but can tell you there was a major difference in browsing speed when I moved from WP Rocket to FlyingPress (and many people who switch also say the same).

Wp rocket cache plugin

Unique Features

  • Delay JavaScript – WP Rocket automatically delays JavaScript based on their own rules, then you’re expected to exclude any JS files that break your site. I would rather have it the other way around (better control), but I guess this is part of their “plugin and play” theme.
  • Remove unused CSS – as I already mentioned, WP Rocket is slower because it will inline the unused CSS (instead of loading it in an external stylesheet). It’s also not uncommon for it to break websites, increase CPU usage, or not work at all due to the server going down. I wouldn’t consider this unique since FlyingPress / LSC / Perfmatters do it (and are better).
  • Helper plugins – WP Rocket has several helpful plugins to customize how things operate.

Lacking Features

  • CDN features – RocketCDN only serves CSS, JS, and images from the CDN (nothing else).
  • Image optimization – you will need to use a separate plugin or CDN to optimize images.
  • Preload images – above the fold images should be preloaded but there’s no setting for it.
  • Better option to lazy load background images – WP Rocket only lazy loads background images if they’re used in inline HTML (which is why you may see errors for defer offscreen images in PageSpeed Insights). I’m sure most people would find it easier to add a “lazy-bg” helper CSS class which Google also talks about. Optimole also has a similar solution.
  • Exclude leading images from lazy load – instead of manually excluding above the fold images based on URLs, it would be better to set a number like FlyingPress or Perfmatters.
  • Host fonts locally – I honestly can’t believe WP Rocket tells you not to host fonts locally when Google Fonts create third-party requests, can’t be preloaded, and they violate GDPR.
  • CDN Features – RocketCDN lacks features in FlyingCDN, Bunny, QUIC.cloud (read below).

RocketCDN

One of the worst CDNs.

RocketCDN uses StackPath which was removed from cdnperf.com (I’m not sure why, but I know StackPath had major issues and managed to get a screenshot before it was removed). It’s only capable of 65 Tbps while BunnyCDN can do 80 Tbps. RocketCDN’s “unlimited bandwidth” for $7.99/mo is misleading since you will get cut off at a certain point, then prompted to pay more. Finally, RocketCDN is only a CDN which files from StackPath (no extra features beyond the CDN). No geo-replication, image optimization, HTML caching, etc. It’s another plug and play feature lacking too many things for it to be comparable to Bunny or QUIC. TLDR: don’t use RocketCDN.

4. SiteGround Optimizer

Read my SiteGround Optimizer tutorial and I bet you’ll stop using this plugin.

The only thing I would use it for is caching (dynamic, memcached, Cloudflare), then disable all features and use something else (just make sure you only use 1 plugin for file-based caching). The reason is because it doesn’t optimize for core web vitals nearly as much as other plugins. It also has similar issues I have with SiteGround’s hosting. They like to hype it up to be the best, but in reality it has many critical issues which SiteGround isn’t willing to take accountability for.

Why You Shouldn’t Use It

  • Compatibility issues – long history of issues with Elementor, Divi, WooCommerce, WPML, and other plugins if you check the support forums and bad reviews. While all plugins have compatibility issues, it’s SiteGround’s response which makes this an even bigger problem.
  • Support constantly blames other themes/plugins – instead of fixing compatibility issues, SiteGround blames other themes/plugins instead of fixing the problem. They also flag reviews when people complain about CPU limits. A complete lack of accountability.
  • Long list of lacking features – poor job of addressing core web vitals (see full list below).
  • Documentation – little to no documentation about using Cloudflare with the plugin and much of the documentation reads likely sales copy instead of explaining how things work.
Siteground optimizer caching settings

Unique Features

  • Dynamic caching – full-page caching from Nginx which SG Optimizer is needed for.
  • Memcached – object cache stores database queries which SG Optimizer is needed for.
  • Cloudflare full page cache – caches HTML and improves TTFB in many global locations.

Lacking Features – too many to list here (see table in the FlyingPress section).

SiteGround CDN

To use SiteGround’s CDN, you must also use their DNS which was previously blocked by Google for 4 days (leading to a lot of money/rankings being lost). While the CDN isn’t part of SiteGround Optimizer, I’m guessing they’ll add it at some point. I would wait a few months (or even years) before considering using it. You never know what issues may arise when you’re on SiteGround.

5. Cloudflare

Cloudflare’s plugin is used to add APO.

It caches HTML which gives you a faster TTFB when testing your site in worldwide locations using KeyCDN. It’s a different caching layer than your cache plugin which means you should leave page caching ON in your cache plugin when using APO. It’s $5/month through Cloudflare.

You could also use Super Page Cache for Cloudflare which is similar to APO, but there are several differences which Cloudflare answered in an interview they did on Freelancer Tools.

APO Instructions

  • Proxy traffic through Cloudflare in the DNS settings
  • Purchase APO in Cloudflare
  • Install the Cloudflare plugin
  • Create an API token and add it to the plugin
  • Purge cache in your cache plugin, then in Cloudflare
  • Confirm APO is working using uptrends.com

Let me know in the comments. Obviously cache plugins and their speed results can vary on each website, but I at least suggest trying a couple out and see which one works best for you.

Scroll to Top

Get SEO Ebook for FREE!