Cloudflare Pages · Managed platform

Last updated · Written by Temps, one of the products compared. Sources and method

Temps vs Cloudflare Pages

Full-stack apps on your own server, without an edge runtime

Monthly cost at a glance

Temps
Cloudflare Pages
Static site
$0+
$0
Next.js with server rendering
$0+
$5/mo Workers Paid
More than 500 builds/mo
No build quota
$20/mo Cloudflare Pro
Full-stack + Postgres + observability
Free
$5 Workers+
$curl -fsSL https://temps.sh/deploy.sh | bash

The short answer

Is Temps better than Cloudflare Pages? It depends on what you need. Here is what each one is, and what Cloudflare Pages has that Temps doesn't.

Cloudflare Pages
Cloudflare Pages serves static sites free from Cloudflare's network in 300+ cities, with 500 builds a month on the free plan and DDoS protection included. Server code runs on Workers, and Cloudflare now recommends starting new projects on Workers rather than Pages.
Temps
Temps runs standard containers on your own server, with the database on the same machine and error tracking, session replay, analytics and uptime monitoring in the binary. Next.js runs as a normal Node.js server with no adapter and no per-request CPU limit.
What Cloudflare has that Temps doesn't
A global CDN and edge runtime, DDoS protection and a WAF on the same network, and a free tier that needs no server at all. Temps has no global edge network.

Scored, dimension by dimension

  • Static site hosting

    Cloudflare Pages

    Temps

    Works, but no global CDN

    Cloudflare Pages

    Free, 300+ cities, unlimited requests

  • Full-stack app + Postgres + observability

    Temps

    Temps

    Free + your server

    Cloudflare Pages

    Workers $5/mo + external Postgres + ~$211/mo of tools

  • Runtime model

    Temps

    Temps

    Node.js server in a container, any process

    Cloudflare Pages

    Workers isolates: 30 s CPU default (up to 5 min), 128 MB

  • DDoS protection and WAF

    Cloudflare Pages

    Temps

    Yours to configure

    Cloudflare Pages

    Included in the network

  • Built-in observability

    Temps

    Temps

    Analytics, errors, replay, uptime

    Cloudflare Pages

    Web Analytics; rest is third-party

Why teams switch from Cloudflare Pages

Cloudflare Pages wins for static sites: a global network, a generous free plan and no server to run. Temps is for full-stack apps that want a normal Node.js runtime, a database on the same machine and observability included. On Cloudflare that stack is Workers ($5/month minimum), an external Postgres provider and third-party error tracking and replay; on Temps it is one server.

Next.js as a Node.js server
On Cloudflare, Next.js runs on Workers through an adapter: vinext, a Vite plugin that reimplements the Next.js API and is Cloudflare's default (in beta), or OpenNext for existing apps. The older @cloudflare/next-on-pages adapter is deprecated. Temps runs Next.js as a Node.js server in a container, so App Router, ISR, Middleware and Node.js APIs behave as they do on any Node.js host.
500 builds a month free, then a plan upgrade
The free plan allows 500 builds a month (each up to 20 minutes, one at a time); Cloudflare Pro ($20/month billed annually, $25 monthly) raises it to 5,000 and Business to 20,000. Server-side code is billed as Workers: $5/month minimum with 10M requests included. Temps has no build quota or request meter; builds run on your server.
Standard APIs instead of platform bindings
Full-stack apps on Cloudflare tend to adopt Workers bindings such as D1, KV, R2 and Durable Objects. Temps uses standard PostgreSQL, Redis and S3-compatible storage on any server, so the app moves elsewhere without rewrites.
Managed databases included
Cloudflare has no managed PostgreSQL (D1 is SQLite), so full-stack apps usually connect to an external provider such as Neon or Supabase. Temps includes managed PostgreSQL with HA, Redis and S3-compatible storage on your own server.

Feature comparison

