- 静的ブログに使いたいが、無料枠でどこまで動くか分からない
- ビルド回数や帯域幅に上限があるか確認したい
- Functionsを使うと無料枠の話が変わると聞いた
無料と聞いて始めたものの、記事を増やしたあとで上限に引っかからないか、Functionsを足したら請求が来ないかは気になります。
静的サイトとしてブログを配信するだけなら、Cloudflare Pagesの無料枠で運用できます。Freeプランは月500回のビルドで、静的リクエストと帯域幅は無制限です。
気をつけたいのは、Functionsを使う場合と、大きなファイルを大量に置く場合です。無料枠の上限と、Functionsを入れたときに関係してくる枠を分けて見れば、自分のブログが無料のままで足りるかを判断できます。
なお、これから新しく作るなら、CloudflareはPagesよりWorkers Static Assetsを推奨しています。この記事は、Pagesで運用中のブログや、Pagesを選ぶ場合の無料枠の話です。
目次
- Cloudflare Pagesの無料枠で個人ブログは運用できる?
- Cloudflare Pagesの無料枠でできること
- Cloudflare Pages無料枠が静的ブログに向いている理由
- Cloudflare Pages無料枠で注意したい制限
- Functionsを使うならCloudflare Pages無料枠だけで考えない
- Direct Uploadを使う場合の注意点
- Cloudflare Pages無料枠が向いている人
- Cloudflare Pages無料枠だけでは向いていないケース
- よくある質問
- まとめ:Cloudflare Pagesの無料枠は静的ブログなら十分使える
Cloudflare Pagesの無料枠で個人ブログは運用できる?

個人ブログを静的サイトとして配信するなら、Cloudflare Pagesの無料枠で足ります。
特にAstro、Hugo、VitePressのように、ビルド後にHTML、CSS、JavaScript、画像を配信する構成と相性がいいです。
WordPressのように、アクセスのたびにPHPやデータベースでページを組み立てるわけではありません。
先にHTMLなどを作っておき、Cloudflareのネットワークから静的ファイルとして返します。
ブログの主な処理は、記事ページを読むことです。
問い合わせフォームやログイン機能を入れない限り、サーバー側で毎回重い処理を走らせる必要はあまりありません。
この使い方なら、無料枠でもかなり戦えます。
Cloudflare Pagesの無料枠でできること
Cloudflare PagesのFreeプランの枠は次のとおりです。
| 項目 | Freeプラン |
|---|---|
| 料金 | 0ドル |
| 同時ビルド数 | 1 |
| 月間ビルド数 | 500回 |
| カスタムドメイン | 1プロジェクトあたり100個 |
| サイト数 | 無制限 |
| 静的リクエスト | 無制限 |
| 帯域幅 | 無制限 |
| 1サイトのファイル数 | 20,000ファイル |
| 1ファイルサイズ | 25MiB |
個人ブログで先に気になるのは、月間ビルド数です。
記事を毎日1本更新しても、月30回ほどに収まります。
デザイン調整や誤字修正で何度かpushしても、500回をすぐ使い切ることはあまりありません。
もちろん、細かい修正をすべてpushして試す運用だと、ビルド回数は増えます。
ローカルで表示をチェックしてからpushするだけでも、回数は大幅に抑えられます。
Cloudflare Pages無料枠が静的ブログに向いている理由

Astroでブログを作る場合、記事はビルド時にHTMLとして出力されます。
配信時には、すでにできあがったファイルを返すだけです。
そのため、アクセスが増えても、WordPressのようにPHPやデータベースの負荷を気にする場面が少なくなります。
構成はかなり単純です。
Astro
↓
GitHub
↓
Cloudflare Pages
↓
独自ドメインで公開
Cloudflare Pages側では、ビルドコマンドと出力ディレクトリを設定します。
Astroなら、よくある設定は次の形です。
Build command: npm run build
Build output directory: dist
あとは、GitHubにpushするとCloudflare Pages側でビルドされます。
サーバーへSSHで入ったり、PHPのバージョンを見たり、データベース容量を気にしたりする作業は大幅に減ります。
サーバーの面倒を見なくていいのは、個人ブログにはかなり楽です。
Cloudflare Pages無料枠で注意したい制限

