Vercel + Next.js の個人ブログ、月額いくらかかってるか請求書ベースで全部出す
Vercel と Next.js で個人ブログを3ヶ月運営して、実際にかかった月額コストを請求書ベースで公開する。無料枠でどこまで戦えるのか、何にお金を払ってるのか、危うく課金されかけた失敗も含めて実測値を全部出す。
このブログを Vercel + Next.js で立ち上げて、そろそろ3ヶ月になる。立ち上げた当時は「まあ個人ブログだし無料枠で済むでしょ」くらいの雑な感覚で始めた。実際その通りではあったんだけど、途中で一回だけ「これ課金されるやつだ」と冷や汗をかいた場面があった。
で、いつも他人のブログを読んでて思うのが、「月額◯円で運用できます」だけ書いてあって内訳が全然出てこないこと。無料と書いてあっても、ドメイン代は別だったり、画像を外部に置いてたり、実際のところ何にいくら払ってるのかが見えない。自分がやってみて、その気持ちがよく分かった。
なので、この記事では僕のブログの3ヶ月ぶんの実際の支払いを、請求書とダッシュボードの数字そのままで出す。前提は、Windows 11 + Node v24 で作った Next.js の個人ブログ、月間PVは数百〜数千の規模、記事は週1〜2本ペース。この規模で本当のところいくらかかるのか、という話。
結論:月額の固定費はドメイン代だけだった
先に全部出す。3ヶ月ぶんの支払いはこうなった。
| 項目 | 月額(円換算) | 備考 |
|---|---|---|
| Vercel Hobby プラン | 0円 | 個人・非商用は無料 |
| ドメイン(.blog) | 約550円 | 年6,600円を12で割った額 |
| 独自ドメインのSSL | 0円 | Vercel が自動で発行 |
| GitHub | 0円 | Free プランで足りてる |
| 画像・アセット配信 | 0円 | Vercel の帯域内に収まってる |
| 合計 | 約550円/月 | 実質ドメイン代だけ |
3ヶ月間、Vercel には1円も払っていない。かかっているのは実質ドメイン代の年6,600円だけで、月に均すと約550円。ここまでは想定通りだった。ただ「無料で運用できる」の中身は、Vercel の Hobby プランの制限をちゃんと理解してるかどうかで全然変わってくる。ここが今回の本題。
Vercel の無料枠、個人ブログだと実際どこが効くのか
Vercel の Hobby プランには色々な上限があるけど、個人ブログで実際にぶつかりそうなのは限られてる。3ヶ月使って、僕のブログの実測値がダッシュボードでどうなってたかを出す。
- 転送量(Fast Data Transfer):無料枠は月100GB。僕のブログの実測は月に3〜5GB程度で、上限の5%も使ってない。テキスト主体のブログだと画像を貼ってもここは全然余裕。
- ビルド実行時間:記事を1本 push するたびに再ビルドが走る。1回のビルドが40秒前後で、週2本ペースなら月8回、合計でも数分。無料枠の上限には遠く届かない。
- サーバーレス関数の実行:静的な記事ページが中心だと、そもそも関数呼び出しがほぼ発生しない。ここも実測でほぼゼロだった。
つまり、静的中心のブログである限り、Hobby プランの制限に個人が普通に運用してぶつかることはまずない、というのが3ヶ月使った実感。転送量100GBって、テキストブログだと月間PVが数万いっても埋まらない規模なので、駆け出しの個人ブログが心配する必要はほぼない。
問題は「静的中心である限り」の部分で、僕はここを一回踏み外しかけた。
危うく課金されかけた失敗:画像の最適化で関数が回り出す
Next.js には画像を自動で最適化してくれる next/image という仕組みがある。便利なので何も考えずに全記事の画像をこれで表示してた。ある日ダッシュボードを見たら、それまでほぼゼロだった「Image Optimization」の数字が、じわじわ上がってるのに気づいた。
Vercel の画像最適化には無料枠があって、Hobby だと最適化できる元画像の数に上限がある。僕はブログのトップやアイキャッチで同じ画像を何パターンものサイズに変換して出してたので、記事が増えるたびにこの変換回数が積み上がってた。このペースだと数ヶ月で無料枠を超えて、超えた瞬間に課金対象になる計算だった。
原因は、画像を Vercel 側で毎回最適化させてたこと。冷静に考えれば、ブログのアイキャッチみたいに一度作ったら変わらない画像を、配信のたびに動的最適化する必要はない。そこで、画像を最初から適切なサイズ・WebP 形式に変換して静的ファイルとして置き、動的な最適化を通さない形に変えた。
これで Image Optimization の消費はまた実質ゼロに戻った。無料枠のカウンターが動くものを常時使ってると、PVが伸びた時に静かに課金ラインを超える。ここは請求が来る前にダッシュボードで気づけて本当に助かった。教訓は、無料と言われてる機能でも「何がカウントされてるか」を一度は自分の目で確認しておくこと。
有料プランに上げるべきか、の判断ライン
3ヶ月やって、Hobby プランのままでいい理由と、上げる(Pro は月20ドル前後)べきタイミングも見えてきた。
僕の場合、上げていない理由はシンプルで、無料枠の上限にどれもぶつかってないから。転送量も、ビルドも、関数実行も、実測で上限の一桁パーセントしか使ってない。この状態で月20ドル払うのは、ただのお布施になる。
逆に、上げるべきだと思うラインははっきりしてる。ひとつは商用利用にした瞬間。Hobby は非商用が前提なので、アフィリエイトをがっつり貼って収益化を本格化するなら規約的に Pro に上げる必要がある。もうひとつは、転送量か関数実行が無料枠の8割に届いたとき。ここまで来たら、次の月に超えて課金される前に自分の意思で上げておく方が精神衛生上いい。
今のところ僕は非商用のまま、数字も余裕なので Hobby を継続してる。上げるかどうかは「規約」か「実測が8割」のどちらかが来たら、で十分間に合うと思ってる。
まとめ
3ヶ月運用して、Vercel + Next.js の個人ブログの実際のコストは、月額で実質ドメイン代の約550円だけだった。Vercel 本体には1円も払っていない。テキスト中心のブログなら、無料枠の転送量もビルドも関数実行も、実測で上限の一桁パーセントしか使わない。ここは想像以上に余裕がある。
ただ「無料」を鵜呑みにすると、画像最適化みたいにカウンターが静かに回ってる機能で、PVが伸びた時に突然課金ラインを超える。無料枠で運用するなら、月に一度はダッシュボードで「何がカウントされてるか」を見る習慣をつけておくといい。請求が来てから気づくのと、来る前に気づくのとでは全然違う。
次は、このブログの独自ドメインをどう取って設定したか、DNS のつまずきポイントも含めて実録で書く。ドメイン代の550円の中身の話。