本ページはプロモーションが含まれています

AI

Cloudflare Pagesの無料枠と商用利用|広告ブログで実測

CATEGORY
REV.
DRAWN BY
TOM
SHEETS
8枚
Pages無料枠(上限と商用利用を実数で)

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

𝕏

広告を貼ったブログを、無料のホスティングに置いて本当に大丈夫なのか。

2026年10月23日に、このブログとFXのブログをWordPressからCloudflare Pagesへ移しました。どちらも広告とアフィリエイトを載せていて、移す前にいちばん気にしたのがこの点でした。

あれから2週間ちょっと、どちらも無料プランのままで、請求は0円です。

無料枠の上限を公式ドキュメントで1つずつ確かめ、2サイトで実際にどこまで使っているかを数えました。結論は、静的なブログなら無料プランで商用利用でき、上限にはまだ遠いです。ただし、無料で済まなくなる場面が3つあり、動画の扱いだけは注意が要ります。

この記事でわかること

  • Cloudflare Pages無料プランの上限(ビルド・ファイル数・サイズ・ドメイン・Functions)
  • 広告やアフィリエイトを載せた商用利用が規約上できるか
  • 広告ブログ2つを無料プランで回した実際の数字
  • 有料プランが必要になる3つの場面と、Workersとの関係

移行そのものの手順や経緯は、WordPressからAstroへの移行記事にまとめています。この記事は、移したあとの「無料でどこまで使えるか」に絞った話です。

PARTS LIST /目次

Cloudflare Pagesの無料枠でできること(上限の一覧)

Cloudflare Pagesとは、HTMLや画像などのファイルを、Cloudflareの世界中のサーバーから配信するホスティングサービスです。

無料プランでも、静的なファイルの配信は回数も転送量も無制限です。上限があるのは「ビルドの回数」「1サイトのファイル数」「1ファイルの大きさ」と、サーバー側で動く処理(Pages Functions)の回数です。

数字は2026年11月8日時点のものです。Cloudflare Pagesの上限のページ(2026年9月5日更新)とPages Functionsの料金のページを突き合わせて書いています。

無料プランの上限一覧(ビルド・ファイル・サイズ・ドメイン)

無料プランの上限を、有料プラン(Pro)と並べます。

項目無料プランPro
ビルドの回数月500回(アカウント全体)月5,000回
同時に動くビルド1つ5つ
ビルドの制限時間20分20分
1サイトのファイル数20,000個100,000個
1ファイルの大きさ25MiB25MiB
独自ドメイン1プロジェクト100個250個
転送ルール(_redirects)静的2,000本・動的100本同じ
ヘッダーのルール(_headers)100本同じ

ビルドの回数と同時ビルドの数は、サイトごとではなくアカウント全体で数えます。サイトを5つ持っていても、月500回を5つで分け合う形です。

一方で、ファイル数とドメインの上限はプロジェクト(サイト)ごとです。

静的ファイルの配信は無料・回数無制限

HTML・CSS・画像などの静的なファイルへのアクセスは、無料プランでも課金されず、回数の上限もありません。

公式の料金ページには、静的なファイルへのリクエストは無料・有料どちらのプランでも無料かつ無制限と書かれています。記事がバズってアクセスが10倍になっても、転送量で請求が来る仕組みがそもそもありません。

静的なブログで気にする対象は、アクセスの量ではなく「ファイルの数」になります。

Pages Functionsだけは1日10万リクエストまで

無料で使えないのは、サーバー側でプログラムを動かすPages Functionsだけです。

Functionsへのリクエストは、Cloudflare Workersの無料枠(1日100,000リクエスト)と共通で数えます。Functionsで5万回、Workersで5万回使えば、その日の枠は使い切りです。数え直しはUTCの0時、日本時間だと毎朝9時です。

注意したいのは、Functionsを1つでも置くと、何も設定しなければすべてのアクセスがFunctionsを通る点です。画像やCSSへのアクセスまで枠を食うので、静的なファイルは _routes.json でFunctionsから外します。このファイルは、functions フォルダがあるサイトをPagesのビルドかwranglerで出すと自動で作られます。

