Homepage html cache not clean

we was changed the html content of our home page
when we refresh with Ctrl+F5 its OK
but when we use standard refresh, old html version was displayed

we tried everything:

  1. purge everything
  2. purge custom
  3. change caching level
  4. use cache rules
  5. use page rules
  6. wait more than 4 hours
  7. clear our nginx cache
  8. even redirect domain to another url in our nginx

BUT, no one is working…

this is really bug of Cloudflare
and I can not find any solution in forums and docs

what should we do?

Note that Cloudflare CDN doesn’t cache full HTML pages by default.

Can you share the URL in question (or at least the full HTTP response header) so we can take a look?

1 Like

This almost certainly means that browser-cache is the problem.
I do not see any Cache-Control headers on your website, but that was probably different on previous versions.
Could you maybe show the response headers from someone that’s seeing the old page?

(Press F12 in Chrome and show this menu)

Show Screenshot

When I visit your site, I can see the header Cf-Cache-Status: Dynamic, which means that Cloudflare does not Cache your site.

This is for old cache version, It is like new one, no difference!!!

And about dynamic header, I don’t know that what Cloudflare do, but we have no cache control in our side and have no new settings in our host configs and this problem was happened in our last update …
I think this problem is not for our side, I think Cloudflare cache have special behaviour for sites when the traffic was grow…


why Cloudflare add this header? we don’t set it from Cloudflare dashboard or in host side!!
I think this is the main problem.
By default Cloudflare cache html/text for 7 days, but there is no option in Cloudflare to set or change this default settings. nor Cloudflare don’t ask or inform us about this dangerous behaviour.

Where are you getting this information from?

As I mentioned earlier, Cloudflare themselves say they do not cache full HTML content by default: unless you’ve configured a page caching rule yourself. See the official documentation below.

From what I can see from your homepage’s header, Cloudflare is not caching the full page.

When troubleshooting technical issues, I’ve found it more helpful to be open-minded and consider all possibilities, rather than having a tunnel vision on just one possible cause.

Put the hostname in DNS-only mode (:grey: cloud) and test. In DNS-only mode, Cloudflare will merely resolve the hostname to the IP address – bypassing all other CDN/WAF features.


This is in the NEL header and is nothing to do with caching the html. If you don’t want to see this header, turn off Network Error Logging under “Network” for the zone.

You have a funny service worker that probably causes your problems.
I have no experience with service-workers whatsoever, but that looks to me like cache.addAll(["./", './ast/img/ic/fav192.png']) instructs the browser to cache both your favicon and your root html file.

From the response headers I see, it’s probably even cascading and caches everything? Maybe someone who uses service-workers can answer that.

self.addEventListener("install", e=>{
        return cache.addAll(["./", './ast/img/ic/fav192.png']);
self.addEventListener("fetch", e=>{
        return response || fetch(e.request);

tanx for replay
yes, you are true…

So, do you know the solution that forced the clients to clear their caches automatically?

our problem was solved.
service_worker can cache anything but not itself.
then we change our service_worker, upload it and clear Cloudflare cache…
then after browser_ttl all clients see the correct version.

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.