The Ideal WP Super Cache Settings With Cloudflare/StackPath CDN

WP Super Cache is a solid cache plugin (if you’re going the free route).

Otherwise WP Rocket was rated #1 in 7 Facebook polls and is what I use (I have a set up guide for WP Rocket as well). But WP Super Cache is still a great choice especially because… it’s free.

I will show you how to set up the WP Super Cache settings including the Advanced, CDN, and Plugin tab. I’ll also cover Cloudflare, StackPath, and show you the difference between the two.

If you’re using an NGINX server, you will need to edit the configuration file to make full use of WP Super Cache, especially to use the disk-base cache. If you do not feel comfortable doing this, I recommend trying a different cache plugin (WP Rocket, WP Fastest Cache, or even W3 Total Cache), as these cache plugins do not require you to edit your NGINX configuration file.

And for hosting, I highly recommend Cloudways DO who are miles better (and much faster) than shared hosting companies including SiteGround, WP Engine, GoDaddy and EIG brands.

WP-Super-Cache-Facebook-Poll

Here’s how to configure the WP Super Cache settings:

WP-Super-Cache-Tabs

 

1. Easy

wp super cache - easy settings

Caching (Enable) – enables caching, an easy way to improve load times.

Delete cache – if you make updates to your website, especially to CSS or JavaScript files, and you see an old version of your page, deleting cache will refresh the page to the newest version.

 

2. Advanced

wp super cache - advanced.1

wp super cache - advanced.2

wp super cache - advanced.3

wp super cache - advanced, expiry time

wp super cache - advanced, garbage collection

wp super cache - advanced, filenames and exclusions

wp super cache - advanced, filenames and exclusions.2

wp super cache - advanced, lockdown

 

Caching (Enable) – enables caching.

Cache delivery method – simple mode is easiest and is recommended for non-programmers. Expert Mode uses Apache’s mod_rewrite feature to serve “supercached” static html files and is faster than simple mode… but if you’re uncomfortable editing PHP files, use simple mode.

Don’t cache pages for known users (Enable) –  enabling this doesn’t show cached pages for people who have been on your website before. This is good because regular visitors want to see new content (eg. in your blogroll) that otherwise wouldn’t show up if you disable this.

Don’t cache pages with GET parameters. (?x=y at the end of a url) (Enable)doesn’t cache pages that are different for each user (unique sales pages if you run Facebook/Google ads, membership profiles, conditional logic on contact forms). GET Params is a great plugin for this.

Compress pages so they’re served more quickly to visitors (Enable) – this is the “Gzip Compression” item in GTmetrix/Pingdom. After enable this, view your homepage and look for noticeable formatting errors. If there are any, disable it. Otherwise, definitely enable this.

Cache HTTP headers with page content (Disable) – makes cached pages faster, but also makes WP Super Cache use PHP file delivery (slower) instead of static file delivery (faster). It’s a trade-off, but if you use plugins that send extra headers, enable it. Otherwise, disable it.

Cache rebuild. Serve a supercache file to anonymous users while a new file is being generated (Enable) – shows the cached page if a new file is in the process of being generated.

304 not modified browser caching. Indicate when a page has not been modified since it was last requested. (Enable) – prevents updating the cache on ‘tag’ pages (saves server resources).

Make known users anonymous so they’re served supercached static files – counters the earlier setting “don’t cache pages for known users” and instead, it caches for everyone.

Enable dynamic caching – (Enable) – enables caching for dynamic content (content that is changing) like ads, a publicly displayed visitor count, or even Amazon’s recommendations.

Mobile device support. (External plugin or theme required. See the FAQ for further details.) (Enable) – if using mobile plugin like WPtouch, or a mobile theme, this caches mobile pages.

Remove UTF8/blog charset support from .htaccess file. Only necessary if you see odd characters or punctuation looks incorrect. Requires rewrite rules update – (Disable) – if you see weird characters on your website (Â â €™ ¢), this should fix it. Otherwise, leave it disabled.

Clear all cache files when a post or page is published or updated – Enable) – if you publish a post, and you also have a blogroll (eg. on your homepage) and want to make sure it’s updated with the newest post, this will clear the cache and make sure the new content is being shown.

