# Vercel と Cloudflare Pages の比較

無料枠の性質が正反対。Vercel Hobby は非商用限定で超過すると従量課金、Cloudflare Pages は商用可で帯域無制限。Next.js 以外なら Cloudflare Pages を選ばない理由が乏しい。

## 主要な差分

- 無料枠の商用可否: Vercel Hobby = 不可、Cloudflare Pages = 可。
- 帯域: Vercel Hobby は上限あり、Cloudflare Pages は無制限。
- 請求の振れ幅: Vercel は超過で従量課金、Cloudflare Pages は帯域で課金されない。
- DX: Next.js は Vercel がファーストクラス。Cloudflare はアダプタ経由。

## 解説と実務上の注意

### 無料枠の思想が正反対

同じ「無料でホスティングできるサービス」ですが、無料枠の設計思想が逆を向いています。

**Vercel Hobby は非商用限定**です（`commercial_use_allowed: conditional` — Hobby: no / Pro 以上: yes）。個人利用は歓迎するが、収益が出るなら払ってほしい、という設計です。広告掲載、アフィリエイト、クライアントへの納品はいずれも商用に該当し得ます。

**Cloudflare Pages は全プランで商用利用可、しかも帯域無制限**です（`commercial_use_allowed: yes`）。Cloudflare の本業は CDN であり、帯域は原価構造上ほぼ負担になりません。だから無制限にできます。この差は「太っ腹かどうか」ではなく**事業モデルの違い**から来ているので、今後もそう簡単には変わりません。

### 請求が跳ねるリスクが構造的に違う

これは実務でかなり重要です。**Vercel は無料枠を超えると従量課金に移行します。** 記事がバズった、クローラーに集中的に叩かれた、画像最適化が想定以上に走った — こうした事象がそのまま請求額に反映されます。「個人サイトで高額請求」という事故は、この課金モデルに固有のものです。

**Cloudflare Pages は帯域で課金されません。** トラフィックが跳ねても帯域分の請求は発生しません（Workers の実行回数など、別の軸には制限があります）。**請求額の予測可能性という一点において、Cloudflare Pages は明確に優位**です。

Vercel を使うなら、運用開始時に使用量上限とアラートを必ず設定してください。これは推奨ではなく必須の作業です。

### では何が Vercel を選ぶ理由になるか

**Next.js です。それ以外にはほとんどありません。**

Next.js は Vercel が開発しているフレームワークで、新機能が最初に、かつ完全な形で動くのは Vercel 上です。ISR、Image Optimization、Middleware、App Router の細部まで、公式が想定した通りに動きます。Cloudflare Pages でも Next.js は動きますが、アダプタを経由するため**最新機能の対応にラグが出ることや、エッジランタイムの制約で一部機能が使えないことがあります。**

Next.js の込み入った機能に依存しているなら、Pro の月額はその互換性に対する対価として合理的です。

逆に、Astro / SvelteKit / Hugo / 素の静的サイトのような構成なら、**Vercel を選ぶ技術的な理由はほぼ見当たりません。** 商用利用が無料で許され、帯域が無制限で、請求が跳ねない Cloudflare Pages のほうが条件が良い。

### 動的処理を足すときの発想が違う

静的配信の先に動的処理を足す段階で、設計の考え方が分かれます。

Cloudflare Pages は **Workers と地続き**です。KV（結果整合のストア）、Durable Objects（強整合）、D1（SQLite）、R2（オブジェクトストレージ）、Queues が同じ環境に揃っており、**エッジで完結する構成を組みやすい。** ただし Workers は V8 isolate 上で動くため Node.js の常駐サーバーではなく、CPU 時間の制約があり、一般的な Node アプリをそのまま移植することはできません。

Vercel はサーバーレス関数と Edge Functions の2階建てで、**Node.js のコードをそのまま動かせる範囲が広い**のが利点です。既存の Node 資産を持ち込むなら Vercel のほうが摩擦が少ない。

### Cron

定期実行はどちらも可能ですが、**Vercel Hobby は1日2回まで**に制限されます（`cron_available: conditional`）。Cloudflare は Workers の Cron Triggers を無料プランでも使えます（`cron_available: yes`）。無料枠で定期実行を回したいなら Cloudflare です。

## Rights

| key | Vercel | Cloudflare Pages |
|---|---|---|
| commercial_use_allowed | conditional | yes |

## Constraints

| key | Vercel | Cloudflare Pages |
|---|---|---|
| api_available | yes | yes |
| cron_available | conditional | yes |
| custom_domain_available | yes | yes |
| webhook_available | yes | yes |

## 結論：どちらを選ぶべきか

**Cloudflare Pages を選ぶべきケース** — Next.js 以外のフレームワークを使う、無料のまま商用利用したい、請求が跳ねるリスクを避けたい、帯域を多く使う（画像・動画）、無料で定期実行したい。

**Vercel を選ぶべきケース** — Next.js の最新機能に深く依存している、Node.js のコードをそのまま動かしたい、Pro の月額を払う前提がある。

**注意** — Vercel Hobby のまま収益化しないでください。規約上の非商用限定であり、広告・アフィリエイト・受託納品はいずれも該当し得ます。Vercel を使うなら使用量アラートの設定を運用開始時に必ず行ってください。

## よくある質問

### Cloudflare Pages の無料プランは本当に商用利用できますか？

できます。全プランで商用利用が認められており、帯域も無制限です。Cloudflare の本業が CDN であるため、帯域が原価構造上の負担にならないことが背景にあります。

### Vercel の無料プランで収益化するとどうなりますか？

規約違反の状態になります。Hobby は非商用限定で、広告掲載・アフィリエイト・クライアント納品はいずれも商用に該当し得るため、Pro 以上への移行が必要です。

### Next.js を Cloudflare Pages で動かせますか？

動かせますが、アダプタ経由になります。最新機能の対応にラグが出ることや、エッジランタイムの制約で一部機能が使えないことがあるため、Next.js の高度な機能に依存する場合は Vercel のほうが安全です。

### トラフィックが急増したとき、請求はどうなりますか？

Vercel は従量課金に移行するため請求が跳ねる可能性があります。Cloudflare Pages は帯域で課金されないため、この形の事故は起きません。Vercel を使う場合は使用量上限の設定が必須です。

## 関連ページ

- Vercel: https://atlas.lb-product.com/entities/vercel
- Cloudflare Pages: https://atlas.lb-product.com/entities/cloudflare-pages

Canonical HTML: https://atlas.lb-product.com/compare/vercel-vs-cloudflare-pages
