結論
Vercel Hobby プランでの商用利用は規約違反。使用量ではなく「目的」で判定されます。Stripe を実装した段階、アフィリエイトを貼った段階で移行が必要です。
Vercel が定義する「商用利用」の範囲
Vercel の利用規約では Hobby プランを「個人の趣味・非商用プロジェクト専用」と定義しています。商用利用とは「プロジェクトに関わる誰かが金銭的利益を得ることを目的としたデプロイ」です。
明確にアウトのケース
| ケース | 判定 |
|---|---|
| Stripe 課金を実装した SaaS / アプリ | ❌ NG |
| アフィリエイトリンクを含むブログ | ❌ NG |
| Google AdSense を貼ったサイト | ❌ NG |
| 有償案件で作ったクライアントのサイト | ❌ NG |
| スポンサー付きの OSS デモサイト | ❌ NG |
グレーゾーンの判定
| ケース | 判定 |
|---|---|
| フリーランス営業目的のポートフォリオ | ⚠️ アウト寄り(Pro 推奨) |
| 将来有料化予定・現時点収益ゼロ | ⚠️ 目的が商用なら Pro |
| アフィリエイトなし・純粋な個人ブログ | ✅ セーフ |
| 大学研究用デモ(スポンサーなし) | ✅ セーフ |
重要: 「現在の収益額」ではなく「目的」で判定されます。売上ゼロでも将来 Stripe 課金を目的として作っているなら商用利用扱いです。
Next.js + Supabase + Stripe 構成での判断フロー
Stripe の実装を開始する → Pro プランが必要
Supabase + Next.js のみ(課金なし・アフィリエイトなし) → Hobby OK
アフィリエイトリンクを記事に貼る → Pro への移行が必要
フリーランス営業ポートフォリオとして公開 → Pro 推奨
Stripe webhook のテストや開発環境の検証だけなら Hobby でもリスクは低いですが、実際の決済を受け付けるプロダクション環境を Hobby でデプロイするのは規約違反です。
Hobby → Pro 移行手順
- Vercel ダッシュボード → Settings → Billing → 「Upgrade to Pro」
- クレジットカード情報を入力(月額 $20/ユーザー)
- 即時適用。デプロイ済みサイトへの影響・ダウンタイムなし
移行後の変化:
- 帯域幅上限: 100GB/月 → 1TB/月
- Turboビルドマシンがデフォルトに(ビルド速度改善)
- スペンドリミット機能はないため、使用量アラートを設定する
コスト抑制の代替手段
商用利用しつつコストを最小化したいなら Cloudflare Pages(有料プラン $5/月)も選択肢です。ただし Next.js の最新機能(PPR 等)は OpenNext 経由での対応になり、設定に手間がかかるケースがあります。
「Next.js 最新機能をゼロコンフィグで使いたい → Vercel Pro」「コスト最優先 → Cloudflare Pages」という棲み分けです。
まとめ
- Hobby = 商用利用NG。リソースが余っていても「目的」で判定
- Stripe 実装・アフィリエイト・営業ポートフォリオ = Pro が必要
- 移行はダウンタイムゼロで即時反映
- 月間 PV 数千〜数万程度なら Pro の $20/月 で従量課金が発生しない水準
AI ツールを業務に組み込む設計の実験ログを書いています。 https://masatoman.net