小さなサイトの手帖A FIELD GUIDE FOR YOUR SMALL WEBSITE
公開する

HTMLファイルを無料で公開する手順(Cloudflare Pages)|公開後に確認する5つのこと

HTMLとCSS、画像のフォルダが手元にあるなら、静的ファイルを置くだけのサービスで公開できます。Cloudflare Pagesの公式資料で確認した手順と上限、公開後にURLがどう動くか、公開後の確認コマンドを整理しました。

この記事の外部リンクは公式サイトへの通常リンクです。この記事に広告リンクはありません。

1. この方法が向く人、向かない人

向くのは、HTML・CSS・画像が完成していて、送信処理やデータベースを使わないサイトです。ページが1〜5枚で、更新を自分で行う回数が多くない場合に合います。

向かないのは、WordPressのように、サーバー側でPHPやデータベースを動かすサイトです。問い合わせフォームの送信先も、静的ファイルだけでは用意できません(フォームの切り分けを参照)。公開先の選択肢の比較は、公開先の3つの選択肢にあります。

2. アップロード前に整えるフォルダ

公開するのは、完成したファイルを入れた1つのフォルダです。次のような構成にします。

site/
  index.html          トップページ(/)
  about/index.html    会社案内(/about/)
  assets/             CSS・画像・JavaScript
  404.html            存在しないURLのページ

公式資料に、上限が書かれています。

  • 1つのファイルは25MiBまで。
  • ファイルの数は、ダッシュボードのドラッグ&ドロップで1,000、Wranglerで20,000(無料プランの上限も20,000)。

3. 公開する2つの方法

方法手順注意点
ダッシュボードのドラッグ&ドロップWorkers & Pagesで「Create application」から「Drag and drop your files」を選び、プロジェクト名を入れ、フォルダかzipをアップロードして「Save and Deploy」ファイルは1,000まで。大きすぎるファイルがあると警告が出て、差し替えではなく全体のアップロードのやり直しになる
Wrangler(コマンド)wrangler loginのあと、wrangler pages project createでプロジェクトを作り、wrangler pages deploy フォルダ名で公開フォルダを指定する。zipは使えない。プレビュー用には--branchを付ける

本番の公開先はプロジェクト名.pages.devの形です。2つの方法は、同じプロジェクトの中で切り替えられます。一方、完成ファイルのアップロードで作ったプロジェクトは、あとからGit連携に切り替えられません。自動で公開したくなったら、Git連携の新しいプロジェクトを作ります。

4. 公開後のURLの動き

公式資料によると、Pagesは次のように動きます。

  • /contact.htmlは、拡張子のない/contactに転送される。
  • /about/index.htmlは、末尾にスラッシュを付けた/about/に転送される。
  • 最上位に404.htmlを置くと、存在しないURLでそのページが表示される。
  • 最上位に404.htmlがない場合、Pagesはシングルページアプリとして扱い、すべてのURLを/(トップ)へ向ける。

最後の点は注意が必要です。404.htmlを置かないと、URLを打ち間違えた人にもトップページが表示されます。リンク切れに気づきにくくなるため、404.htmlを用意します。

5. 公開後に確認する5つのこと

公開したら、手元のフォルダではなく、実際のURLで確認します。

  1. トップと各ページが表示される。メニューのリンクを全部開く。
  2. 存在しないURLで404ページが出る。トップが表示されたら、404.htmlが公開されていない。
  3. CSSと画像が読み込まれている。パスが/assets/…の形か、ページの深さに合っているかを見る。
  4. スマホで横にはみ出さない。手順はスマホで横にはみ出す原因と直し方。
  5. 公開中のファイルが、手元の完成版と同じ。古いファイルが残っていないかを確かめる。

コマンドでの確認例です。URLの転送を追うかどうかで、結果が変わります。

# 応答の種類(200が表示、308が転送)
curl -sI https://プロジェクト名.pages.dev/about/ | head -3

# 転送を追って、最終的なページの内容を取得
curl -sL https://プロジェクト名.pages.dev/about/ | head -20

# 手元のファイルとの照合(内容が同じなら同じ値が出る)
shasum -a 256 site/about/index.html
curl -sL https://プロジェクト名.pages.dev/about/ | shasum -a 256

転送のある環境でも、所有権確認などの外部サービスの確認は通ることがあります。2026年10月10日に、Search ConsoleのHTMLファイル方式(googleXXXX.html)で試したところ、このファイルが拡張子のないURLへ転送されても、所有権の確認は完了しました。Googleの公式資料も、同じドメイン内の転送は追われると説明しています。ただし、この結果は1回の確認です。確認に失敗するときは、メタタグ方式など別の方法に切り替えます。手順の全体はSearch Consoleの登録手順にあります。

6. 独自ドメインを使うとき

公式資料によると、独自ドメインの設定方法は名前の形で変わります。example.comのような頭に何も付かない名前は、そのドメインをCloudflareのゾーンとして登録し、ネームサーバーをCloudflareのものにする必要があります。www.example.comのようなサブドメインは、今のDNS会社のままで、プロジェクト名.pages.devを指すCNAMEレコードを設定する方法があります。ダッシュボードでドメインを追加する前に、CNAMEだけを手で作ると、522エラーになると書かれています。

独自ドメインが必要かどうかは、費用と更新の条件を並べて決めます。費用計算と無料公開と有料サーバーの選び方が、判断の材料になります。

参照した公式資料

2026年10月10日に確認した公式資料に基づきます。公式資料の内容と、実際にコマンドで確認した内容(Search Consoleの所有権確認の1回分)は区別して書いています。上限や仕様は変わることがあるため、公開前に公式の最新の説明を確認してください。この記事に広告はなく、外部リンクは公式資料への通常リンクです。

次に読む公開済みサイトを自分で更新する手順と、元に戻す方法(Cloudflare Pages)