September 18, 2026
Why We Moved From Vercel to Cloudflare (And Back)
We migrated our Next.js deployment from Vercel to Cloudflare Workers, then back again. Here is what we learned.

The Migration That Taught Us Everything
Every few months, someone posts about migrating off Vercel. The promises are compelling: lower costs, more control, edge-first architecture. So we tried it - twice.
Round 1: Vercel to Cloudflare Pages
Why we moved: Cost. At 50K monthly visits, Vercel pro plan added up. Cloudflare Pages is free with no hit limits.
What worked:
- Straightforward GitHub integration
- Static assets served incredibly fast
- Free bandwidth
What did not work:
- Next.js compatibility was incomplete
- Serverless functions had cold start issues
- No native support for all middleware features
- Debugging was harder
Verdict: Fine for static sites. Painful for advanced Next.js.
Round 2: Vercel to Cloudflare Workers
Why we tried again: Cloudflare announced better Next.js support.
What worked:
- Edge execution was genuinely faster globally
- Workers runtime is excellent for simple API routes
- Better pricing at scale
What did not work:
- Node.js API compatibility was incomplete
- Build times were significantly longer
- Some Next.js features required manual setup
- Debugging was painful
Verdict: Promising but not production-ready for our use cases.
Why We Came Back
- It just works. Vercel supports Next.js features immediately when they ship.
- Developer experience. Preview deployments, instant rollbacks, analytics, logs - all in one dashboard.
- Time is money. Hours debugging Cloudflare cost more than Vercel pricing difference.
When Cloudflare Makes Sense
- Static sites with no SSR
- Applications already on Cloudflare ecosystem
- High-traffic sites where bandwidth costs dominate
- Teams with deep Cloudflare expertise
Conclusion
The best infrastructure is the one that lets you ship features fastest. For us, that is Vercel. Test thoroughly before migrating, and factor in your own time as a cost.