Extra homepage checks. (Very occasionally stops homepage caching) (Enable) – similar to the previous setting, this makes sure your newest blog posts are being shown on the homepage (if you have a blogroll). This is also applicable to dynamic content on the homepage.

Only refresh current page when comments made – enable this if you have lots of comments, as readers want to see the latest content (you don’t want to refresh all the cache to do this).

List the newest cached pages on this page (Disable) – shows which pages have been cached.

Coarse file locking. You do not need this as it will slow down your website  (Disable).

Late init. Display cached files after WordPress has loaded (Enable) – allows content to stay dynamic. If you see the error “super cache dynamic page detected but late init not set” fixes it.

Cache location – Don’t Change – don’t change the path, the default path is fine.

Cache Timeout – 3,600 is good for most websites, high traffic websites can lower this to 1,800. This is the frequency cached pages expire and will be thrown away. If you set it too slow, users will never see cached version. If too fast, it can consume lots of server resources.

Accepted filenames & rejected URIs – specify pages you don’t want to be cached. The most common use for this is excluding eCommerce pages or pages that are updated very frequently.

Examples:

  • /shop/
  • /shop/account/
  • /shop/checkout/
  • /shop/cart/
  • /shop/confirm-order/

Rejected user agents – prevents user agents from caching pages. The most common ones are search engines like Googlebot and Bingbot, but here is a complete list of user agents you can view. If using WPtouch, you will also want to add their entire list of mobile user agents here.

Lock down – prepares your server for an expected spike in traffic (during lock down, new comments on a post will not refresh the cached static files). This will save on server resources and help prevent your site from crashing. Only enable this if you notice traffic skyrocketing.

Fix configuration – restores the default WP Super Cache settings.

 

3. CDN

A CDN (content delivery network) hosts your heavy website files on multiple data centers around the country/world, which reduces the geographic distance between your server and visitor. This reduces load times and is recommended in the WordPress optimization guide.

StackPath is one of the most popular CDNs and is what I use on my site . They have 45 data centers heavily located in the US and amazing support who helped improve my GTmetrix YSlow score by 8%. KeyCDN is also good, but I’ve been very happy with MaxCDN/StackPath.

StackPath vs. Cloudflare – Cloudflare is free, StackPath starts at $10/month with a free 30-day trial. Cloudflare has it’s own data centers, StackPath has their own data centers. Generally the more data centers, the better, and the more resources you can offload to them (making your site load even faster). StackPath comes with a support team who will help you configure it (there is no support with Cloudflare’s free plan). StackPath support was able to significantly improve load times and improve my GTmetrix YSlow score by 8%, which was totally worth it.

Step 1: Sign up for a 30-day trial, then use the steps below. (StackPath also has a tutorial).

Step 2: In the StackPath dashboard, click the CDN tab, and create a StackPath CDN Site

StackPath-CDN-Tab

StackPath-CDN-Domain

StackPath-Server-IP-Address

Copy your server IP address – it is needed in step 6 of this section.

WP-Super-Cache-StackPath-CDN-URL

Step 3: Paste your CDN URL in WP Super Cache’s CDN tab under “Off-Site URL” and “Additional CNAMES.” If using SSL, also check “skip https URLs to avoid mixed content” errors.

wp super cache - cdn settings

wp super cache - enable cdn

Step 4: In StackPath go to CDN → Cache Settings, then click “Purge Everything”…

StackPath-Purge-Cache

Step 5: Copy your server’s IP address from step 2 (you can also find it in your hosting account). Then whitelist your server IP address in StackPath by creating a WAF site (WAF → Firewall).

StackPath-Whitelist-IP

Step 6: Run your site in GTmetrix and “content delivery network” should be green in YSlow.

CDN GTmetrix YSlow

Be sure to contact StackPath’s support as they were able to tweak my settings to further improve grades. They have one of the greatest support teams – I would definitely utilize it.

 

4. Contents

As long as your “cache timeout” is set appropriately in the Advanced settings, your expired cached pages will be deleted and they won’t put stress on your server. When working on site, you may also be making changing to CSS/JS (eg. background images) and see a cached version (or you may not see that your CDN is working). In this case, deleting the cache should fix this.

WP-Super-Cache-Contents-Setting

Delete cache – refreshes the cache in case you see old cached versions of your pages.

 

