2024 年到 2026 年間我兩個平台都用過 production 環境 — Vercel 跑過一個 Next.js SaaS 原型,Cloudflare Pages 撐起現在的 Hao0321 Studio 全站。這篇是兩邊都踩過坑、都有過好體驗之後的個人選擇邏輯,不是廣告文。如果你也在為「下一個專案要用哪個」糾結,這裡有實際的對比資料。
先講結論
對內容站、靜態為主、流量小到中等、預算敏感的個人 / 小團隊專案 — 選 Cloudflare Pages。對需要 Next.js ISR、需要 serverless DB、團隊大、CI/CD 嚴格的中型專案 — 選 Vercel。我自己現在所有新專案都從 Cloudflare 開始,需要時再考慮升級。
面向 1:邊緣節點分布
兩家都號稱「邊緣運算」,實際差異是節點數量:
| 平台 | 節點數 | 覆蓋國家 |
|---|---|---|
| Cloudflare | 300+ | 120+ |
| Vercel | 30+ | 20+ |
對台灣使用者,兩邊都有台北節點,延遲都很低。但對東南亞、南美、非洲,Cloudflare 的覆蓋明顯密很多。實測:菲律賓使用者連我的站,Cloudflare 延遲 25ms,Vercel 95ms(可能繞道日本)。
什麼時候這個差異會重要?
- 網站內容是大量小檔案、頻繁請求(如遊戲 asset)
- 使用者地理分布廣(含發展中國家)
- 對首頁 LCP(Largest Contentful Paint)敏感
面向 2:免費額度
| 項目 | Cloudflare Pages | Vercel Hobby |
|---|---|---|
| 請求數 / 月 | 無上限(fair use) | 100 GB-hr serverless |
| 頻寬 | 無上限 | 100 GB |
| 建構次數 | 500 / 月 | 無上限 |
| 並行建構 | 1 | 1 |
| 商業使用 | 允許 | 禁止 |
關鍵差異:Vercel Hobby 禁商業使用。如果你的網站有任何「賺錢」性質(廣告、賣課、賣商品),技術上你必須升級到 Pro(每月 $20 USD)。Cloudflare Pages 免費版完全允許商業使用。
面向 3:Developer Experience(DX)
Vercel 勝出的地方
- git 自動部署:push 到 main 就自動發 production,PR 自動發 preview。完全自動化。
- Next.js 整合:ISR、ImageOptimization、middleware 等 Next 特性無縫。
- preview deployment 體驗:每個 PR 自動帶 password protection、自動 share 給 reviewer。
- analytics 內建:免費版就有基本 analytics,看 page views、Web Vitals。
- 整合性:Database、KV、Blob storage 都是同一個 dashboard。
Cloudflare 勝出的地方
- direct upload mode:可以選擇不綁 git,用 wrangler CLI 手動部署。對「不想每次 push 都觸發 build」的場景很實用。
- D1(SQLite on edge):免費版就有 5GB SQLite,Vercel 同等需付費 Postgres。
- R2(S3 相容物件儲存):免費 10GB + 零 egress fees。Vercel Blob 出 egress 要錢。
- Workers + 整合:Pages 跟 Workers 是同一個生態,serverless function 寫起來像一個專案。
- 不被 vendor lock-in:Workers 寫的是標準 fetch handler,移到自架 server 改一行就行。Vercel 的 Edge Function 用 vercel-specific 套件,遷移比較複雜。
面向 4:Next.js 支援
這是兩家最大的「定位差異」。
Vercel = Next.js 原生家
Vercel 是 Next.js 的開發公司。所有最新 Next 特性(App Router、Server Actions、PPR)第一時間支援、最完整。如果你的專案 100% Next.js,Vercel 是直覺選擇。
Cloudflare = 「能跑大部分 Next」
Cloudflare Pages 透過 @cloudflare/next-on-pages 支援 Next.js,但有限制:
- ISR 支援不完整
- middleware 必須 edge runtime
- image optimization 要自己處理
對「半 Next.js」(pages router、靜態為主)的專案,Cloudflare 完全夠用。對「重度依賴 Next 動態特性」的專案,Vercel 比較不踩雷。
面向 5:費用爬升曲線
Vercel 費用結構
- Hobby(免費)→ Pro($20 / 月)→ Enterprise
- 跨越免費 → Pro 的觸發點:商業使用、超過 100GB-hr serverless、團隊協作
- Pro 之後:每多 1GB serverless function 計算 = $0.40 USD
Cloudflare 費用結構
- Pages 免費,沒有 Pro tier(沒有對應「個人付費版」)
- Workers 免費 → Workers Paid($5 / 月,包含 1000 萬請求)
- D1 免費 → D1 Paid($0.75 / GB / 月)
實際對比:如果你的站每月 10 萬訪問,Vercel 大概 $20–40 / 月,Cloudflare 大概 $0–5 / 月。差 5–10 倍。
什麼樣的專案適合 Vercel
- Next.js App Router 重度使用
- 需要 ISR / SSG / Server Actions 全特性
- 團隊有 4+ 人、需要嚴謹的 PR review 流程
- 商業專案有預算(每月 $20+ 不痛)
- 使用者主要在歐美
什麼樣的專案適合 Cloudflare
- 個人 / 小團隊(1–3 人)
- 內容站、blog、作品集、簡單的 SaaS
- 需要 SQLite 等資料儲存但預算敏感
- 使用者地理分布廣
- 遊戲、靜態素材、媒體類網站(頻寬密集)
- 想避免 vendor lock-in
遷移成本
如果你已經在 Vercel 上、想搬到 Cloudflare:
| 項目 | 遷移難度 |
|---|---|
| 純 React + 靜態 | ★(一行命令) |
| Next.js Pages Router | ★★(裝 next-on-pages) |
| Next.js App Router + ISR | ★★★★(很多陷阱) |
| Edge Functions | ★★★(API 改寫) |
| Vercel Postgres | ★★★★(需換成 D1 或外部 DB) |
結語:選你不會後悔的那個
兩個平台都很好,沒有絕對的優劣。我選 Cloudflare 的原因濃縮成一句:對個人專案,月成本接近 0、覆蓋全球節點密、不會 vendor lock-in。如果你的優先順序不同,Vercel 會是更好選擇。
實際使用過程的更多技術細節,可以看我寫的「Hao0321 Studio 的技術堆疊」與「用 Cloudflare Workers + D1 打造遊戲後端」兩篇深度文章。