Cloudflare Pagesの無料枠は強いですが、何でも無制限に置けるわけではありません。
個人ブログで注意したい制限は、主に次の4つです。
- 月間ビルド数は500回
- 1サイトのファイル数は20,000ファイル
- 1ファイルサイズは25MiBまで
- ビルドは20分でタイムアウトする
記事を書いて公開するだけなら、引っかかりやすいのは最初の月間ビルド数です。残りの3つは、画像や配布ファイルが多いサイトで気にします。
月間ビルド数は500回
Freeプランでは、月間ビルド数が500回です。
記事更新中心のブログなら余裕があります。
ただ、開発中に小さな変更を何度もpushすると、ビルド回数はすぐ増えます。
レイアウト調整、画像差し替え、CSS修正はローカルでチェックしてからまとめてpushしたほうが楽です。
1サイトのファイル数は20,000ファイル
Cloudflare PagesのFreeプランでは、1サイトに含められるファイル数が20,000ファイルまでです。
数十記事から数百記事の個人ブログなら、上限まではまだ余裕があります。
ただし、画像を大量に置くサイトや、ビルド結果に不要なファイルが混ざるサイトは、思ったより早くファイル数が増えます。
Astroのdistに、不要な画像、古い生成物、使っていないアセットが混ざっていないかを定期的にチェックします。
1ファイルサイズは25MiBまで
Cloudflare Pagesでは、1つのサイトアセットの最大サイズが25MiBです。
記事内の軽い画像なら問題になりにくいですが、大きな動画、zipファイル、高解像度の元画像をそのまま置く用途には向きません。
大きなファイルを配布したいなら、Cloudflare R2など別の置き場所を検討します。
ビルドは20分でタイムアウトする
Cloudflare Pagesのビルドは20分でタイムアウトします。
Astroの個人ブログなら、通常はそこまで長くなりにくいです。
ただ、記事数がかなり多い、画像処理をビルド時に重くしている、外部APIから大量にデータを取得している場合は、ビルド時間が伸びます。
ビルドが遅くなってきたら、画像の扱いとビルド時処理を先に見直します。
Functionsを使うならCloudflare Pages無料枠だけで考えない

