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.
Not sure this is the layer? Paste your URL and the checker reads the headers for you.
Check my siteHow 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
- 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
- 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
- Browser Cache TTL. Cloudflare’s Browser Cache TTL defaults to 4 hours. If your server sends a shorter
Cache-Control, or none at all, Cloudflare replaces it with its own, so visitors’ browsers hold the old copy for hours even after you purge. Set Browser Cache TTL to Respect Existing Headers and send your own header. source Our header generator writes one. HITagain, withageclimbing, right after a purge. Something is telling Cloudflare to keep it that long: a Cache Rule’s edge TTL or your server’smax-age. Fix the rule or header instead of purging over and over.- Know what the header words mean.
no-cachestill lets caches store a copy, as long as they check with your server before reusing it. Onlyno-storemeans “don’t keep it.” source
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.