Back in the day, everyone figured Vercel would rule Next.js deployments forever. Same team built both, right? smoothly. No-brainer. But here’s the twist in 2026: your app hits decent traffic, and bam — Vercel’s bills explode. Cloudflare Pages? It’s flipping the script, offering unlimited bandwidth and edge magic for peanuts. Or nothing.
Look, I’ve watched Silicon Valley hype cycles for two decades. Next.js devs expected loyalty to Vercel, locked in by that shiny DX. This migration wave? It changes everything — forces a real look at who’s actually profiting off your success.
The Cost Trap Everyone Ignores
Vercel’s Pro plan starts at $20 a month. Fine for hobbies. But scale to a mid-traffic app with serverless functions? You’re staring at $50-200 monthly. Cloudflare? Free tier handles it, or $5 if you push limits.
The verdict on cost: A mid-traffic app with serverless functions can cost $50-200/month on Vercel Pro. The same app often runs free on Cloudflare Pages + Workers.
That’s not spin — that’s math. Bandwidth? Vercel caps at 1TB. Cloudflare? Unlimited. Builds? 6,000 minutes vs. 500 free. Edge spots? 100 PoPs against 300+. Cold starts? Vercel’s Lambdas lag; Cloudflare’s V8 isolates barely blink.
And the performance after one real migration: TTFB dropped from 180ms (p50) to 45ms on Cloudflare. P95? 420ms to 90ms. Cost? $47 to zero. Builds took longer — 2m10s to 3m40s — but who cares when you’re not bleeding cash?
Is Cloudflare Pages Actually Ready for Next.js?
Short answer: For most apps, hell yes. Plug in @cloudflare/next-on-pages adapter. Supports App Router, Pages Router, SSG, SSR on edge, API routes as Workers, even next/image and middleware.
npm install it, tweak next.config.js, add scripts to package.json: “pages:build”: “npx @cloudflare/next-on-pages”, deploy with wrangler. Or GitHub direct to dashboard. Boom.
But — and this is where my veteran cynicism kicks in — it’s not perfect. No fs module, limited Node.js APIs. Force everything to Edge Runtime. Crypto errors? Swap to Web Crypto API. Add nodejs_compat flag in wrangler.toml.
Environment vars? Set ‘em in dashboard for prod and preview. Login with wrangler, run deploy. Two to four hours total, if you’re not fighting gremlins.
Here’s my unique take, one you won’t find in the PR gloss: This echoes the Heroku exodus a decade ago. Devs loved the ease until bills hit. Cloudflare’s playing that disruptor role now — betting on edge commoditization to gut Vercel’s moat. Bold prediction: By 2028, half of Next.js traffic routes through non-Vercel edges. Vercel’s response? Probably more lock-in features, but too late.
Why Does This Matter for Your Next.js Project?
You’re running a blog, content site, light API app? Switch. Savings immediate, speed ups real. That 50k-visit blog went free and snappier.
Heavy ISR? Partial support — tread careful. Node-heavy libs? Stuck. Need Vercel’s preview comments or analytics polish? Stay put, especially if your team’s allergic to config tweaks.
But for 80% of Next.js out there? Cloudflare wins on who’s making money. Not them — you.
The gotchas: Add ‘runtime: “edge”’ to your API routes. Like this:
export const runtime = 'edge';
export async function GET() {
return Response.json({ message: 'Hello from Cloudflare Edge!' });
}
Error on crypto? await crypto.subtle.digest('SHA-256', data);. Vars in dashboard. Preview with wrangler pages dev.
Vercel spins ‘default choice’ because they built Next.js. But growth kills defaults. Cloudflare’s generous limits expose the grift.
I’ve seen platforms promise edge forever — most flop. Cloudflare? They’re executing, with 300+ PoPs and zero cold starts proving it.
Migration’s straightforward, but test your stack. Korean guide linked for screenshots if English docs fail you.
🧬 Related Insights
- Read more: PostMX: The Ephemeral Inbox That Could End E2E Email Testing Hell
- Read more: Kubernetes 1.35: Numeric Taints Finally Tame Spot Node Chaos
Frequently Asked Questions
How long does Next.js to Cloudflare Pages migration take?
Two to four hours for most apps — build, tweak config, deploy.
Does Cloudflare Pages support Next.js App Router fully?
Yes, as of 2026: SSR, API routes, middleware, images — all edge-ready.
Can I run Node.js modules on Cloudflare Pages?
Limited — use Edge Runtime, no fs or native Node stuff. Web Crypto instead.