What each platform includes out of the box, and what needs a separate subscription.

  • Git push deployments

    Temps

    Yes

    Cloudflare Pages

    Yes
  • Preview deployments

    Temps

    Yes

    Cloudflare Pages

    Yes
    Per branch, automatic
  • Automatic SSL

    Temps

    Yes

    Cloudflare Pages

    Yes
  • Custom domains

    Temps

    Yes

    Cloudflare Pages

    Yes
    100/250/500 per project (Free/Pro/Business)
  • Builds

    Temps

    No quota (your server)

    Cloudflare Pages

    500/mo free; 5,000 on Pro ($20–25/mo)
    20-minute build timeout
  • Docker support

    Temps

    Yes

    Cloudflare Pages

    No
    Cloudflare Containers exist, attached to Workers and usage-billed
  • Next.js App Router

    Temps

    Yes
    Node.js server in a container, no adapter

    Cloudflare Pages

    Yes
    On Workers via vinext (beta, default) or OpenNext
  • ISR (Incremental Static Regeneration)

    Temps

    Yes
    Native Next.js behaviour

    Cloudflare Pages

    Yes
    Supported by vinext and OpenNext through their caches
  • Node.js runtime

    Temps

    Yes
    Full Node.js

    Cloudflare Pages

    Partial
    Workers Node.js compatibility; OpenNext does not yet run Node.js Middleware
  • Managed PostgreSQL

    Temps

    Yes
    HA clusters included

    Cloudflare Pages

    No
    External provider (Neon, Supabase, etc.); D1 is SQLite
  • Managed Redis

    Temps

    Yes
    Included

    Cloudflare Pages

    No
    External (e.g. Upstash); KV is a different model
  • S3-compatible storage

    Temps

    Yes
    Built-in (RustFS; legacy MinIO supported)

    Cloudflare Pages

    Yes
    R2 (S3-compatible API)
  • Error tracking

    Temps

    Yes
    Sentry-compatible

    Cloudflare Pages

    No
    Third-party required
  • Web analytics

    Temps

    Yes
    First-party events, funnels, Web Vitals

    Cloudflare Pages

    Yes
    Cloudflare Web Analytics
  • Session replay

    Temps

    Yes
    Built-in

    Cloudflare Pages

    No
  • Uptime monitoring

    Temps

    Yes
    Built-in checks + alerting

    Cloudflare Pages

    No
  • Long-running processes and cron

    Temps

    Yes
    Long-running containers, cron in .temps.yaml

    Cloudflare Pages

    Limited
    Cron Triggers up to 15 min; no always-on processes
  • Self-hosted option

    Temps

    Yes

    Cloudflare Pages

    No
  • Global edge network

    Temps

    No
    Runs where your servers are

    Cloudflare Pages

    Yes
    300+ cities
  • DDoS protection & WAF

    Temps

    No

    Cloudflare Pages

    Yes
    Included via Cloudflare network

What it actually costs

For static sites, Cloudflare Pages' free plan is hard to beat: 500 builds a month, unlimited requests and a global network. A full-stack app adds Workers Paid ($5/month minimum, 10M requests included), an external PostgreSQL provider, and third-party error tracking and replay: Sentry Team, Plausible and LogRocket come to about $211/month. Self-hosted Temps runs the same app, its database and that observability on the server you pay for. The free-plan limits in detail are in the Cloudflare Pages free tier guide under Further reading.

ScenarioTempsCloudflare Pages
Static site$0 + your server$0 (500 builds/mo, unlimited requests)
Next.js with server rendering$0 + your server$5/mo Workers Paid (10M requests) + usage
More than 500 builds/moNo build quota$20/mo Cloudflare Pro (annual) for 5,000
Full-stack + Postgres + observabilityFree (included) + your server$5 Workers + external Postgres + ~$211 of tools

Cloudflare Pages prices as of October 2026, from its published pricing page. Temps prices from /pricing.

Next.js on Cloudflare Pages: what you need to know

Next.js on Cloudflare Pages works, but with constraints. Here's what trips up teams making the switch.

vinext is Cloudflare's default for Next.js (in beta)

Cloudflare's Next.js guide now recommends vinext, a Vite plugin that reimplements the Next.js API surface, as the default way to run Next.js on Workers. It lists ISR as supported. Because it is a reimplementation in beta, check that the Next.js features you rely on are covered before moving a production app.

OpenNext for existing apps

@opennextjs/cloudflare runs Next.js on Workers using Next.js' Node.js runtime and supports ISR through its own cache. Cloudflare positions it for maintaining existing apps and suggests migrating to vinext when compatibility allows. Middleware that needs the Node.js runtime is not supported yet.

next-on-pages is deprecated

@cloudflare/next-on-pages, the adapter older guides use with `wrangler pages deploy`, is deprecated and its repository archived. It only supported the Edge runtime, so apps still on it are the ones with no Node.js APIs and no native ISR.

Workers limits still apply

Whichever adapter you use, server code runs in Workers isolates: 128 MB of memory, and on the paid plan 30 seconds of CPU per request by default, configurable up to 5 minutes (10 ms on the free plan). Cron Triggers run up to 15 minutes. Work that needs an always-on process or more memory goes to Cloudflare Containers or another service.

Which one should you choose?

Choose Temps if you…

  • You're building full-stack apps with a database and background work
  • You want Next.js running as a normal Node.js server, without an adapter or Workers limits
  • You want error tracking, session replay and analytics built in
  • You want managed PostgreSQL on the same server instead of an external provider
  • You want to self-host to keep data in a jurisdiction you choose
  • You'd rather not adopt Workers-specific bindings such as D1, KV and Durable Objects

What Cloudflare Pages does better than Temps

  • You're deploying static or JAMstack sites with little server-side logic
  • You want global edge delivery across 300+ cities with zero config
  • You need Cloudflare's built-in DDoS protection and WAF
  • You want serverless with no infrastructure to manage
  • You're already deep in the Cloudflare ecosystem (Workers, R2, D1, KV)
  • You want infrastructure run by a major network: Temps is pre-1.0 (v0.1.0 prereleases) and runs only where you put it

Migrating from Cloudflare Pages

Medium difficulty

Difficulty depends on how much of Cloudflare's runtime you use. Static sites move fastest: point Temps at the same repository and build command. Next.js apps built with vinext or OpenNext usually run unchanged as a Node.js server, once Workers-specific bindings are replaced. D1 (SQLite) data needs moving to PostgreSQL or another database, KV and R2 calls map to Redis and S3-compatible storage, and Durable Objects have no direct equivalent. Keep Cloudflare in front as DNS, CDN and WAF if you want its network.

