Fix guide · Cloudflare

Cloudflare is showing the old version. Here’s how to tell, and how to clear it.

Cloudflare keeps copies of your files at its edge, close to your visitors. One fact settles half of these cases: Cloudflare does not cache HTML by default. If your page is old and you never added a rule to cache it, the stale copy is probably somewhere else.

Visitor's browsertheir own copyCDN edgeCloudflare, Hostinger CDN, QUIC.cloudTHIS GUIDEHost / server cacheLiteSpeed, Varnish, hPanelWordPress plugin cacheWP Rocket, W3TC, WP Super CacheYour actual fileswhat you just published
Cloudflare sits between the browser and your host. A purge clears Cloudflare’s copy only, not the browser’s or the host’s.

Not sure this is the layer? Paste your URL and the checker reads the headers for you.

Check my site

How to tell it’s Cloudflare

Cloudflare adds a cf-cache-status header to every response. Its value says what the edge did. source

HITServed from Cloudflare’s cache. If the page is old, Cloudflare is the culprit.
MISSCacheable, but not in the cache yet, so it came from your server.
EXPIREDCloudflare had a copy, but it had expired, so it fetched a fresh one from your server.
STALEAn expired copy, served because Cloudflare couldn’t reach your server.
REVALIDATEDYour server confirmed the cached copy was unchanged, so Cloudflare served it.
UPDATINGAn expired copy, served while Cloudflare fetches a new one in the background.
BYPASSEligible for cache, but your server’s response said not to store it (for example no-store or private).
DYNAMICNot eligible for cache, so Cloudflare went straight to your server. Cloudflare is not holding an old copy.
NONE / UNKNOWNCloudflare generated a response that isn’t eligible for caching.

When Cloudflare serves from cache it also sends age: the seconds the copy has been in its cache. source A big age next to HIT means the page you see is that old.

The HTML rule: Cloudflare’s CDN does not cache HTML or JSON by default; caching them takes a Cache Rule. source So DYNAMIC on your page itself is normal, and the old copy is in the browser or at your host.

How to clear it

  1. One URL (Cloudflare’s recommendation): in the dashboard open Caching → Configuration. Under Purge Cache choose Custom Purge, set Purge by to URL, paste the address and press Purge. source
  2. Everything: same page, Purge Everything, then confirm. Cloudflare strongly recommends purging by URL instead where you can. source

If the old page comes straight back

Working without it for a while

Development Mode (on the same Configuration page) turns off Cloudflare’s edge cache for three hours, or until you switch it off. It bypasses the cache without purging it, so purge as well if you need the old copy gone. source

Other fix guides

Sources

Every step above was written from these pages, read on 11 Sep 2026. Vendors move buttons; if one has moved, the source page will say where.

  1. Cloudflare — Cloudflare cache responses
  2. Cloudflare — Default cache behavior
  3. Cloudflare — Purge by single-file
  4. Cloudflare — Purge everything
  5. Cloudflare — Edge and Browser Cache TTL
  6. Cloudflare — Development Mode
  7. MDN — Cache-Control