Workers Sites: Changes not reflected in browser until hard refresh

I have a CF Workers Site site and I notice that the first load after a content change, the browser displays stale content until a hard refresh.

The site is generated by a static site generator (11ty), deployed to CF with GH actions. I notice the behavior in both Safari and Chrome.

I’m thinking the solution for this might be to use a different browser caching strategy. Instead of having the browser cache the page, like etags, but I since CF is hosting their Workers site via Workers, there might be a better strategy.

Also, any examples of manipulating headers in a CF Workers site would be appreciated!

I bet it’s due to caching headers. What’s the URL?

Scott Helme has a Workers script that manipulates headers:

Oh, nice. Thanks for that.

The URL is

The cache is cache-control: max-age=8640000

I was thinking Netlify’s strategy might be good here. They set 0 cache/must revalidate and use etags to signal to the browser.