Cloudflare Pages alternatives, compared

When to migrate away from Cloudflare Pages

Switch when…Details
Workers usage grows past the included allowanceWorkers Paid includes 10M requests and 30M CPU-milliseconds a month for $5; beyond that you pay per million requests and per CPU-millisecond. On Temps the same traffic costs whatever your server costs.
You need the full Node.js runtimevinext reimplements the Next.js API and is in beta; OpenNext does not yet run Node.js Middleware; Workers isolates cap memory at 128 MB. On Temps the app runs as a Node.js server with the server's resources.
You need managed PostgreSQLCloudflare has no native Postgres, so the database lives with another provider and every query crosses a network. Temps runs managed PostgreSQL with HA next to the app.
Builds exceed 500 a month on the free planEach deploy counts as one build, up to 20 minutes, one at a time. Cloudflare Pro ($20/month billed annually, $25 monthly) raises the limit to 5,000 and 5 concurrent builds. Self-hosted Temps has no build quota; builds run on your server.
You need long-running jobsWorkers requests default to 30 seconds of CPU (up to 5 minutes on the paid plan), and Cron Triggers run up to 15 minutes. Video processing, queues and other always-on work need another service. Temps runs long-lived containers and cron jobs on your server.
Your team needs full observabilityCloudflare Web Analytics covers traffic. Error tracking, session replay and uptime monitoring are third-party: Sentry Team, Plausible and LogRocket come to about $211/month. Temps includes them.

Frequently asked questions

What are the Cloudflare Pages free tier limits in 2026?

On the free plan Cloudflare Pages allows 500 builds a month (each up to 20 minutes, one at a time), 100 custom domains per project, 20,000 files per site with a 25 MiB maximum file size, and unlimited static requests and bandwidth. Server-side code runs on Workers, whose free plan allows 100,000 requests a day with 10 ms of CPU each. There is no managed PostgreSQL on any plan.

Are Cloudflare Pages limits build minutes or builds?

Builds. The free plan allows 500 builds a month, Pro 5,000 and Business 20,000, and each build can run for up to 20 minutes. There is no per-minute overage: to get more builds you move to a higher Cloudflare plan (Pro is $20/month billed annually or $25 monthly).

Does Cloudflare support Next.js in 2026?

Yes, on Workers. Cloudflare's guide recommends vinext, a Vite plugin that reimplements the Next.js API (in beta, ISR supported), as the default, and supports OpenNext (@opennextjs/cloudflare), which uses Next.js' Node.js runtime, for existing apps. The older @cloudflare/next-on-pages adapter is deprecated and was Edge-runtime only. Temps runs Next.js as a standard Node.js server without an adapter.

How many custom domains does Cloudflare Pages allow?

100 custom domains per project on the free plan, 250 on Pro and 500 on Business and Enterprise. Each project also gets a *.pages.dev subdomain.

Should new projects use Cloudflare Pages or Workers?

Cloudflare's Pages documentation now says Workers supports most Pages use cases, is its primary platform for building applications, and that new projects should start on Workers. Pages remains supported, and Cloudflare publishes a guide for migrating from Pages to Workers.

Is Cloudflare Pages free for static sites?

Yes. The free plan includes 500 builds a month, unlimited static requests and bandwidth, and 100 custom domains per project. Costs appear when you add server-side code (Workers Paid, $5/month minimum), a database from another provider, or third-party observability.

Cloudflare Pages vs Temps: which should I choose in 2026?

Choose Cloudflare Pages for static or mostly static sites, global edge delivery, built-in DDoS protection and a WAF, or an app that fits Workers. Choose Temps for a full-stack app that wants a normal Node.js runtime, managed PostgreSQL on the same server, and error tracking, session replay and analytics without paying separately for Sentry Team, Plausible and LogRocket (about $211/month). Self-hosted Temps is free; you pay for the server.

Does Temps use Cloudflare's technology anywhere?

Temps' built-in proxy is based on Pingora, the open-source Rust framework Cloudflare built for its own network. Temps runs it on your server, handling TLS termination and routing without Nginx or Caddy; it is not Cloudflare's paid edge network. You can still put Cloudflare in front of a Temps server for DNS, CDN and WAF.

Related comparisons

Further reading

How we researched this comparison

Pages build, domain and file limits read from Cloudflare's Pages limits page; Workers CPU, memory and pricing from the Workers limits and pricing pages; plan prices from Cloudflare's plans page; Next.js support from Cloudflare's Next.js and OpenNext framework guides, all on 2026-10-08. Third-party tool prices from each vendor's pricing page. Temps capabilities checked against the Temps source and docs.

Disclosure: Temps publishes this page and is one of the products being compared. Reviewed by David Viejo, founder of Temps.

Ready to switch from Cloudflare Pages?

Self-host Temps for free, or run it with a Premium licence. Temps Cloud, a hosted control plane for your own servers, is $29/month in an invite-only beta, with your servers billed separately.