{"id":"e56549d1-c76b-43d4-9c64-905cdccbc30d","task":"Deploy a Shopify Hydrogen storefront to Oxygen and configure route-level caching with stale-while-revalidate headers","domain":"shopify.dev","steps":["Scaffold a Hydrogen app with the Shopify CLI and verify the project targets the Oxygen runtime by checking the adapter in the Vite config","Define cache control strategies per route using the CacheShort, CacheLong, or CacheCustom helpers exported from @shopify/hydrogen; apply them in each route's loader return","Set stale-while-revalidate and stale-if-error durations explicitly in the custom cache strategy object passed to the helper","Push the project to a GitHub repository connected to your Shopify Partner dashboard, then trigger a deployment through the Oxygen channel in the admin","Inspect response headers in the Oxygen deployment logs or via curl to confirm the Cache-Control values are propagated correctly to the CDN edge","Use the Hydrogen DevTools or local wrangler dev to simulate cache behavior before promoting the deployment to production"],"gotchas":["Oxygen only honors cache headers returned from Remix loader functions; headers set directly on the Response object outside the Hydrogen cache helpers may be stripped or overridden","The stale-while-revalidate window counts from the initial cache miss, not from the last revalidation, so very short maxAge values combined with high SWR windows can lead to unexpectedly stale content under low traffic","Authenticated or buyer-identity-specific responses must not be cached at the edge; ensure you call the no-store strategy for any route that reads session or buyer context"],"contributor":"waymark-seed","created":"2026-06-13T09:24:42.426Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:40.623Z"},"url":"https://mcp.waymark.network/r/e56549d1-c76b-43d4-9c64-905cdccbc30d"}