What the check looks at
C7 runs only when your home page is cached at the edge. The plugin calls your home page cached at the edge when one of two requests for it, without query string or cookies, is a HIT, or when the answer carries cf-apo-via: tcache. It then looks for something that clears that cache: the official Cloudflare plugin with APO (the cf-edge-cache header with platform=wordpress), a host that runs Cloudflare for you (check A1), or an active plugin the plugin knows can purge Cloudflare.
Like every request Edge Doctor sends, these go only to the hosts of your Site Address and WordPress Address (home_url() and site_url()). An address WordPress gives on another host, such as a single sign on page, is never requested.
Results and what they mean
| Result | What it means |
|---|---|
| PassedConfidence: High | Your cache is cleared when content changes The official Cloudflare plugin is set up with Automatic Platform Optimization. |
| PassedConfidence: Medium | Your host clears the cache for you Your host runs Cloudflare for this site. |
| PassedConfidence: Medium | A plugin that can clear the cache is active Installed, but the plugin cannot tell whether it is connected to your Cloudflare account. Confirm that. |
| WarningConfidence: Medium | Nothing appears to clear your cache An edit can stay invisible to visitors until the cached copy expires on its own. |
| Not applicable | No cached pages, so no cache purge to check Reason not_observed. |
| Not applicable | Cloudflare is not in front of this site Check A1 did not detect Cloudflare, so this check sent no request. Reason not_behind_cloudflare. |
When the result names a reason
not_observed: The plugin has not seen this happen on your site.not_behind_cloudflare: This site is not behind Cloudflare.
Symptoms you may notice
- You publish or edit, and visitors still see the old version, while you see the new one when logged in.
- Prices, stock or opening hours on the site are out of date for visitors.
Why it happens
A cached page stays until its Edge TTL runs out or someone purges it. WordPress does not tell Cloudflare that a page changed unless a plugin does it for you.
Confirm it by hand
Change a page, then request it without cookies and compare:
curl -sI "https://example.com/changed-page/" | grep -iE "cf-cache-status|^age|cf-edge-cache"A HIT with a large age after your edit means nothing purged it. cf-edge-cache: cache, platform=wordpress means the official plugin with APO is active.
How to fix it
In WordPress: use a plugin that clears the Cloudflare cache when you publish and connect it to your Cloudflare account. The official Cloudflare plugin does this with APO; LiteSpeed Cache and WP Fastest Cache have Cloudflare purge as well.
In Cloudflare: or shorten how long HTML stays cached in the Cache Rule, and purge by hand after larger changes.
Limitations
The plugin knows a list of purge plugins and hosts. It cannot see whether a plugin is actually connected to your account, nor custom code that purges through the API.
Related checks
- C6 Cached pages older than their nonces: old cached copies break forms.
- C3 Logged-in pages in the public cache: what a stale copy can carry.
- A1 Cloudflare detection and connection type: host-managed Cloudflare.
Sources
Run this check on your own site with Edge Doctor for Cloudflare®, free on WordPress.org.
Edge Doctor for Cloudflare® is not affiliated with or endorsed by Cloudflare, Inc. Cloudflare is a registered trademark of Cloudflare, Inc.