Skip to main content
Deploy guide

Host a Framer site on Cloudflare Pages

Static hosting on Cloudflare's edge network, with unmetered bandwidth and the same DNS and caching controls as the rest of Cloudflare.

Deploy method
Wrangler CLI, or direct upload in the dashboard
Build step
None needed
Config file
_headers

Deploy it

Unzip the export first, so the commands below run from inside the folder that contains index.html.

Cloudflare Pages — deploy
npm i -g wrangler
cd my-framer-export
wrangler pages deploy . --project-name=my-site

Without 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.

_headers
/assets/*
  Cache-Control: public, max-age=31536000, immutable

/*.html
  Cache-Control: public, max-age=0, must-revalidate
The thing that breaks on 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.

Custom 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.

Best fit
Sites with real traffic, where bandwidth overage on a metered host would cost more than the export did.

Before you move the domain

  1. 1. Deploy to the host's own subdomain and open every page from the nav.
  2. 2. Visit a URL that does not exist and confirm you get a real 404, not a 200.
  3. 3. Submit any form on the site — exported forms post nowhere until you rewire them.
  4. 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.