Index: src/middleware/render.js
===================================================================
--- src/middleware/render.js	(revision 34875673eb7989a5ab1986334ece32f689bab211)
+++ src/middleware/render.js	(revision e2ea5c49d99947fd02bdda292a25027f868b7225)
@@ -73,5 +73,8 @@
   // (Vary also applies to intermediate caches / Cloudflare.)
   res.setHeader('Vary', 'HX-Request');
-  if (isPartial) res.setHeader('Cache-Control', 'no-store');
+  // A full HTML page must always be revalidated so an online visitor gets the
+  // fresh site, never a heuristically-cached copy. no-cache (not no-store) still
+  // allows bfcache and conditional requests. Partials stay no-store (see above).
+  res.setHeader('Cache-Control', isPartial ? 'no-store' : 'no-cache');
 
   // Does this (non-god) user own a site? Determines whether they see an "Admin"
