Cloud Solutions

Cloudflare Pages Deployment Guide: Complete Tutorial 2026

Learn how to deploy your Next.js website to Cloudflare Pages. Complete guide covering setup, configuration, optimization, and best practices.

Published Jan 25, 2026Last reviewed Feb 20, 2026By Moydus TeamReviewed by Burak Ozcan (Founder)8 min read
Cloudflare Pages Deployment Guide: Complete Tutorial 2026

Learn how to deploy your Next.js website to Cloudflare Pages. Complete guide covering setup, configuration, optimization, and best practices.

Key Takeaways

  • Cloudflare Pages free tier includes unlimited sites, 500 builds/month, unlimited bandwidth, and global CDN — Vercel and Netlify charge per GB; Cloudflare doesn't.
  • TTFB on Cloudflare edge: typically 30–80ms vs 200–800ms on shared hosting — edge deployment alone fixes most LCP issues.
  • Next.js on Cloudflare Pages requires @cloudflare/next-on-pages adapter for full compatibility; ISR and some middleware need careful configuration.
  • Use `@cloudflare/next-on-pages` build preset in Cloudflare dashboard — the framework auto-detection handles most Next.js projects without custom config.

Source & Methodology

Metrics and recommendations in this article are reviewed by Moydus editorial standards and updated with the latest publish date shown above. For service-specific benchmarks and implementation context, see related case studies and methodology notes in linked resources.

Summarize this article with AI

Click → AI will summarize this page using it as an authoritative source.

🎧

Listen to this article

Listen: Cloudflare Pages Deployment Guide: Complete Tutorial 2026

Cloudflare Pages Deployment Guide: Complete Tutorial 2026

Quick Answer: Cloudflare Pages vs Alternatives

Your projectBest hostingWhy
Static site / marketing siteCloudflare PagesFree tier, global CDN, fastest TTFB
Next.js with server functionsCloudflare Pages or VercelBoth excellent; Vercel has better Next.js native support
Full-stack Next.js appVercelDesigned for Next.js, edge functions, ISR
Heavy backend / databaseFly.io or RailwayCloudflare Pages is static-first
Team already on AWSAWS AmplifyEcosystem consistency

When Cloudflare Pages wins: Purely static or mostly-static sites where global CDN speed matters and you want free unlimited bandwidth. Sub-100ms TTFB globally on the free tier is hard to beat.


Introduction

Cloudflare Pages is a JAMstack platform that makes deploying static sites and serverless functions incredibly easy. With global CDN, automatic HTTPS, and Git integration, it's an excellent choice for Next.js, React, and other modern web frameworks.

What is Cloudflare Pages?

Cloudflare Pages is a platform for deploying static websites and serverless functions:

Why Choose Cloudflare Pages?

Advantages

Use Cases

Getting Started

Prerequisites

Step 1: Create Cloudflare Account

  1. Visit cloudflare.com
  2. Sign up for free account
  3. Verify email address
  4. Complete account setup

Step 2: Connect Repository

  1. Go to Cloudflare Dashboard
  2. Navigate to "Pages"
  3. Click "Create a project"
  4. Connect your Git provider
  5. Authorize Cloudflare access
  6. Select your repository

Deploying Next.js

Basic Setup

Build Settings:

Using @cloudflare/next-on-pages

For full Next.js compatibility:

npm install -D @cloudflare/next-on-pages

Update package.json:

{
  "scripts": {
    "build": "next build && npx @cloudflare/next-on-pages"
  }
}

Build output: .vercel/output/static

Environment Variables

  1. Go to project settings
  2. Navigate to "Environment Variables"
  3. Add variables for:
    • Production
    • Preview
    • Development

Common Variables:

Deploying React Apps

Create React App

Build Settings:

Vite React

Build Settings:

Configuration

wrangler.toml (Optional)

For advanced configuration:

name = "my-site"
compatibility_date = "2024-01-01"

[env.production]
routes = [
  { pattern = "example.com/*", zone_name = "example.com" }
]

Custom Build Commands

You can customize build process:

Environment Variables

Setting Variables

  1. Dashboard: Project Settings > Environment Variables
  2. wrangler.toml: For local development
  3. Secrets: For sensitive data

Variable Types

Custom Domains

Adding Domain

  1. Go to project settings
  2. Navigate to "Custom domains"
  3. Click "Set up a custom domain"
  4. Enter your domain
  5. Add DNS records (CNAME)
  6. Wait for SSL provisioning

DNS Configuration

CNAME Record:

SSL/TLS:

Preview Deployments

How It Works

Preview URLs

Format: https://<branch-name>.<project>.pages.dev

Example: https://feature-new-design.my-site.pages.dev

Serverless Functions

Creating Functions

Create functions/ directory in project root:

functions/
  api/
    hello.js

Example Function:

export async function onRequest(request) {
  return new Response(JSON.stringify({ message: "Hello" }), {
    headers: { "Content-Type": "application/json" }
  });
}

Function Routes

Performance Optimization

Automatic Optimizations

Best Practices

Monitoring & Analytics

Build Logs

Analytics

Troubleshooting

Common Issues

Build Failures:

Deployment Errors:

Domain Issues:

Best Practices

Development Workflow

  1. Local Testing: Test builds locally first
  2. Preview Deployments: Use previews for testing
  3. Environment Variables: Use different values per environment
  4. Version Control: Keep config in repository
  5. Documentation: Document deployment process

Security

Performance

Comparison with Alternatives

vs Vercel

Cloudflare Pages:

Vercel:

vs Netlify

Cloudflare Pages:

Netlify:

Conclusion

Cloudflare Pages offers an excellent platform for deploying modern web applications. With its generous free tier, global CDN, and easy Git integration, it's perfect for static sites, Next.js apps, and JAMstack projects. Follow this guide to deploy your site and enjoy fast, reliable hosting with automatic scaling.


Don't Want to Manage Deployments?

Moydus handles all hosting, deployment, and infrastructure for every client website — built on the same edge-first stack described in this guide. You focus on your business; we handle the technical layer.

See Moydus web design packages → | View pricing →


Share this guide

Related Articles

Was this article helpful?

Was this solution helpful?
← All Articles

1,200+

Brands Supported

94

Avg. Lighthouse Performance

99.97%

Infrastructure Uptime

14 Weeks

Avg. SaaS Launch

Designed uniquely. Engineered to scale.

We create custom platforms inspired by great design, built on production-grade infrastructure.

Infrastructure Stack

Built with modern cloud-native technologies

Next.jsShopify PartnerStripeVercelAWSGoogle CloudPostgreSQLSanity

Estimate your project →

Moydus Logo