Cloudflare Pages
Cloudflare's static + functions hosting. Built on Workers. Fast global CDN, fair pricing, generous free tier.
Mindmap
The plain-English version
Cloudflare Pages is a hosting platform for static sites and JAMstack apps with serverless functions. It's built on top of Cloudflare Workers (the edge runtime) and the same global CDN that serves much of the internet. Connect a git repo, push, deploy.
The problem it solves
Cloudflare's pitch is performance (every deploy is global out of the box), cost (the free tier is enormous, paid scaling is cheap), and integration (the same dashboard has DNS, R2 storage, D1 database, queues). For a non-Next-specific deploy, it's compelling.
Alternatives
| Alternative | Type | When it wins |
|---|---|---|
| Vercel | platform | The Next.js platform of record. Tightest integration with Next, expensive at scale, fastest dev iteration. |
| AWS | cloud | The largest cloud. Every primitive you'll ever need, plus a punishing bill if you're not careful. |
Deep links
The words you'll hear
- Workers
- The edge runtime. V8 isolates instead of containers. Sub-millisecond cold start.
- R2
- Cloudflare's S3-compatible object storage. No egress fees.
- D1
- Cloudflare's SQLite-based edge database.
- KV
- Cloudflare's key-value store.
- Wrangler
- The CLI:
wrangler pages deploy,wrangler dev. - Preview deployments
- Each PR gets a unique URL automatically.
Bad vs. good prompt for Cloudflare Pages
Why it works: Specifies the adapter (Next on Pages has its own quirks), the domain config, and prompts about feature parity gaps with Vercel — the actual gotchas.
What bites real teams
Free tier has tight limits on bundle size. Heavy npm dependencies blow them. Ship small, lazy-load on the client when needed.
Workers don't have all Node APIs. fs, net, child_process aren't there. Some libraries assume them.
Workers basically don't have cold starts — but if you're benchmarking against Vercel/Lambda thinking you'll see the same characteristic, you'll be confused.