What is Cloudflare Pages? Deploy websites from Git, free plan limits, and moving to Workers

November 5, 2026 Le Quoc NghiaGuide
What is Cloudflare Pages? Deploy websites from Git, free plan limits, and moving to Workers

What is Cloudflare Pages?

Cloudflare Pages is Cloudflare's platform for deploying web applications to the company's global network: you connect a Git repository (GitHub or GitLab), upload pre-built artifacts directly (Direct Upload), or use a command-line tool, and Pages automatically builds, releases, and creates previews for each branch; server-side code runs via Pages Functions. Pages is available on all plans; the Free plan, according to Cloudflare (as of 24/10/2026), allows 500 builds per month, free static file requirements, and unlimited requests. However, the documentation also recommends that new projects should start with Workers, and provides a guide for migrating from Pages to Workers.

This post covers: 1) how to deploy from Git; 2) limits by plan; 3) how Functions pricing works; 4) when to choose Pages or Workers; 5) OPCAIOS's experience. For example, a static blog exported from Next.js or Hugo can run on Pages at nearly zero distribution cost.

Cloudflare Pages diagram: Git repository, build, preview, production, Functions priced like Workers, Free plan limits, and recommendation to start new projects with Workers
Pages deploys from Git and serves static files for free; new projects are recommended to start with Workers. Diagram: OPCAIOS.

What is Cloudflare Pages?

Cloudflare Pages is a platform for deploying full-stack applications to Cloudflare's global network, available on all plans, according to Cloudflare (as of 24/10/2026). There are three ways to deploy: 1) connect a Git provider; 2) upload pre-built artifacts via Direct Upload; 3) use the C3 command-line tool. Server-side code runs via Pages Functions, with no separate server needed, and you can roll back to a previous production version instantly. Cloudflare's documentation includes guides for frameworks like React, Hugo, and static-exported Next.js. For example, a business website written in Hugo is first pushed to GitHub, then Pages builds it automatically, and releases it each time there's a new commit to the production branch. Pages sits within Cloudflare's ecosystem; if you're new to the company, see first What is Cloudflare?. For new projects, the documentation recommends starting with Workers, so the comparison between Pages and Workers below is important.

How does Git deployment work?

Git deployment is how Pages automatically builds and releases each time you push code, and according to Cloudflare (as of 24/10/2026) consists of four steps.

  • Step 1: go to Workers & Pages in the dashboard, choose to create a Pages application, and connect Git.
  • Step 2: choose GitHub or GitLab, log in, select your repository (public or private), then install and grant permissions.
  • Step 3: set the project name (which determines the hostname), production branch (usually main or master), build command and output directory (pre-configured by framework), root directory for monorepos, and environment variables.
  • Step 4: click save and deploy; the build log shows progress.

After connecting, pushing code to the production branch deploys the production version, while other branches create previews and pull requests get updated with preview links. You can limit who sees previews using Access policies. For example, the feature-banner branch has its own preview link for colleagues to review before merging into main. For repositories, see What is GitHub?.

What are the Cloudflare Pages limits by plan?

Cloudflare Pages limits are thresholds that vary by Free, Pro, and Business plans, according to Cloudflare (as of 24/10/2026).

  • Free plan: 500 builds per month, 1 concurrent build, 100 custom domains per project, 20,000 files per site.
  • Pro plan: 5,000 builds, 5 concurrent builds, 250 domains, 100,000 files.
  • Business plan: 20,000 builds, 20 concurrent builds, 500 domains, 100,000 files.
  • Common limits: maximum build time 20 minutes; each asset file maximum 25 MiB; 100 projects per account; new projects are limited for the first 48 hours.

For example, a site with 30,000 files exceeds the Free plan limit and needs a paid plan. One important restriction: a project with integrated Git cannot be switched to Direct Upload later. Files larger than 25 MiB should be kept in R2. Finally, paid plans need the PAGES_WRANGLER_MAJOR_VERSION=4 environment variable set for higher file limits.

How Does Pages Functions Charge?

Pages Functions is the server-side code part of Pages, and charges like Workers, according to Cloudflare (read on 10/24/2026), through three rules.

  • First, on the Free plan, Functions fall within the Workers Free limit of 100,000 requests per day, reset at midnight UTC.
  • Next, on paid plans, Functions count toward the Workers Paid limit, including calls to KV or Durable Objects.
  • Finally, static file requests are free and unlimited on both plans; a request is counted as static when it does not call Functions.

