Cloudflare Pages
Put a folder of web files on a fast global network and hand out one link — public by default, and the only host here that can lock a link to named emails for free. Update once, everyone's on the latest.
Reach for it for a free home for a static site or docs that may take heavy traffic, or to fence a draft behind a few emails without paying. Skip it if you want a live URL before logging in — Netlify does that; Cloudflare makes you sign in first.
Last verified: 2026-06-07 · checked against developers.cloudflare.com · Confidence: high on Pages limits, gating mechanics, and the free static tier.
It allows you to
- Take the traffic. Bandwidth and requests on static files are uncapped even on free, so a link that goes viral costs you nothing.
[confirmed] - Fence a draft to named emails — free. One toggle and only the emails you list get through — the only host here that gates without a paid plan.
[confirmed](email gating) - Host many at once. Up to ~100 separate sites on one free account.
[confirmed] - The shared wins — one public link, no recipient account, update in place — are on the Deploy a website overview; below is what Cloudflare adds.
Ideal for
- A docs site that has to survive a traffic spike — Cloudflare's own developer docs run on Pages; the unlimited-bandwidth free tier is built for exactly the spike a metered host would bill you for. (docs migration)
- A draft a named group reviews, not the public — a funder-only program page or unannounced report: list the reviewers' emails, send the preview link, nobody else gets in and nobody pays for a seat.
- A public tool or microsite you don't want to babysit — a one-page calculator, a workshop schedule, an event landing page: put it up once, ignore the bill forever.
- A nonprofit or open-source project watching costs — Cloudflare runs free-credit programs for 501(c)(3)s and OSS on top of the free tier. (nonprofits, OSS)
Who can get in
- Public by default. Put it up and the
*.pages.devlink is open to anyone — no account on their side.[confirmed] - Gate to named emails — free. One toggle locks the throwaway preview links; locking the main address takes one more step. Both free under the reported seat tier — mechanics, seat counts, and pricing on the email gating page.
[confirmed] - Cut someone off. Remove their email and the next load is blocked. (A copy they already saved stays theirs — true everywhere.)
[estimate]
Which rungs it can hold. Of the five rungs, Pages holds the whole internet (the default site) and, via the access policy, named people and org-only. No quiet just-you rung: a published link is at least preview-gated. → Who can see it? [confirmed]
Handing data to the host. Your files sit on Cloudflare's network; it states it does not train AI on customer content (no opt-out to remember — no-training is the baseline). Region pinning (EU/UK) is Enterprise-only. → Can you trust the company? [confirmed]
What you do to set it up
Tell Claude Code, in the folder with your site:
Log me into Cloudflare (wrangler login), then deploy this folder to
Cloudflare Pages and give me the live URL.
Your agent runs wrangler login, hands you one browser approval, then wrangler pages deploy. Every share after that is one sentence, ~0 effort. To gate a draft, add: "then turn on the access policy and allow these emails." [confirmed]
- One-time, in order:
- Set up Claude Code — the thing that does the rest, ~10 min once.
- A free Cloudflare account — the one un-delegable step; sign up + confirm email, ~3 min once.
[estimate]
- The login is yours. Unlike Netlify, Cloudflare won't deploy before you authenticate —
wrangler loginis a one-click browser approval.[confirmed]- Rather click? Drag a built folder into the dashboard (Workers & Pages → Create application). The shared deploy walkthrough covers the agent flow.
What the other person does
For a public site, same as any deployed site — click, it runs, no account (overview). The Cloudflare addition is the gated case:
- Open a gated link: sign in with the email you allowed — Cloudflare sends a one-time code or uses their Google/GitHub login, ~1 min the first time. They must be on your list, or they're blocked.
[estimate]
Other ways to share
- Want a Google login wall on the public address, not just preview links? → a Gated website — same Cloudflare Access gate, holding named-people on the main site.
- Need a real backend — a database, logins, a running server? → Fly.io. Pages serves static files only.
- Want a live URL before creating any account? → Netlify deploys anonymously in ~30 sec. Weighing all the hosts → the Deploy a website overview.
Sources
- Cloudflare Pages limits — 500 builds/month, 1 concurrent build, 20,000 files/deploy, 25 MiB/file, ~100 projects/account
- Pages Functions pricing — "requests to static assets are free and unlimited"
- Direct upload / Wrangler —
wrangler loginrequired before deploy - Cloudflare developer docs on Pages — "move the Developer Docs to Cloudflare Pages"
- Cloudflare's data + AI stance — no training on customer content (see company entry)
- Email gating, seat counts, and Zero Trust pricing: see the email gating page
Good to know
- Where the caps bite: 500 builds/month, 1 build at a time, 20,000 files per upload, 25 MiB per file. A normal site never hits these; a huge asset folder or busy build pipeline can.
[confirmed] - The free email-gate is preview-only. Locking the public address takes one extra Zero Trust step — easy to assume the toggle does more than it does.
[confirmed](email gating) - Pricing changes — re-check builds and Zero Trust seats at cloudflare.com/plans before relying on a number.
[unclear]