無料プランで商用利用はできる?広告・アフィリエイトの扱い

広告・アフィリエイト・会社のサイトも、無料プランのまま置けます。

規約に「無料プランでは商用利用を禁止する」という条項はありません。Vercelの無料プラン(Hobby)は個人の非商用に限られ、広告やアフィリエイト中心のサイトも商用に入るとVercelのヘルプに書かれています。比べたときの差はここで出ます。

ただし、何を配信してもよいわけではありません。2023年の規約の改定で、制限の中身が「HTMLかどうか」から「動画や大きなファイルか」に変わりました。

規約に商用利用を禁じる条項はない(旧2.8条の廃止)

以前の規約には「2.8条」があり、HTML以外のファイル(画像・音声など)を大量に配信することを禁じていました。

Cloudflareは2023年5月に公式ブログでこの条項をなくすと発表し、制限をCDN(配信網)だけに向けた「サービス別の規約」へ移しました。

2023年より前(旧2.8条)

HTML以外のファイル(画像・音声など)が多すぎる使い方を、全サービス共通で禁止。画像の多いブログは読み方によってはグレーだった

2023年の改定後

制限はCDNの規約へ移り、対象は「動画や大きなファイル」に。ブログの画像やアフィリエイトの広告は対象外

広告のタグを入れたり、アフィリエイトのリンクを貼ったりするのは、HTMLの中身の話です。規約の制限とは関係がありません。

動画と大きなファイルだけは別扱い

改定後も、動画と大きなファイルの扱いだけは残っています。

CDNの規約では、動画や大きなファイルを配信するなら、Developer Platform・Images・Streamなどの有料サービスを使うよう求めています。外部に置いた動画をCDNで配信すると、利用を止められることがあります。

ここで困るのは、Pagesに置いた動画がどこに当たるのか、規約の文面から読み切れない点です。PagesはDeveloper Platformの一部ですが、無料プランが「有料サービス」に入るかどうかは書かれていません。

ハマりポイント
記事に貼ったmp4も「動画の配信」になる

このブログでは、動画編集の自動化記事に4.4MBのmp4を1本、Pagesから直接配信しています。1ファイル25MiBの上限には収まりますが、規約の「動画」の扱いがはっきりしません。本数を増やすなら、動画はYouTubeかCloudflare Streamに置き、Pagesには置かない方針にしています。

広告ブログ2つを無料プランで運用した実数

2サイトとも無料プランのまま、上限のどれにも近づいていません。

2026年11月8日に、ビルドした成果物(dist フォルダ)のファイル数・大きさと、デプロイの記録を数えました。どちらもAdSenseの広告とアフィリエイトのリンクを載せた、いわゆる商用のブログです。

数字を並べると、無料枠の大きさよりも「何を気にしなくてよくなったか」が見えてきました。

411記事でもファイル数は上限の1割

いちばん上限に近いのはファイル数ですが、それでも1割ほどです。

項目code-rebuildsystradefx無料プランの上限
記事数309本102本―
配信するファイル数2,053個581個20,000個
成果物の大きさ108MB29MB上限なし
いちばん大きいファイル4.4MB(mp4)0.4MB(画像)25MiB

ファイル数には、記事のHTMLだけでなく、画像・CSS・JavaScript・検索用の索引まで入ります。309記事で2,053個なので、1記事あたり6〜7個の計算です。

このペースなら、上限の2万個に届くのは3,000記事を超えたあたりです。私の書くペースだと、先に心配すべきことはほかにあります。

17日で171回デプロイしてもビルド枠は0回

デプロイは多い日で1日45回しましたが、ビルドの枠は1回も使っていません。

LOG2026-10-22〜11-072サイトで171回デプロイ、うち45回は移行当日

