Cache warming
Fetching important pages before visitors arrive, so the cache pays the first slow trip to origin instead of a real person.
See it
What it is
Cache warming means requesting important URLs before real visitors do, so the cache already holds a fresh copy when traffic arrives. A post-deploy job might fetch the home page, the top product pages, and the current campaign landing page, paying their first miss in private.
Reach for it after a deploy or purge when a predictable set of expensive, popular pages would otherwise all start cold. Keep the list small and ranked by real traffic, not by whatever sitemap.xml happens to contain. A plain HTTP fetch warms only that URL; it does not follow the HTML and warm its CSS, JavaScript, or images.
Gotcha: one runner normally warms only the edge location it reaches, not every PoP in the world. Fetching thousands of URLs at once can also create the origin spike you meant to prevent. Limit concurrency, confirm the responses are actually cacheable, and pair warming with request collapsing or stale-while-revalidate.
Ask AI for it
Add a post-deploy GitHub Actions cache-warming job. Read at most the top 100 public URLs from a checked-in list, fetch them through the Cloudflare hostname with curl at no more than five concurrent requests, retry 429 and 5xx responses with exponential backoff, and stop on sustained origin errors. Fetch each URL a second time and record CF-Cache-Status so the job can require a HIT on the second request; the first may already be a HIT. Skip authenticated routes, query-string variants, and any response marked private or no-store.