Getting started

サイトを更新したのに古いままなのはなぜ?

By Jake Luo · Published 2026年9月12日

ほぼ必ず、サーバーと訪問者のあいだにいる何かが、以前に保存したコピーを渡し続けているせいです。自分のブラウザのキャッシュ、エッジにある CDN、あるいはホスティング側のページキャッシュのいずれかです。更新そのものは公開されていて、訪問者が受け取っているのはそれ以前のコピーです。何かを直す前に、どの層かを突き止めてください。まずプライベートウィンドウで開き、次に意味のないクエリ文字列を末尾に付けて読み込み、最後に別のネットワークから開きます。急に新しいページが出てきた手順が、古いコピーを抱えているキャッシュを指し示します。

サイトは正常。その手前にあるコピーが古い

公開すると、オリジン、つまりホスティングが実際に読み出しているサーバーやストレージバケットに、新しいバージョンのページが書き込まれます。ただしその工程は、訪問者がそのオリジンと会話していることを何ひとつ保証しません。両者のあいだには自分のブラウザ、たいていは CDN、ときにはフレームワークが入れた Service Worker、さらに訪問者自身のネットワークにあるプロキシまで並んでいます。どれもコピーと「いつまで信じるか」という規則を持ち、そしてどれも、誰にも確認せずにリクエストへ答えます。

この問題の特徴は不一致です。自分には新しいページが見えて、顧客には見えない。同じアドレスなのに二人が違うバージョンを受け取る。デプロイもしていないのに一時間後には直っている。この型は覚えておく価値があります。本当に壊れたリリースは全員に対して同時に壊れるからです。だから一部の人には問題がないなら、ビルドログを読むのをやめて、誰がそのリクエストに答えているのかを突き止めてください。最初の規則の下にあるもう一つの規則が、多くの人を驚かせます。多くのキャッシュは期限切れまでコピーを保持するだけでなく、裏側で新しいものを取りに行きながら、期限切れのコピーを配り続ける設定になっています。期限切れは使用停止を意味しません。これが、ページが自分の寿命を大きく超えて生き残る仕組みです。

直す前に、層を特定する

以下の手順は、負担の小さい順に一つずつキャッシュを消していきます。上から進めて、新しいページが出た最初の手順で止めてください。それが答えで、対処はその層でのパージであり、もう一度のデプロイではありません。

  1. プライベートウィンドウで開く。 そこで新しいバージョンが出れば、古いコピーは自分のブラウザの中だけにあり、訪問者は誰も影響を受けていません。通常のウィンドウでスーパーリロードすれば終わりです。これが最も多い結末で、同時に最も飛ばされる手順でもあります。だから騒ぎのほうが不具合より長続きします。
  2. 意味のないクエリ文字列を付ける。 同じアドレスの末尾に ?x=1 のようなものを付けて読み込みます。共有キャッシュはたいていこれを別の URL として扱い、オリジンまで取りに行きます。ここで新しいページが出るなら、オリジンは正しく、あなたとオリジンのあいだにいる何かが、そのままのアドレスで古いコピーを配り続けているということです。
  3. 別のネットワークから開く。 オフィスの Wi-Fi ではなく、モバイル回線のスマートフォンで開きます。CDN は別の拠点に別のコピーを持つので、これによって「一つのエッジだけが古い」のか「全訪問者が古いものを受け取っている」のかが分かれます。そして、外の人が実際に見ているものを映すのはこの手順だけです。
  4. オリジンに直接尋ねる。 ホスティングの管理画面、サーバー側のプレビュー、あるいは公開アドレスではなくオリジンへ向けたリクエストでページを取得します。オリジンが正しく公開 URL が誤っているなら、問題は完全に配信側にあり、コードやビルドをいくら触っても動きません。

層が分かったら、そこでパージまたは無効化し、自分の管理下にないネットワークから三番目の手順をもう一度実行します。自分のマシンから修正を確認するのは、パージが効いていないのに効いたと確信してしまう典型的な経路です。

私たちが一時間を失った実例

私たちは顧客のページを自分たちでホストしているので、これは読者の問題であるだけでなく、私たち自身の問題です。2026年9月11日、公開停止したはずのページが、停止から五十二分後もなお、開いた人すべてに配信され続けているのを見つけました。自分たちの側で見える範囲はすべて正しく、ファイルはストレージから消えていて、社内の記録も公開停止と表示していました。その前段にあった CDN が、裏側で再検証しながら最後の正常なコピーを最大一日配り続ける設定になっていたのです。つまり削除済みという言葉は私たちのストレージを説明していただけで、訪問者が受け取るものについては何も語っていませんでした。修正は意図的に二か所で行いました。一つは CDN の設定で、期限切れのコピーを一切配らないようにすること。もう一つはページ自身のキャッシュ指示で、この上限が、作り直されたバックエンドなら黙って初期値に戻してしまうような設定だけに依存しないようにすることです。