wranglerのログを日付ごとに数えると、デプロイは17日間で171回でした。いちばん多いのは移行した10月23日の45回で、表示を直してはデプロイ、を繰り返していました。その後も1日1〜18回ほど出しています。

月500回の枠を数えていたら、移行した週だけで100回を超えていました。それでも無料で済んでいるのは、Cloudflare側でビルドしていないからです。

私の構成では、手元のMacでAstroのビルドまで済ませ、できたファイルを wrangler pages deploy で直接アップロードしています。Cloudflare側ではビルドが走らないので、ビルドの回数として数えられません(理由は次の見出しで書きます)。

転送ルールとヘッダーの上限にも余裕がある

WordPress時代のURLを転送する _redirects も、上限の5%以下です。

項目code-rebuildsystradefx上限
転送ルール86本97本静的2,000本・動的100本
うち動的なルール(* などを含む)14本19本100本
ヘッダーのルール6本4本100本

動的なルールは上限が100本と小さいので、カテゴリの付け替えなどで * を使う転送を増やすときだけ気にしています。日本語URLの転送でハマった話は、移行記事の落とし穴の節に書きました。

ビルド月500回の上限を気にしなくていい使い方

月500回の上限が効くのは、GitHubなどと連携してCloudflare側にビルドさせる使い方だけです。

Cloudflare Pagesへの出し方は2つあります。どちらを選ぶかで、無料枠の中でいちばん小さい上限が、効くか効かないかが分かれます。

ブログの更新が多い人ほど、この違いが効いてきます。

Git連携のビルドとwranglerの直接アップロードの違い

Git連携はpushするたびにCloudflareがビルドし、直接アップロードは手元でビルドしたファイルを送るだけです。

項目Git連携直接アップロード(wrangler)
ビルドする場所Cloudflareのサーバー手元のPC
月500回の枠○ 数える◎ 数えない
同時ビルド1つの制限受ける(待ち行列になる)受けない
手間◎ pushするだけ△ ビルドとデプロイのコマンドが要る
プレビューURLブランチごとに自動--branch を付けて出す

公式の上限のページは、ビルドを「Gitにpushするたびに行うもの」と説明しています。直接アップロードがビルドに数えられないことは、Cloudflareのコミュニティで回答役(MVP)が答えています。ただ、公式ドキュメントにはっきり書かれた記述ではないので、将来変わる可能性はあります。

私は記事を出す処理をClaude Codeから呼ぶスクリプトにまとめているので、コマンドが1つ増える手間は感じていません。

無料枠を超えたらどうなるか

超えたときの動きは、上限によって違います。

  • Functionsの1日10万リクエスト:設定が「Fail open」ならFunctionsを飛ばして静的なファイルを返します。「Fail closed」だとエラー画面(Error 1027)です。サイトごと止まるのを避けたいなら、Fail openにします
  • ビルドの月500回:その月はそれ以上Git連携のビルドができない前提で考えます。直接アップロードに切り替えれば、記事は出し続けられます
  • ファイル数・1ファイルの大きさ:その状態のサイトは出せません。大きなファイルはR2(Cloudflareのストレージ)に置くよう、公式の上限のページが案内しています

静的なファイルの配信だけなら、超える上限がそもそもありません。Functionsを使っていない2つのブログは、このどれにも当たらない構成です。

有料プランが必要になる3つの場面

有料にするのは、次の3つのどれかに当たったときだけで十分です。

当たったときに選ぶプランが場面ごとに違うのが、Cloudflareのややこしいところです。ファイル数とビルドはPro(月25ドル、年払いなら月20ドル相当)、Functionsの回数はWorkers Paid(月5ドル)で解決します。

flowchart TD
    A["静的サイトをPagesで配信"] --> B{"Functionsを使う?"}
    B -->|"いいえ"| C{"ファイルは2万個以内?"}
    B -->|"はい"| D{"1日10万リクエスト以内?"}
    D -->|"いいえ"| E["Workers Paid<br>月5ドル"]
    D -->|"はい"| C
    C -->|"いいえ"| F["Pro<br>月25ドル"]
    C -->|"はい"| G{"Git連携のビルドが<br>月500回を超える?"}
    G -->|"はい"| H["直接アップロードに切り替えるか<br>Proにする"]
    G -->|"いいえ"| I["無料プランのままでよい"]

