Cloudflare Pages
Git-connected hosting for static and full-stack sites: every push is built and deployed to Cloudflare’s CDN with its own preview URL, and a functions/ folder becomes Workers behind the site. Cloudflare now tells new projects to use Workers instead.
- What it is
- CDNs
- Used for
- CI/CD pipelines
- Type
- Commercial product
- Made by
- Cloudflare, Inc.
- License
- Proprietary
- Facts checked
- 12 October 2026
What it is
You connect a GitHub or GitLab repository, pick a framework preset or build command, and Pages builds every push (up to 20 minutes per build, 500 builds a month on the Free plan) and uploads the output to Cloudflare’s network. The production branch updates <project>.pages.dev and any custom domains; every other branch and pull request gets its own preview URL, posted back to the pull request, and any deployment can be rolled back instantly. Assets stay in the CDN cache, including Tiered Cache, until the next deployment, and requests for them are free and unlimited. _headers and _redirects files set headers and up to 2,100 redirects without code, and a missing top-level 404.html turns on single-page-app routing.
Pages Functions add a backend: a file such as functions/api/users/[id].ts exporting onRequest becomes a route, running as a Worker with the same bindings to KV, D1, R2 and Workers AI and billed as Workers requests. The catch is strategic. Since Workers gained free static assets, framework support and Git builds in 2024 and 2025, Cloudflare has said Pages “will continue to be supported” but that all its investment and feature work goes to Workers; the Pages docs open with “Start new projects with Workers” and link a migration guide.
Why teams pick it
- Git push to deploy with no CI to configure: builds, status checks and a preview URL for every branch and pull request
- Static asset requests are free and unlimited, served from Cloudflare’s cache until the next deploy
- Unlimited preview deployments and instant rollbacks to any earlier production deployment
- Custom domains can live outside Cloudflare-managed zones (via CNAME), which Workers doesn’t support
Watch out for
- No new features: Cloudflare puts its investment into Workers, which already has things Pages lacks, such as gradual deployments, Cron Triggers, queue consumers, Workers Logs and the Vite plugin
- Durable Objects need a separate Worker, and Functions can’t consume queues or use Cron Triggers
- 25 MiB per file, 20,000 files per site on Free (100,000 on paid plans) and 100 projects per account, rarely increased
- Builds time out after 20 minutes, and the Free plan runs one build at a time
Alternatives
What all cdns have in common →How it fits with other technologies
A Pages Function: functions/api/users/[id].ts becomes /api/users/:id · ts
interface Env {
USERS: KVNamespace; // binding set in the Pages project settings or wrangler config
}
export const onRequestGet: PagesFunction<Env> = async (context) => {
const id = context.params.id as string;
const user = await context.env.USERS.get(`user:${id}`, "json");
if (!user) return new Response("Not found", { status: 404 });
return Response.json(user);
};See it in a real stack
No architecture uses Cloudflare Pages yet. Drop it into the playground and wire it up yourself.Open playground →Where it came from2020–2025
In 2020, a frontend developer who wanted a site online had to stitch together hosting and a CI system configured in YAML, waiting minutes per build and rerunning the same build hoping for a different result. On December 17, 2020, Rita Kozlov announced Cloudflare Pages as “a fast, secure and free way to build and host your JAMstack sites”: select a repository and framework, git push, and Cloudflare builds and deploys to its network, with a unique preview URL for each commit and unlimited collaborators for free. It became generally available on April 12, 2021, after thousands of developers deployed over ten thousand projects in the beta.
The launch post already promised a backend built on Workers. Pages Functions followed in November 2021, routing files in a functions/ folder to what are, in Cloudflare’s words, Workers “in disguise”, and became generally available in November 2022. But the two products kept growing into each other, and in May 2023 Cloudflare announced it would converge Pages and Workers to end the “decision paralysis” of choosing between them.
The convergence happened inside Workers. Static assets on Workers entered beta in September 2024, and in April 2025 Cloudflare added _headers and _redirects, Git builds and preview URLs to Workers, telling developers to start with Workers: Pages would stay supported, but new investment would go to Workers. The Pages docs now carry the same advice and a migration guide.
Why it’s built this way
- Tie deployment to Git
- Instead of asking frontend developers to configure CI, Pages builds and deploys on every push, so their existing workflow is the deployment pipeline.
- A preview URL for every commit
- Reviewers, designers and product managers can look at a running version of a change without pulling the branch and running it locally.
- Functions as Workers in disguise
- Rather than build a second compute platform, Pages reused Workers for its backend, so Functions get the same runtime, scale and bindings.
Timeline
- 2020
Announced on December 17 as free Jamstack hosting with Git builds and preview URLs
- 2021
Generally available on April 12
- 2021
Pages goes full stack with Functions (beta) and GitLab support in November
- 2022
Pages Functions generally available in November
- 2023
Cloudflare announces Pages and Workers will converge, in May
- 2025
Workers gains Pages’ features; Cloudflare says to start new projects on Workers
- Cloudflare Blog: Introducing Cloudflare Pages: the best way to build JAMstack websites (Dec 2020)
- Cloudflare Blog: Cloudflare Pages is now Generally Available (Apr 2021)
- Cloudflare Blog: Cloudflare Pages Goes Full Stack (Nov 2021)
- Cloudflare Blog: Spice up your sites on Cloudflare Pages with Pages Functions General Availability (Nov 2022)
- Cloudflare Blog: Bringing a unified developer experience to Cloudflare Workers and Pages (May 2023)
- Cloudflare Blog: Your frontend, backend, and database, now in one Cloudflare Worker (Apr 2025)
Sources10 · facts checked 12 October 2026
- Cloudflare Pages docs: Overview (“Start new projects with Workers”)
- Cloudflare Workers docs: Migrate from Pages to Workers (compatibility matrix)
- Cloudflare Blog: Your frontend, backend, and database, now in one Cloudflare Worker (Pages stays supported, investment goes to Workers; Apr 2025)
- Cloudflare Pages docs: Git integration
- Cloudflare Pages docs: Preview deployments
- Cloudflare Pages docs: Serving Pages (caching, SPA routing)
- Cloudflare Pages docs: Functions routing
- Cloudflare Pages docs: Functions API reference
- Cloudflare Pages docs: Functions pricing (static requests free)
- Cloudflare Pages docs: Limits
