Skip to content
Cloudflare Docs logomark
Cloudflare
Docs
Pages
Navigation menu icon
Open external link
Cloudflare Docs logomark
Cloudflare
Docs
Pages
Dropdown icon
Pages menu
Pages home
Announcement blog post
First look at Cloudflare Pages (video)
Overview
Expand: Get started
Get started
C3
Direct Upload
Git integration
Expand: Framework guides
Framework guides
Analog
Angular
Astro
Blazor
Brunch
Docusaurus
Elder.js
Eleventy
Ember
Gatsby
Gridsome
Hexo
Hono
Hugo
Jekyll
MkDocs
Expand: Next.js
Next.js
Full-stack deployment
Static deployment
Nuxt
Pelican
Preact
Qwik
React
Remix
Solid
Sphinx
Static HTML
Svelte
Vite 3
VitePress
Vue
Zola
Expand: Migration guides
Migration guides
Migrating a Jekyll-based site from GitHub Pages
Migrating from Firebase
Migrating from Netlify to Pages
Migrating from Vercel to Pages
Migrating from Workers Sites to Pages
Expand: Configuration
Configuration
Branch deployment controls
Build caching
Build configuration
Build watch paths
Custom domains
Debugging Pages
Deploy Hooks
Early Hints
Git integration
Headers
Language support and tools
Monorepos
Preview deployments
Redirects
REST API
Rollbacks
Serving Pages
Expand: Functions
Functions
Get started
Routing
API reference
Expand: Examples
Examples
A/B testing with middleware
Adding CORS headers
Middleware
Configuration
Local development
Bindings
TypeScript
Advanced mode
Expand: Pages Plugins
Pages Plugins
Cloudflare Access
Google Chat
GraphQL
hCaptcha
Honeycomb
Sentry
Static Forms
Stytch
Turnstile
Community Plugins
vercel/og
Metrics
Debugging and logging
Pricing
Module support
Smart Placement (beta)
Source maps and stack traces
Expand: Tutorials
Tutorials
Add a React form with Formspree
Add an HTML form with Formspree
Build a blog using Nuxt.js and Sanity.io on Cloudflare Pages
Build an API for your front end using Pages Functions
Create a HTML form
Localize a website with HTMLRewriter
Expand: How to
How to
Add a custom domain to a branch
Add custom HTTP headers
Deploy a static WordPress site
Enable Web Analytics
Enable Zaraz
Install private packages
Preview Local Projects with Cloudflare Tunnel
Redirecting *.pages.dev to a Custom Domain
Redirecting www to domain apex
Refactor a Worker to a Pages Function
Set build commands per branch
Use Direct Upload with continuous integration
Use Pages Functions for A/B testing
Expand: Platform
Platform
Limits
Choose a data or storage product
External link icon
Open external link
Changelog
Known issues
Edit
Edit this page
Issue
Report an issue with this page
Log in
Log into the Cloudflare dashboard
Search icon (depiction of a magnifying glass)
Light theme icon (depiction of a sun)
Dark theme icon (depiction of a moon)
Set theme to dark (⇧+D)
Products
Pages
Functions
Examples
Functions examples
A/B testing with middleware
Adding CORS headers