Deploy Guide
「Workersで間違えてデプロイしちゃった」「エラーが出て進まない」——そのつまずきを全部なくすための手順書です。最初から正しくやる方法と、すでにWorkersで公開してしまった人の作り直し方の両方をまとめました。
Whyつまずきの正体
原因はほぼ100%、管理画面の入口を間違えていることです。Cloudflareは「Workers & Pages」が統合され、Createを押すと最初にWorkers寄りの画面(Ship something new)が出ます。ここで上の「Continue with GitHub」を押すと、ただのHTMLサイトなのにWorkerとして扱われ、エラーや404が連発します。
「Create」のあとの画面で、上の「Continue with GitHub」を押さないこと。一番下の「Pages … 始める」からPagesフローに入る——これさえ守れば9割のトラブルは起きません。
Pattern Aこれから作る人
新しくサイトを公開するときの王道です。初回だけ少し手順がありますが、一度つなげば次からは「Pushするだけ」になります。
作ったHTMLフォルダをGitHubに上げます。GitHub Desktopの「Publish repository」でもOK。
test や lp など汎用名を避ける。名前-プロジェクト や 日付-プロジェクト 形式が安全(.pages.dev は世界で早い者勝ちのため)。dash.cloudflare.com → 左メニュー「Workers & Pages」→「Create」。
ここが最重要ポイント。「Create」を押すと下の画面が出ますが、上の「Continue with GitHub」を押すとWorkersになってしまいます。画面一番下の「Pages を導入しようとお考えですか? 始める」をクリックして、Pages専用のフローに入ってください。
ここをクリック
HTML1枚のLPなら、迷わずこの設定で。これでビルドエラーも404も出ません。
| Production branch | main |
|---|---|
| Framework preset | None(日本語表示は「なし」。最初から選ばれているので触らなくてOK) |
| Build command | 空欄(何も入れない) |
| Build output directory | /(HTMLが直下にある場合) |
dist にする。それ以外は / でOK。
数十秒〜数分で https://リポジトリ名.pages.dev が立ち上がります。これで連携完了。
Pattern BすでにWorkersで出してしまった人
残念ながら、一度Workerとして作ったものはPagesのGit連携に「変換」できません(Cloudflareの仕様)。なので、Pagesプロジェクトを新しく作り直すのが正解です。やることはパターンAとほぼ同じです。
新しく作るので URLが変わります(.pages.dev のサブドメインが変わる)。すでに誰かにURLを配っている場合は、新URLを案内し直してください。
ローカルのHTMLがGitHubに上がっていればOK。まだなら先にPushしておく(パターンAのステップ1と同じ)。
パターンAのステップ2〜5をそのまま実行。必ず一番下の「Pages … 始める」 → Connect to Git で、同じリポジトリを選びます。
-v2 など、区別できる名前にすると混乱しません。「Workers & Pages」一覧から、間違って作った古いWorkerを選び、Settings → Delete で削除。新しいPages版だけ残します。
これで「Git連携の自動デプロイ」に切り替わりました。次からは編集してPushすれば自動で公開されます。
Routine連携できた後の更新
一度Git連携できれば、管理画面はもう触りません。ローカルで直してPushすれば自動でデプロイされます。
Don'tこれは絶対に避ける
一見ラクに見えても、後で「今どれが公開されてるの?」が分からなくなる原因になります。
wrangler deploy を使う —— これはWorkerとしてデプロイするコマンド。今回のトラブルの原因そのもの。wrangler pages deploy で直接アップロードする —— Cloudflareにだけ最新版が存在し、ローカル・GitHub・公開URLがバラバラになる。Troubleshooting困ったとき
| 症状 | 原因 | 対処 |
|---|---|---|
| Workerになってしまう | Createで上の「Continue with GitHub」を押した | 一番下の「Pages … 始める」から作り直す |
| 404が返る | Build output directory のミス | HTMLが直下なら「/」にする |
| ビルドエラーが出る | Build command に何か入っている | Build command を空欄にする |
| Pushでusernameエラー | CLIにGitHub認証がない | GitHub Desktopの「Push origin」を使う |
| Pushしたのに反映されない | Git連携になっていない(直接アップロード運用) | Pagesプロジェクトを作り直す(パターンB) |
| ダッシュボードが開かない | SPAの読み込み待ち | ⌘R で再読み込み |