Cloudflare Pagesで静的ファイルを配信するだけなら、話は単純です。
注意したいのは、Pages Functionsを使う場合です。
Pages Functionsは、問い合わせフォーム、API、SSR、認証処理のような動的な処理を入れたいときに使う機能です。
この場合、静的アセットの無料枠とは別に、Workers側の無料枠も計算に入ってきます。
Pages Functionsの料金はWorkersと同じ扱いで、Freeプランでは、Pages FunctionsとWorkersで1日100,000リクエストの無料枠を共有します。
この枠は毎日UTC0時(日本時間9時)にリセットされます。
静的な記事ページへのアクセスと、Functionsを実行するリクエストは同じ感覚で見ないほうがいいです。
たとえば、次のような機能を入れるなら、Workers、KV、D1、R2などの制限も関係します。
- 問い合わせフォーム
- APIエンドポイント
- SSR
- 認証処理
- コメント機能
- 検索機能
- データベース連携
「Cloudflare Pagesの無料枠だから全部無制限」と考えていると、Functionsを入れたところで見込みが外れます。
静的ブログとして使うのか、動的なWebアプリに近づけるのかで、関係する無料枠が変わってきます。
Functionsの無料枠を使い切ったときの動作と設定場所
Functionsの公式料金ドキュメントにある通り、Functionsの無料枠を使い切っても、Functionsを呼ばない静的アセットへのアクセスは無料のまま無制限で配信される仕様です。
1日100,000リクエストの上限に達したときの動作は、Cloudflareダッシュボードの「Workers & Pages」から対象のPagesプロジェクトを開き、「設定」の「ランタイム」にある「Fail open / closed」で設定してください。
選べる挙動は、公式のルーティング仕様にある通り、静的アセットをそのまま返すFail openと、エラーページを返すFail closedの2通りです。
問い合わせフォームを設置している場合、Fail openでは静的な記事を返せてもFunctionsによるフォーム送信処理は動きません。
Functionsで認証やアクセス制限をしている場合は、Fail openに注意してください。
Fail openのままだとFunctionsを素通りするため、本来は保護したい静的アセットまで外部へ配信されてしまいます。
一方のFail closedを選べば、静的アセットを返さずにエラー画面を表示します。
Functionsを入れるときは、Fail openとFail closedのどちらにするかも一緒に決めてください。
PagesとWorkersのどちらを選ぶべきか、機能や使い分けの基準は次の記事で整理しています。
関連記事Cloudflare PagesとWorkersの違いは?使い分けと選び方の基準Cloudflare PagesとWorkersの違いを現行仕様で比較。新規サイトにはWorkers Static Assetsが推奨されています。Git自動ビルド、既存Pagesの継続、静的配信とWorker実行の無料枠を整理します。Direct Uploadを使う場合の注意点
Cloudflare Pagesには、Git連携ではなく、ビルド済みファイルを直接アップロードする方法もあります。
ローカルや別のCIでビルドして、完成したdistだけをCloudflare Pagesに送る形です。
ただし、Direct Uploadを選ぶと、あとからGit連携に切り替えられません。
自動デプロイを使うには、新しいプロジェクトを作る必要があります。
個人ブログで「GitHubにpushしたら自動で公開したい」なら、最初からGit連携で作るほうが楽です。
Cloudflare Pages無料枠が向いている人
Cloudflare Pagesの無料枠が向いているのは、次のような人です。
- 個人ブログを無料で公開したい
- Astroなどの静的サイトジェネレーターを使っている
- Markdownで記事を書きたい
- GitHub連携で自動デプロイしたい
- サーバー管理を減らしたい
- WordPressのサーバー代を抑えたい
- 小さな個人開発サイトを公開したい
Markdownで書き、ビルドして、静的ファイルとして配信する。
この流れなら、無料枠だけでも運用しやすいです。
Cloudflare Pages無料枠だけでは向いていないケース
一方で、Cloudflare Pagesだけで考えないほうがいいケースもあります。
- 動的なAPIを大量に使う
- SSR前提の大きなアプリを作る
- 大容量ファイルを大量に配信する
- サーバー側で重い処理をする
- データベースや認証を深く組み込む
- コメント、会員機能、管理画面を自作する
こういう場合は、Pagesだけではなく、Workers、D1、KV、R2なども含めた設計が必要です。
無料枠で足りるかどうかも、静的ブログとは別の見方になります。
よくある質問
Cloudflare Pagesの無料枠で個人ブログは運用できますか?
静的サイトとして配信する個人ブログなら、無料枠で運用できます。
月500回のビルド、静的リクエスト無制限、帯域幅無制限があるため、記事中心のブログとは相性がいいです。
Cloudflare Pagesの無料枠で独自ドメインは使えますか?
使えます。
Freeプランでも、Cloudflare Pagesのプロジェクトにカスタムドメインを設定可能です。
公式のPagesページでは、Freeプランのカスタムドメインは1プロジェクトあたり100個です。
Cloudflare Pages Functionsも無料で無制限に使えますか?
無制限ではありません。
Pages FunctionsはWorkersとして扱われるため、Workers側の無料枠や制限が関係します。
静的な記事ページの配信と、Functionsを実行するリクエストは分けて考えたほうがいいです。
WordPressをそのままCloudflare Pagesで動かせますか?
Cloudflare Pagesは、WordPressをPHPとデータベースごと動かす場所ではありません。
WordPressの記事を静的化したり、Astroなどに移したりすれば、静的サイトとしてCloudflare Pagesに置けます。
まとめ:Cloudflare Pagesの無料枠は静的ブログなら十分使える
Cloudflare Pagesの無料枠は、個人ブログ用途で使いやすいです。
特にAstroのような静的サイトジェネレーターと組み合わせると、サーバー代をかけずにブログを公開しやすくなります。
無料枠で足りるかは、次の3点で判断できます。
- 静的ファイルの配信中心で、Functionsなどの動的処理を多用しないか
- 月500回以内のビルドで運用できるか
- ファイル数20,000件、1ファイル25MiB、ビルド20分の制限内に収まるか
個人ブログなら最初から有料プランを契約する必要はなく、無料枠の範囲で始められます。あとからFunctionsを足したくなっても、そのときに枠を見直せば間に合います。
すでにPagesで運用しているなら、まずFunctionsを使っているかと、distのファイル数を確かめてみてください。


