Have set rule to Cache Everything but page itself is still cache-status: dynamic

I’ve set a page rule in Cloudflare for my entire domain to be “Cache Everything”.

However the very first file which is the html always returns cf-cache-status: DYNAMIC

That means it is bypassing Cloudflare and reaching my Origin Server.

All other files do return cf-cache-status: HIT. (That is good)

Is this normal behavior? I don’t see anything in my page’s html that should break cache.

How do I get even this first html file to be served from Cloudflare Cache?

Try adding an Edge Cache TTL setting.

Thanks - I set Edge Cache TTL to 1 hour, then later 8 hours. This didn’t fix the issue, unfortuately. Still, the only file on our page that is cf-cache-status: DYNAMIC and not :HIT is the 1st call to the html page itself. According to webpagetest.org this adds about .9 seconds before TTFB (Time To First Byte). This will be much faster when we’re able to get Cloudflare to serve the file, not our origin server.

Any other ideas, please?

Without knowing the actual URL, that’s all I can suggest.

1 Like

Try disabling Origin Cache Control.

Try adding * to the end of the page rule, I had the same issue and fixed it.
For example: www.abc.something/*

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