5. Preload

Preload is a refresh when the cached pages are all cleared out and refreshed in one go. I would enable it since this improves both website/indexing speed. However, preload consumes a lot of server resources which puts stress on your server and can make your website slow. By default, it set to refresh preloaded cache files every 600 minutes. But you should increase this number if it’s putting stress on your server, especially if you’re on shared hosting. You can also leave it to 0 if you do not want static files to expire ever unless you manually refresh the cache.

WP-Super-Cache-Preload-Settings

 

6. Plugins

Leave everything as-is, unless you are using the Bad Behavior pluginWordPress MU Domain Mapping plugin, or WPtouch plugin, in which case you would enable compatibly for those.

WP-Super-Cache-Plugins-Settings

 

7. Debug

WP-Super-Cache-Dubug-Settings

 

Cloudflare

WP Super Cache does not have a direct way to set up Cloudflare, but this is very easy and I definitely recommend using Cloudflare’s free CDN. Many hosts (including SiteGround) have an option to activate Cloudflare in their cPanel with 1 click. This is by far the easiest method.

SiteGround-Cloudflare-Activation

If your host doesn’t have this option, follow the steps below…

1. Sign up for Cloudflare and you will be prompted to add your website then begin a scan.

cloudflare-begin-scan

2. Once the scan is complete, select the free plan, then Cloudflare will take you through a set of pages. You will eventually be taken to a page where Cloudflare assign you 2 name servers

Cloudflare-Name-Servers-Dashboard

3. Do a Google search for “how to change name servers on SiteGround” (only search for your host), then follow their instructions. You will be copying the 2 name servers provided by Cloudflare and pasting them into a custom name servers option in your hosting cPanel…

SiteGround-DNS-Records

4. Go to your Cloudflare speed settings and make sure Auto Minify and Rocket Loader are turned OFF, but SG Railgun is on.

Cloudflare-Speed-Tab

5. Cloudflare says “we recommend that you create a Page Rule to exclude the admin section of your website from Cloudflare’s performance features. Features such as Rocket Loader and Auto Minification may inadvertently break backend functions in your admin section.”

Add these 2 page rules in your page rules settings

Cloudflare-Page-Rule-WP-Admin

Cloudflare-Page-Rule-WP-Preview

6. Finally, go to your Cloudflare caching settings and purge individual files

Purge Individual Files Cloudflare

Done!

Watch My Video – it’s a 42 minute video, but I cover pretty much everything (timestamps in video description) and you should learn a ton of great information on WordPress site speed:

 

Cloudways (My Recommended Host)

Hosting recommendations are usually garbage.

Join the WordPress Hosting Facebook Group to get unbiased feedback. Most members (myself too) swear by Cloudways WordPress Hosting. Specifically DigitalOcean / Vultr High Frequency.

Yes, it’s a little more expensive at $10-$13/month, but we’re talking about speed here – not being cheap. With Cloudways, you have a choice of using DigitalOcean, Vultr High Frequency, Google Cloud, AWS, or Linode. These are worlds faster than shared hosting and can handle resource-intensive tasks much better (Elementor, Beaver, Divi, WooCommerce, AdSense, etc).

Cloudways makes it easy to test them out and see the difference in your load times: they do free migrations, monthly pricing, a Migrator plugin, and a promo code to save money: OMM25

Here’s what happened when I moved:

SiteGround vs Cloudways

GTmetrix tests are always different, but even posts with a huge page 2.70MB page size and 96 requests can often load in under 2s. I’ll also take a 148ms time to first byte any day of the week. That post has 70+ images, 480 comments (showing Gravatars), Font Awesome, and Elementor.

OMM-TTFB

The evidence is there:

Cloudways Response TimesCloudways-Migration-Result
Cloudways Google PageSpeed
WP Engine To Cloudways
DigitalOcean Pingdom Report
Hosting-Recommendation
Moving-From-WPX
SiteGround-Alternatives
Preferred-Web-Hosting
UntitledWPEngine-To-Cloudways
Godaddy DigitalOcean Migration
Cloudways Pingdom Load Times
Cloudways Pingdom Report
Elementor-Hosting
Web-Hosting-France
SiteGround-Alternative
VPS-Cloud-Hosting

 
This was a simple Pingdom test to measure load times of 16 WordPress hosts. I signed up for popular hosting companies then installed the same Astra Starter Site on each of them while measuring load times in Pingdom for 1 week at 30 minute check intervals. Some domains are still live (cwdoserver.com is hosted on a $10/month Cloudways DO plan and stgrndserver.com is hosted on SiteGround GrowBig). I cancelled most of them because it was getting expensive. Even when browsing through their pages or running your own tests, you can see the difference.

