R2 Static Site Caching
I was recently testing a static site hosted on R2 with the wonderful openstatus.dev web performance tools (global speed test and global cdn checker), when I discovered that my static site pages (i.e. html) were not being served by cloudflare's cdn. Not only that, but the global speeds were pretty poor, past 1s in some regions.

Quite the d'oh moment, I had erroneously believed that cloudflare would cache static content from R2 - I give myself some grace that cloudflare does automatically cache some static assets without explicit configuration (after all, they're static assets - fast serve and caching is the point).
I understand there's a few ways to enable caching. I went with adding a cache rule matching requests against the specific hostname, setting an explicit edge ttl:

This produced a clean report, with speeds down to the double digit millisecond range globally:

As for deploys, if cache busting is necessary (i.e. waiting for caches to slowly update is undesirable), then it's possible to purge the cache via the cloudflare API:
curl -s -X POST "https://api.cloudflare.com/client/v4/zones/$CF_ZONE_ID/purge_cache" \
-H "Authorization: Bearer $CF_API_TOKEN" \
-H "Content-Type: application/json" \
--data '{"purge_everything":true}'
where $CF_ZONE_ID is available in the cloudflare dashboard, and $CF_API_TOKEN is created here. Note that on free cloudflare accounts, cache purging affects all resources on all subdomains - this may or may not be an issue for you.