Pages Functions reaches general availability

Cloudflare has announced that Pages Functions, the full-stack layer for its static site hosting platform, is now generally available. The feature has been in open beta since November 2021, and during that period the team has been refining the experience based on developer feedback.

Pages Functions are Cloudflare Workers under the hood, packaged to fit the Pages deployment model. That means developers can add dynamic behavior—like server-side rendering, storage access, and third-party service integration—to static sites without leaving the Pages workflow or learning a separate runtime model.

Deployment and debugging workflow

The core Pages deployment flow supports two paths for shipping Functions. You can add a JavaScript or TypeScript file to a functions directory and commit it to your Git provider; Cloudflare's CI system builds and deploys it along with static assets. Alternatively, you can build locally with your own tooling—useful if you use a git provider that isn't yet integrated with Pages—and upload the project directly.

For monitoring, Pages now offers log tailing for Functions. Through the Cloudflare dashboard, you can access basic request data like outcome and IP address. For more detailed inspection, you can pull a live feed of console and exception logs per request using the Wrangler CLI:

wrangler pages deployment tail

Dashboard metrics provide a project-level view of request success and error volumes, making it possible to track both usage trends and the health of deployed Functions at a glance.

BLOG-1467 Embedded Image - xJ6s4R

Ecosystem integrations

Storage and secrets bindings

Functions can bind to any of Cloudflare's storage products: Workers KV, Durable Objects, R2, D1, with Queues and Workers Analytics Engine support coming soon. Bindings are configured in the Pages dashboard by connecting an existing namespace, bucket, or database.

Alongside standard environment variables, Pages now supports secret bindings—encrypted values that aren't viewable through any dashboard interface. These are intended for sensitive data such as API tokens and passwords.

Pages Plugins and frameworks

For third-party integrations, Pages Plugins offer pre-built, composable runtime code that can be dropped anywhere in a Pages application. Plugins have full access to Workers capabilities, including middleware, parameterized routes, and static assets. Officially supported plugins cover Sentry, Honeycomb, Stytch, and MailChannels, among others.

Framework support continues to expand. Cloudflare has confirmed compatibility with Next.js 13 for applications using the Edge Runtime, bringing nested routing, React 18 Server Components, and streaming to Pages deployments. Other officially supported frameworks for full-stack Pages projects include Remix, SvelteKit, QwikCity, SolidStart, Astro, and Nuxt.

For developers migrating from Workers, Pages Functions offers an "advanced mode" that bypasses the file-based router. If you have an existing ES module Worker, you can add it as a _worker.js file in your project's output directory and deploy. This path is useful for complex use cases or framework authors who need direct control over request handling.

Production traffic and pricing

General availability lifts the constraints of the open beta period. Usage is now billed under the Workers Paid subscription or Workers Enterprise contract, and you can choose between the Bundled and Unbound usage models. Static asset requests remain free and unlimited; billing applies to dynamic Function invocations. The free tier of 100,000 requests per day is still available for trying out the service without a paid plan.

Developers can find documentation on Pages Functions, including setup guides and billing details, on the Cloudflare Pages docs site.