ファイルが2万個を超えるとき

記事数が数千本あるサイトや、画像を1記事に何十枚も置くサイトは、先にファイル数に当たります。

有料プランにすると、1サイト100,000個まで増えます。公式の上限のページによると、増やすにはプロジェクトの設定で環境変数 PAGES_WRANGLER_MAJOR_VERSION=4 を入れる必要があります。有料にしただけでは増えないので、ここは見落としやすい点です。

画像が多いだけなら、画像をR2に移してファイル数を減らす手もあります。

Functionsが1日10万リクエストを超えるとき

お問い合わせフォームや、アクセスのたびに動く処理をFunctionsで作ると、この枠に当たることがあります。

Workers Paidは月5ドルで、月1,000万リクエストまで含まれ、超えた分は100万リクエストごとに0.30ドルです(Workersの料金のページ)。1日10万リクエストを超えるほど動的な処理が多いサイトなら、月5ドルで済むのは安い部類です。

私のブログでは、ABテストの振り分けもFunctionsを使わず、ブラウザの中で済ませました。考えた経緯は静的ブログのABテストの記事に書いています。

Git連携のビルドが月500回を超えるとき

チームで1日に何十回もpushするサイトは、Git連携のビルドの枠に当たります。

同時ビルドが1つしかないので、回数より先に待ち時間が気になる人もいるはずです。Proにすると月5,000回・同時5つに増えます。

1人で書くブログなら、前の見出しで書いたとおり、直接アップロードに切り替えるだけで枠から外れます。月25ドルを払う前に、出し方を変える手を試す価値はあります。

Cloudflare PagesとWorkersの関係

いまCloudflareは、静的サイトの配信をWorkersにもまとめつつあります。

Workersには、静的なファイルを配信する機能(Workers Static Assets)が入りました。公式にはPagesからWorkersへの移行ガイドも用意されています。Pagesがなくなるという発表はありません。

料金の考え方はどちらも同じで、静的なファイルの配信は無料・無制限、プログラムが動く分だけWorkersの枠を使います。

新しい機能はWorkers側が中心

Cloudflareは、新しく作るならPagesではなくWorkersを使うよう勧めています。

Workersのベストプラクティスのページには、Pagesは引き続き動くものの、新しい機能と最適化はWorkersに集中させると書かれています。これから静的サイトを始める人は、Workersから入るのが素直です。

Cloudflare Pages

Git連携のビルド・プレビューURL・wranglerの直接アップロードと、静的サイトに要るものはそろっている。既存のサイトはそのまま動く。無料プランのファイル数は20,000個

Workers(Static Assets)

公式が新しく作るときに勧めている側。段階的なデプロイ、ログの保存(Workers Logs)、定期実行(Cron Triggers)はWorkersだけにある。無料プランのファイル数は同じく20,000個、1ファイル25MiB

ファイル数と1ファイルの大きさの上限は、Workersの無料プランでもPagesと同じです(Workersの上限のページ)。無料枠の広さで選ぶ理由はありません。

静的ブログならPagesのままで困らない理由

私が2つのブログをPagesのままにしているのは、困っていることが1つもないからです。

Functionsを使わない静的なブログでは、PagesとWorkersの差は出し方のコマンドくらいです。移行ガイドを読むと、設定ファイル(wrangler.jsonc)を書き、独自ドメインを付け替える作業が要ります。

移行のときは、DNSを付け替える前にメール用のレコードを切り離す下準備が要りました。あの神経を使う作業をもう一度やるほどの理由は、今のところ見当たりません(メールの話は移行記事に書きました)。Workersにしかない機能が欲しくなったら、そのとき考えます。

あわせて読む

よくある質問