So static sites like landing pages, documentation, or static blogs cost almost nothing to distribute, and each request to Functions is counted like a Workers request. For example, a static blog receiving thousands of views each day still only creates static file requests, while a form calling Functions counts toward the 100,000 request limit. OPCAIOS has not read the detailed Workers Paid pricing so I'm not mentioning overage fees.

Pages or Workers: What Should You Choose?

Workers is the Cloudflare platform recommended for new projects, according to Cloudflare (read on 10/24/2026), because Workers supports most Pages use cases and has a broader feature set. Pages still works and has an official migration guide. The selection suggestion has three branches. First, if a site is running well on Pages and doesn't need new features, you can keep it. Next, new projects should start with Workers. Finally, if you need a domain outside Cloudflare, review the limitations before migrating, because Workers only supports domains with nameservers managed by Cloudflare. The costs are similar: static files are free on both, Functions charge at Workers pricing. For example, a site needing Cron Triggers or Gradual Deployments must use Workers, because Pages has neither Cron Triggers nor Gradual Deployments. The migration steps include creating a Wrangler config file, replacing pages_build_output_dir with an assets directory, and converting functions/ or _worker.js into a Worker.

Main Differences Between Workers and Pages

The Pages documentation directly states that Workers supports most Pages use cases and has a broader feature set, and recommends starting new projects with Workers. According to the official migration guide, some main differences:

Feature Workers Pages
Gradual Deployments Yes No
Cloudflare Vite Plugin Yes No
Workers Logs, Logpush, Tail Workers Yes No
Cron Triggers Yes No
Durable Objects Yes Need separate Worker
Domain outside Cloudflare No Yes
File-based routing Need framework or build step Yes
Deploy control by branch Partial Yes

The migration steps also include setting up 404 error handling for single-page applications and setting run_worker_first if you need to run the Worker before assets (for example checking login). The _headers and _redirects files still work.

Compared to Vercel and Self-Hosting on VPS

Criteria Cloudflare Pages Vercel Self-Hosted VPS
Deploy from Git, preview Yes Yes Build your own workflow
Static files Free, unlimited By plan and usage By machine resources
Server-side code Functions (charged like Workers) Functions Run separate process
Infrastructure control Low Low Full control

See also What is Vercel?, What is VPS?, and What is Nginx?. The comparison table is a general description based on each party's documentation, not measurements.

OPCAIOS's Experience

OPCAIOS uses Cloudflare as a distribution and protection layer in front of a private server, while the main website runs Next.js on a VPS behind nginx. To our current knowledge there is no production project running on Cloudflare Pages, so this post is based on official documentation rather than our own actual measurements; we also haven't tried the Pages-to-Workers migration process. From experience putting Cloudflare in front of nginx, one general note: if you use Pages for static sites and VPS for APIs, clearly separate subdomains and check the caching policy for each part.

Frequently Asked Questions

What is Cloudflare Pages?

It's Cloudflare's platform to deploy websites and web applications from Git, Direct Upload, or command line, with preview for each branch and Functions for server-side code.

Is Cloudflare Pages free?

Yes, on the Free plan: 500 builds per month, static file requests are free and unlimited; Functions count toward the 100,000 requests per day limit of Workers Free.

Should new projects use Pages or Workers?

According to official documentation, you should start new projects with Workers; Pages still works and there are guides for migrating to Workers.

Can you switch a Git project to Direct Upload?

No. Projects already integrated with Git cannot switch to Direct Upload; you can disable automatic deployment and use Wrangler instead.

What is the file size limit?

Cloudflare Pages' file size limit is 25 MiB per asset, according to Cloudflare (checked 24/10/2026). Larger files should be stored in R2, Cloudflare's object storage service. Beyond size, there are three other limits to remember. First, the number of files per site is 20,000 on the Free plan and 100,000 on paid plans. Next, maximum build time is 20 minutes. Finally, the _headers file has a maximum of 100 rules, while _redirects allows maximum 2,000 static redirects and 100 dynamic redirects. For example, a 200 MiB video cannot be placed directly as a site asset but needs to be stored in R2 and then linked. Limits may change, so check the official page again. Want to learn how to deploy websites and automate safely, see OPCAIOS's AI application training course.

Source: developers.cloudflare.com (Pages overview, Git integration, Limits, Functions pricing, guide to migrate from Pages to Workers), checked directly on 24/10/2026. Limits and recommendations change over time; we haven't reviewed Workers Paid pricing in detail. Experience is from OPCAIOS.

Translated from Vietnamese with AI. Read the original.

Want to apply this in your business?

Book a free 30-minute call (Vietnam time, in English or Vietnamese).

Book a call