WP Super Cache is a solid cache plugin (if you’re going the free route).
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.
For hosting, I recommend Cloudways Vultr High Frequency who is miles better (and faster) than shared hosting companies including SiteGround, WP Engine, GoDaddy and EIG brands.
Here’s how to configure the WP Super Cache settings:
How To Set Up WP Super Cache
Caching (Enable) – enables caching, an easy way to improve load times.
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.
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.
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.
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.
- Cloudflare is sufficient for most WordPress sites, but I recommend using their APO for $5/month if you can afford it. This further improves speed by serving your entire site from their edge network. If you decide on Cloudflare, see the Cloudflare section of this tutorial.
- BunnyCDN is what I use, is affordable, and highly rated in Facebook Groups. They have setup instructions but I’ll also show you how to setup BunnyCDN with WP Super Cache.
Step 1: Sign up for BunnyCDN (highly recommended in Facebook Groups).
Step 2: Create a pull zone in BunnyCDN.
Step 3: Copy your CDN URL from BunnyCDN.
Step 4: 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.
Step 5: Run your site in GTmetrix and “content delivery network” should be green.
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.
Delete cache – refreshes the cache in case you see old cached versions of your pages.
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 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.
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.
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…
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…
5. Add these 3 page rules to cache everything and protect the WP admin.
6. Finally, go to your Cloudflare caching settings and purge individual files…
Reduce TTFB With Faster Hosting
Most hosting recommendations are garbage and I suggest joining the WP Speed Matters Facebook Group which is one of the only groups not controlled by affiliates or SiteGround’s community manager who “moderates” negative posts about their brand like in other groups.
Hosts I Don’t Recommend
- SiteGround has a slow TTFB, CPU limits, declined support, price increases, and other issues. Their TOS (sec. 9) prevents affiliates from using ‘SiteGround’ in bad reviews. I left them in 2019 and stopped endorsing them entirely. As one person said, “SiteGround is no longer any kind of value for the money.” Do your research.
- Hostinger writes fake reviews, votes for themselves in FB polls, also unethical. Employees pose as customers and trick people into buying Hostinger (view poll).
- GoDaddy can actually have a decent TTFB but comes with problems: paying for SSL, malware, slow DNS, and the dashboard gives you little control (see thread).
- WP Engine makes absurd claims like “the unequivocal performance leader in WordPress” when most people migrate away and post much faster load times.
- EIG brands like Bluehost and HostGator have overcrowded servers, slow TTFB, bad support/uptimes, and malware issues (view thread). Mainly promoted by “how to start a blog” affiliates and pay a lot to be “recommended” by WordPress.
Hosts I Do Recommend
Cloudways has excellent feedback in Facebook Groups if you read the threads. I use their Vultr HF plan and have a fast TTFB with nice GTmetrix results (feel free to click through my blog to see how fast it loads). They use Object Cache Pro (Redis), NVMe, and have 39 data centers worldwide. Main cons are no file manager and email hosting is $1/email/month. Cloudways is a little techier because they use a custom dashboard which requires launching a server, but most people find it easy once you get used to it. It’s monthly pricing with no high renewals, 3-day trials, and includes a free migration. If your TTFB is slow, try cloning your site on Vultr HF and test the results (you can also see screenshots of people’s migration results + Facebook polls below). They have high TrustPilot ratings and if for some reason you’re not happy, just cancel your 3-day trial.
NameHero uses LiteSpeed servers which are a newer/faster type of server (it’s cheap and voted highly in Facebook polls). You can find lots of positive feedback in Facebook Groups. I suggest NameHero over similar hosts (like A2) because they’re more reliable with better uptimes and US-based support. They also use cPanel which is beginner-friendly. NameHero has a 30-day refund policy and does free migrations, but I would only use them if your visitors are in the US or Netherlands since that’s where the data centers are. I generally recommend the Turbo Cloud plan which comes with 3GB RAM + NVMe. Large (WooCommerce) sites should use their managed cloud (or Cloudways).
WPX – also uses LiteSpeed (not sure why it’s buried on this page) with excellent support and TrustPilot ratings, but they only have 3 data centers in Chicago, London, and Sydney. Good choice if your visitors are near there, otherwise choose someone else. They also have great feedback in Facebook Groups and include a free migration as well as free site speed optimization where they optimize your site for core web vitals. Main con is price and the dashboard is kind of oversimplified and can be buggy.
Affiliate Disclaimer – I use aff links to the hosts I recommend, but not the ones I don’t.
Each have different setups. On Cloudways, I use FlyingPress + BunnyCDN (or use WP Rocket). On NameHero or WPX, you’ll use the LiteSpeed Cache plugin + QUIC.cloud CDN. They’re both great setups and should give you a fast TTFB – see my WP Rocket or LiteSpeed Cache tutorials.
When in doubt, check Facebook polls and migration results (view more).
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.
Is WP Super Cache better than 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 Cache.
Did it work?
Let me know in the comments!