Deploy it
Unzip the export first, so the commands below run from inside the folder that contains index.html.
npm i -g wrangler
cd my-framer-export
wrangler pages deploy . --project-name=my-siteWithout the terminal: dash.cloudflare.com → Workers & Pages → Create → Upload assets
The _headers you need
Cache the hashed asset folder aggressively while keeping HTML fresh, so edits go live immediately.
/assets/*
Cache-Control: public, max-age=31536000, immutable
/*.html
Cache-Control: public, max-age=0, must-revalidateCustom domain
Custom domains tab. If the domain is already a Cloudflare zone the record is created for you; otherwise you add a CNAME to your-project.pages.dev.
What it costs
Unmetered bandwidth on the free plan, with a cap on builds per month rather than on traffic — unusual among static hosts, and the reason high-traffic marketing sites land here.
Before you move the domain
- 1. Deploy to the host's own subdomain and open every page from the nav.
- 2. Visit a URL that does not exist and confirm you get a real 404, not a 200.
- 3. Submit any form on the site — exported forms post nowhere until you rewire them.
- 4. Only then move DNS, and keep the Framer plan active for one more cycle as a rollback.
Questions
›Can I host a Framer site on Cloudflare Pages for free?
Unmetered bandwidth on the free plan, with a cap on builds per month rather than on traffic — unusual among static hosts, and the reason high-traffic marketing sites land here.
›Do I need a build step to deploy a Framer export to Cloudflare Pages?
No. A Framer export is already built output, so the build command stays empty. Cloudflare Pages serves the files as they are.
›How do I point my own domain at Cloudflare Pages?
Custom domains tab. If the domain is already a Cloudflare zone the record is created for you; otherwise you add a CNAME to your-project.pages.dev.
›What usually goes wrong when deploying a Framer export to Cloudflare Pages?
Cloudflare's default cache will happily serve a stale index.html for hours after you redeploy. Ship the _headers file in the same deploy as your first upload, or your first content fix will look like it did not deploy at all.