WordPress-Hosting-2020-Pingdom-Test

Hosting Companies You Should Avoid

  • SiteGround – they have gone completely downhill in recent years.
  • Bluehost – slow servers, owned by EIG, bad support, rated poorly in FB Groups.
  • HostGator – also owned by EIG with slow servers, bad support, CPU limit issues.
  • GoDaddy – top malware hosting network worldwide, rated poorly in FB groups.
  • Hostinger – they write fake reviews and vote for themselves in Facebook polls.
  • WP Engine – also not what it used to be, expensive and not even fast anymore.
  • *A2 Hosting – if you can’t afford Cloudways, A2 is still fast and uses LiteSpeed.

I use Cloudways because:

  • Even posts with a 2.70MB page size can load in under 2s
  • DigitalOcean and Vultr HF are miles faster than shared hosting.
  • It’s $10-$13/month (no yearly contracts or high renewal prices).
  • Varnish, Redis, and memcached are all built-in for higher performance.
  • You get to pick from DigitalOcean, Vultr HF, Linode, AWS, Google Cloud.
  • 4.8/5 star TrustPilot rating and highly recommended in Facebook Groups.
  • They have 25+ data centers between all their cloud hosting providers.
  • No CPU issues like on SiteGround, Bluehost, and other shared hosting.
  • SSL, staging, and backups are all very easy in the Cloudways dashboard.
  • Support used to be average, but is now really good as reflected on TrustPilot.
  • They offer a free migration but their Migrator plugin will also do the trick.
  • Adding a server, migrating your site, and the dashboard is actually very easy.
  • Mustasaam (their community manager) gave me peace of mind when moving.
  • Only complaint is they need to add LiteSpeed servers to their list of providers.

Affiliate Disclaimer – if you sign up for Cloudways using my affiliate link, I would seriously appreciate it. I don’t recommend bad hosting like many other affiliates. I also donate quite a bit to charity ($6,000 to GoFundMe so far) and your support would really help. I try to base my reviews not only from my experience, but real evidence from the overwhelming feedback in numerous Facebook Groups. It would mean a lot.

Just do your research and look at this Facebook thread.

 

Frequently Asked Questions

🚀 Is WP Super Cache a good plugin?

It's usually not the top rated plugin in Facebook polls and I have personally gotten better results with WP Rocket and other cache plugins. Every website is different - you need to configure and compare the results of different cache plugins in GTmetrix one at a time.

🚀 How do you set up Cloudflare with WP Super Cache?

Sign up for a free Cloudflare account and change nameservers (in your domain registrar) to the ones Cloudflare provides you with.

🚀 Will multiple CDNs further improve speed?

In theory, yes. More CDNs = more data centers = faster delivery of your content and more offloading of resources which should lighten the load on your server. Cloudflare's CDN is sufficient for most websites, but if you're obsessed with speed, try StackPath or KeyCDN.

🚀 How does WP Super Cache compare with WP Rocket?

WP Rocket has more speed features than WP Super Cache (database cleanup, optimizing Google Fonts + Analytics, heartbeat control) and is easier to configure, but WP Rocket is also a premium plugin. If speed is very important, give WP Rocket a go.

🚀 What other speed plugins do I need besides WP Super Cache?

You will need a plugin for optimizing fonts (OMGF), database cleanup (WP-Optimize), Heartbeat Control, optimizing Google Analytics (CAOS), and selectively disabling plugins (Asset CleanUp or Perfmatters). These features are not built-in to WP Super Cahce.

See Also: How I Optimized My WordPress Site To Load In <1s (36+ Tips)

Did it work?

Let me know in the comments!

Cheers,
Tom

Subscribe
Notify of
guest
12 Comments
Newest
Oldest Most Voted
Inline Feedbacks
View all comments