ひとことで言うと
Cloudflare PagesはGitHubやGitLabのリポジトリと連携し、プッシュのたびに自動ビルド・デプロイが走るCICD統合型のホスティングプラットフォームです。静的HTMLをそのままデプロイするだけでなく、Next.js・Astro・SvelteKitなどのフレームワークに対応したビルド環境も提供します。
Pagesの特徴的な機能がプレビューデプロイです。プルリクエストやブランチへのプッシュごとにユニークなURLが自動生成され、本番環境とは独立した確認環境が即座に立ち上がります。デザインレビューや機能確認のURL共有という文脈では、このプレビューデプロイ機能が特に便利です。
- 相手がログインなしで開ける状態か確認する
- PCとスマホで最低1回ずつ表示を確認する
- 内部情報・個人情報・不要な外部送信が残っていないか見る
- レビュー期限と修正時の差し替え方を決めておく
HTML共有で関係する場面
AIが生成したHTMLを継続的に改善していくワークフローにPagesは適しています。修正のたびにGitにコミットしてプッシュすれば自動で最新版がデプロイされ、常に同じURLで最新のHTMLを確認できます。gitの差分でどこが変わったかも追えるため、チームレビューとの相性が抜群です。
一方でAIが出力した単一のHTMLファイルを「今すぐ数秒で共有したい」という用途にはPagesは少し重いです。Gitリポジトリへのコミットとプッシュという手順が必要なため、ギガサイト便のようにファイルをドラッグ&ドロップするだけで即URL発行というスピードには及びません。「継続管理」か「即時共有」かで使い分けを判断してください。
よくある誤解
「PagesはWorkersのコードも実行できない」という誤解があります。実際にはPages FunctionsというWorkersベースのサーバーサイド処理機能があり、`/functions/api/check.ts`のようにファイルを配置するだけでAPIエンドポイントを追加できます。静的HTMLと動的APIをひとつのPagesプロジェクトに共存させることが可能です。
「Pagesには独自ドメインを設定できない」と思い込む人もいますが、Pagesは独自ドメインのフル対応をしています。CloudflareでDNS管理しているドメインならワンクリックで紐付けられ、無料のSSL証明書も自動発行されます。Cloudflare外でDNSを管理している場合はCNAMEレコードの追加が必要です。
安全に使うための注意点
Pagesプロジェクトの設定でアクセス制限を有効にするにはCloudflare Accessとの連携が必要です。単純なパスワード認証はPagesだけでは実装できないため、Access Policyでメールアドレスや組織ドメインを条件にしたアクセス制御を設定してください。設定手順はCloudflareダッシュボードの「Access」→「Applications」から行います。
ビルドログには環境変数の値が意図せず出力されることがあります。`console.log(process.env)`のようなデバッグコードがビルドスクリプトに残っていないか、デプロイ前に確認してください。PagesのビルドログはCloudflareダッシュボードで閲覧でき、プロジェクトメンバー全員が見られる状態になっている点に注意が必要です。
よくある質問
Pagesの無料プランで独自ドメインのHTMLサイトを何個まで運用できますか?
無料プランでは1アカウントあたり最大100のPagesプロジェクトを作成でき、各プロジェクトに独自ドメインを1つ設定できます。ただし帯域やリクエスト数の上限は設定されていないため、ほとんどのケースでは無料プランで十分です。
PagesとR2を組み合わせてHTMLを配信できますか?
はい。Pages FunctionsからR2バインディングを使ってファイルを取得し、レスポンスとして返す実装が可能です。Gitで管理しないアップロード系コンテンツをR2に置き、その取得ロジックだけPagesで管理するという構成が取れます。
プレビューデプロイのURLを特定のメンバーだけに公開できますか?
はい、Cloudflare Accessと組み合わせることでプレビューURLへのアクセスをGoogleアカウントや組織メールドメインに限定できます。Pagesプロジェクトの設定画面からAccessポリシーを直接紐付けられます。