そこから得た規則が、持ち帰る価値のある部分です。公開した、更新した、削除したというのは、すべてオリジンについての主張です。訪問者が受け取るものは別の事実であり、それを正直に知る方法は、見知らぬ人と同じやり方でページを取得することだけです。同じ層は、測れるものまで静かに変えていました。ホストしているページの閲覧数は、合計ではなく下限として記録しています。エッジで答えられたリクエストは、集計しているオリジンに永遠に届かないからです。さらに、期限切れ配信が生きていたあいだは、自社 CDN 自身のキャッシュ更新リクエストがその数値の大半を占めていました。名前を指定して除外するまでは、です。キャッシュは人が見るものを変えるだけではありません。人が何を見たかについて、あなたが証明できる範囲まで変えてしまいます。

二つの操作の書き方も変わりました。公開はまずファイルを上げ、そのあとに記録します。逆順だと、何も配信されていないのに公開中と記録してしまうからです。公開停止はまずファイルを消し、そのあとに記録へ印を付けます。逆順だと、まだ表に出ているページを停止済みと記録してしまうからです。後半が失敗したとき、報告する状態は、間違っても安全な方向に間違います。どちらの失敗のほうがましかを先に問うことが、ウェブサイトを丁寧に運営することのほとんどです。そしてそれは、AgentCeres、agentceres.com の AI Growth Officer に組み込んでいるのと同じ規律でもあります。専門役割のチームがページ、投稿、アウトリーチの草案を書き、外に出ていく仕事は既定で人の承認を待ちます。サイトを初めて公開したばかりなら、ウェブサイトを AI で作るべきかの確認項目がこのページのもう半分です。

FAQ

壊れていると判断する前にどれくらい待つべきですか?
キャッシュの寿命をまたぐだけの時間です。つまり、その寿命がいくらなのかを知っている必要があります。ホスティングが数値を公表しているなら、それに数分足して待ち、別のネットワークからもう一度確認してください。どこにも数値が見つからないなら、まずそれを調べるべきです。数値を持たずに待つことは、問題を無視することと区別がつきません。明示的にパージしてもまだ古いままなら、それは別の問題であり、待つのではなくホスティングに問い合わせる価値があります。
ブラウザのキャッシュを消せば訪問者側も直りますか?
直りません。そしてこれが、この分野で最も無駄になりやすい一時間です。ブラウザのキャッシュは、あなた一人のためにコピーを持っています。プライベートウィンドウで新しいバージョンが見えたなら、それは訪問者がまだ古いものを受け取っている可能性を証明しただけで、何かが解決したわけではありません。他の人が受け取るものを変えるのは、共有層、つまり CDN かホスティングのページキャッシュでのパージだけです。
Google がまだ古いタイトルと説明を出します。同じ問題ですか?
違います。それは Google のインデックスであり、パージできるキャッシュではありません。再クロールされたときに更新され、数日かかることもあります。Search Console でインデックス登録をリクエストし、IndexNow に通知すれば待ち時間は短くなりますが、即時にする手段はありません。ただし先にページ自体を確認してください。サイトが訪問者に古いコピーを配り続けているなら、再クロールは古いコピーをもう一度記録するだけです。
ページを削除したのに、まだ開けるのはなぜですか?
削除は、保存されていた場所からページを消すだけで、コピーされたすべての場所から消すわけではないからです。手前のキャッシュが期限切れになるかパージされるまで、そのアドレスは応答を続けます。しかも設定によっては、裏で更新しながら期限切れ後も応答し続けます。誤った価格、顧客からの要請、法的に危うい内容など、今すぐ消さなければならないページなら、明示的にパージし、削除した端末ではなく自分の管理下にないネットワークから確認してください。
キャッシュを切ってしまえばよいのでは?
ほぼ常に違います。キャッシュがあるからページは速く表示され、急なアクセス集中でもサイトが落ちません。私たち自身のオリジンの手前にキャッシュを置いたとき、保持のために払っていたページキャッシュは約 1.33 GB から 0.31 GB に下がりました。対処はキャッシュをなくすことではなく、ファイルの種類ごとに寿命を分けることです。中身が変わるたびにファイル名が変わるアセットは長く、最新の編集を反映しなければならない HTML 文書は短くするか、キャッシュしません。
Related questions
ウェブサイトの制作にAIを使うべきですか?React サイトが Google にインデックスされないのはなぜかサイトから問い合わせが来ないのはなぜ?サイトのトラフィックが急に落ちたのはなぜ?

Want this done for you?

AgentCeres is a managed AI marketing team — specialists draft the work, you approve what ships. 14-day free trial, from $39/month.

Start free trialMore answers