Cloudflare Pagesの無料枠と商用利用について、よく聞かれる質問をまとめました。上限の数字は2026年11月8日時点の公式ドキュメントに合わせています。細かい根拠は各見出しの本文もあわせて確認してください。

Q1. Cloudflare Pagesは本当に無料で使えますか?

A1. 静的なサイトなら、無料プランのまま使えます。HTMLや画像の配信は回数・転送量とも無制限で、上限はビルド月500回・1サイト20,000ファイル・1ファイル25MiBなどです。独自ドメインの登録料だけは別にかかります。

Q2. 無料プランで広告やアフィリエイトを載せてもいいですか?

A2. 載せられます。Cloudflareの規約に、無料プランの商用利用を禁じる条項はありません。制限が残っているのは、動画や大きなファイルの配信だけです。

Q3. ビルド月500回はサイトごとですか?

A3. アカウント全体の回数です。複数のサイトを持っている場合は、全サイトで500回を分け合います。独自ドメインとファイル数の上限は、サイトごとに数えます。

Q4. wranglerで直接アップロードしてもビルドの回数に数えられますか?

A4. 数えられません。月500回の枠は、Git連携でCloudflare側がビルドする場合の回数です。ただし公式ドキュメントに明記された記述ではないので、上限のページの更新は時々確かめてください。

Q5. Pages Functionsの無料枠を超えるとどうなりますか?

A5. 設定がFail openなら静的なファイルを返し、Fail closedならError 1027のエラー画面になります。枠は1日100,000リクエストで、Workersと共通です。日本時間の毎朝9時に数え直されます。

Q6. 有料のProプランにすると何が増えますか?

A6. ビルドが月5,000回・同時5つ、ファイル数が1サイト100,000個、独自ドメインが250個に増えます。料金は月25ドル(年払いなら月20ドル相当)です。Functionsの回数を増やしたい場合は、ProではなくWorkers Paid(月5ドル)が必要です。

無料枠で2つのブログを回して思うこと(まとめ)

無料プランの上限は、静的なブログにはまだ遠いところにあります。

  • 静的なファイルの配信は、無料プランでも回数・転送量とも無制限
  • 広告・アフィリエイトを載せた商用利用も、規約上できる
  • 有料が必要になるのは、ファイル2万個超え・Functions1日10万リクエスト超え・Git連携のビルド月500回超えの3つ
  • ビルドの枠は、手元でビルドして直接アップロードすれば使わない
  • 動画は規約の扱いがはっきりしないので、YouTubeやStreamに置く

移す前は「無料すぎて、どこかに落とし穴があるはず」と身構えていました。実際に数えてみると、落とし穴はFunctionsと動画の2つに寄っていて、静的なブログの運営とはほぼ関係ありませんでした。

レンタルサーバーを解約したので、ブログの固定費はドメイン代だけになりました。そのぶん、記事を書くことと、記事の数字を見ることに時間を回せています。

この先ファイル数が2万個に近づくのか、それとも先に別の上限が来るのかは、記事が増えてから確かめます。

NEXT STEP
自分のサイトのビルド結果のファイル数を数えて、20,000個の何%かを見てみる。

Astroなら find dist -type f | wc -l の1行で数えられます。大きいファイルが動画なら、置き場所もあわせて見直してみてください。

途中経過は、また書きます。

NEXT READ本棚から1本

AIで開発を組み直すなら、まずこの5冊から

入門・実践・設計まで、Claude Codeの本をレベル別に5冊選んで比べました。

→ おすすめ5冊を見る

  • この記事を書いた人
  • 最新記事

トム

SESで約8年、環境を変えられないもどかしさの中にいました。32歳で自社開発企業に転職し、今はClaude Codeと自動化で、仕事も時間も組み直している途中です。
・Javaバックエンドエンジニア(Java歴12年以上)
・資格:基本情報技術者/応用情報技術者/Java Silver/Python3エンジニア認定基礎
詳細なプロフィール

𝕏

AI