SiteOps
トップメディアダッシュボード更新履歴
記事一覧

Cloudflareへデプロイしたのに反映されないとき、最初の30分でやること

Cloudflareへデプロイしたのに反映されないとき、最初の30分で「どの版が配信中か確定 → 取り違え(環境/ドメイン/ルート)排除 → キャッシュ層(ブラウザ/CDN/オリジン)切り分け」で止血する手順です。

著者: 川原更新: 2026-05-15障害対応RSS
Xで共有FacebookLinkedIn
料金相談

Cloudflareへデプロイしたのに「見た目が変わらない」「古いまま」に見えるときは、まず原因を 3つの層(ブラウザ / CDN / オリジン) に分けるのが最短です。

この記事は、Cloudflare(Workers/Pages/OpenNextなど)で「デプロイは成功したのに反映されない」状況になったとき、最初の30分で“止血”する手順をチェックリスト化したものです。

関連:

  • /media/cloudflare-1102-503-first-response
  • /media/github-could-not-resolve-host-first-30-minutes

0. まず結論(先にやる順番)

最初の30分は「原因を当てにいく」より、「今どの版が配信されているかを確定する」ことを優先します。

  1. 反映されていない“場所”を確定(自分のブラウザだけ? 一部の地域だけ? 全員?)
  2. “今配信されている版”を確定(ヘッダ/HTML/アセットで判断)
  3. ルーティング/環境/プロジェクト取り違え(プレビュー・別環境・別ドメイン)を疑う
  4. キャッシュ層を疑う(ブラウザ → CDN → オリジンの順)
  5. 収束後に、再発防止の観測点(ビルドID表示/ヘッダ/ログ)を入れる

1. 影響範囲を固定する(最優先)

まずは「自分だけ」なのか「全員」なのかを確定します。

  • 別端末(スマホ/PC)で同じURLを見る
  • 別ブラウザ(Chrome/Safari等)で見る
  • シークレット/プライベートで見る
  • 可能なら 別回線(モバイル回線)で見る

ここで「自分のブラウザだけ」なら、ほぼ ブラウザキャッシュ/Service Worker 側です(Cloudflare側に手を入れる前に直せます)。

2. “今配信されている版”を確定する(推理禁止)

反映されないときに一番やりがちなのが、違う環境/違う版を見て推理することです。必ず“証拠”で固定します。

  • HTMLのソースに 新しい文言 があるか(目視)
  • 可能なら curl -I <URL> で レスポンスヘッダ を見る(cache-control / etag / last-modified など)
  • ブラウザのDevToolsで Network を開き、HTML/JS/CSSが本当に更新されているかを見る

ポイント:

  • HTMLが古い → CDN/オリジン/ルーティング側の疑いが強い
  • HTMLは新しいがJS/CSSが古い → アセットのキャッシュ(長すぎるTTLや配信先の取り違え)
  • HTMLもアセットも新しいのに見た目が古い → Service Worker / アプリ側のキャッシュ(クライアントロジック)の疑い

3. 取り違え(プレビュー・環境・ドメイン・ルート)を潰す

Cloudflareの反映事故で多いのは「デプロイ先の取り違え」です。次を順に潰します。

  • ProductionではなくPreview を見ていないか(URL/環境名)
  • 別プロジェクト にデプロイしていないか(Workers/Pagesプロジェクト名)
  • 別ドメイン/別サブドメイン を見ていないか(www あり/なし、末尾スラッシュ、リダイレクト)
  • Route(ルート)設定 が意図どおりか(Workersのルーティング、Pagesのカスタムドメイン割当)
  • 環境変数 の差で“挙動が変わって見える”だけではないか(API URL、機能フラグ等)

この段階で「確実に本番の正しいURLを見ている」が確定してから、キャッシュ層に進みます。

4. キャッシュを疑う(ブラウザ → CDN → オリジン)

4-1. ブラウザ(最優先・最短)

  • DevToolsで Disable cache を有効にしてリロード
  • ハードリロード(ブラウザ機能)を試す
  • Service Worker が入っている場合は、更新/解除を確認(Applicationタブなど)

「シークレットでは新しいのに通常では古い」なら、ほぼここが原因です。

4-2. CDN(Cloudflareキャッシュ)

Cloudflareのキャッシュが原因かを確かめるには、まず“キャッシュが効いている証拠”を取ります。

  • cf-cache-status などキャッシュ関連ヘッダが見えるか
  • HTMLがキャッシュされているのか、アセットだけなのか

対処は、いきなり全消しではなく 最小の対象から にします(影響とコストを最小化)。

  • 対象URLだけ を更新対象にする(可能なら)
  • まずは アセットの更新(ファイル名がハッシュ化されていれば、多くは勝手に解決します)

4-3. オリジン(実はデプロイが差し替わっていない)

CDNの問題に見えて、実際は「新しい版がオリジンに存在しない」こともあります。

  • ビルド/デプロイの成果物が本当に変わっているか
  • 本番環境変数が想定どおりか(変えていないつもりが変わっている等)
  • “同じコードに見えるが生成結果が変わる”要素がないか(データソース、API、ビルド時刻依存など)

5. 再発防止(30分の外)

止血できた後にやることです(最初の30分ではやりません)。

  • HTMLに ビルドID/コミット短縮ID を埋め込む(“今の版”を一発で確定できる)
  • 主要URLの ヘッダ観測(cache-control/etag等)を定期チェックする
  • “本番URLが本番環境を見ている”ことを自動で検査する(preview混入防止)

SiteOpsで“反映されない”を早期検知する(再発防止)

反映事故は、気づくのが遅いほど機会損失が増えます。再発防止としては「誰が見ても“今の版”が分かる」状態に寄せるのが効きます。

  • “今配信中の版”を、チーム内で同じ根拠(ヘッダ/ビルドID)で確認できる状態にする
  • 反映が遅れた瞬間に、最初の30分で“止血”できるチェックリストを持つ

状況が再現できない/原因が複合している場合は、相談だけ先に進めるのも有効です。

  • 料金・導入の概要を見る
  • 相談する

この記事を書いた人

川原

SiteOps編集チームの公開窓口として、検索、アクセス、収益データをもとにした運営判断の知見をまとめています。

著者情報

関連記事

Cloudflare 502 Bad Gatewayが出たとき、最初の30分でやること障害対応更新: 2026-05-18Cloudflare 504 Gateway Timeoutが出たとき、最初の30分でやること障害対応更新: 2026-05-18Cloudflare 520(Web server returned an unknown error)が出たとき、最初の30分でやること障害対応更新: 2026-05-18
前の記事CloudflareのWAFでGooglebotが弾かれるとき、最初の30分でやること次の記事Cloudflare 525 SSL handshake failedのとき、最初の30分でやること

次にやること

複数サイトの検索、アクセス、収益データをまとめて見直すなら、SiteOpsのダッシュボードでサイト別に確認できます。

料金を見る相談したい / お問い合わせ