お知らせを更新して公開したのに、サイトを見ると古い内容のまま。自分のスマートフォンでは新しくなっているのに、取引先には古いまま見えている。この現象の正体は、ほぼすべてキャッシュです。しかもキャッシュは1箇所ではなく複数の層に存在するため、どこを消せばよいのか分からず混乱します。この記事では、5つの層を順に切り分ける手順を解説します。
キャッシュは「一度読んだ結果を保存して使い回す」仕組み
まず仕組みを理解すると、対処が明快になります。
毎回作り直さないことで速くしている
WordPressはページを表示するたびに、データベースから内容を取り出してHTMLを組み立てています。この処理を毎回行うのは無駄なため、一度作った結果を保存しておき、次のアクセスではそれを返します。これがキャッシュです。速くなる代わりに、更新が即座に反映されないという副作用が生まれます。
キャッシュは5つの層に存在する
| 層 | 保存場所 | 消し方 | 影響範囲 |
|---|---|---|---|
| ブラウザキャッシュ | 閲覧者のPC・スマホ | スーパーリロード | その人だけ |
| キャッシュプラグイン | サーバー内 | プラグインの管理画面 | 全訪問者 |
| サーバーのキャッシュ機能 | サーバー | サーバー管理画面 | 全訪問者 |
| CDN | 外部の配信網 | CDNの管理画面 | 全訪問者 |
| SNS・外部サービス | 各サービス側 | 各サービスのツール | シェア時の表示 |
誰に見えているかで層が特定できる
切り分けの最重要ポイントです。自分だけ古く見えるならブラウザキャッシュ、全員に古く見えるならサーバー側のキャッシュです。この判別を最初に行ってください。
まずシークレットウィンドウで確認する
最初の1手です。30秒で切り分けられます。
シークレットウィンドウで新しく見えるなら自分の問題
ブラウザのシークレットウィンドウは、保存されたキャッシュを使わずにページを取得します。ここで新しい内容が表示されるなら、原因は自分のブラウザキャッシュだけです。他の訪問者には正しく見えています。
ブラウザキャッシュの消し方
- WindowsはCtrlキーとF5キーの同時押し(スーパーリロード)
- MacはCommandキーとShiftキーとRキーの同時押し
- スマートフォンはブラウザの設定からキャッシュを削除
- それでも古い場合はブラウザを再起動する
シークレットウィンドウでも古いならサーバー側
この場合、全訪問者に古い内容が表示されています。次の層へ進んでください。
キャッシュプラグインとサーバーのキャッシュ機能
サーバー側で最も多い原因です。
プラグイン一覧でキャッシュ系を確認する
管理画面のプラグイン一覧を開き、キャッシュ系のプラグインが有効になっていないか確認してください。WP Super Cache、W3 Total Cache、LiteSpeed Cache、WP Fastest Cacheなどが該当します。該当するプラグインの管理画面に、キャッシュを削除するボタンがあります。
サーバー側のキャッシュ機能も別に存在する
エックスサーバーやConoHa WINGなどには、サーバー自体のキャッシュ機能が備わっています。プラグインのキャッシュを消しても反映されない場合、こちらが残っています。サーバーの管理画面から削除してください。
プラグインとサーバーの両方でキャッシュが効いている構成は珍しくありません。片方だけ消して「消えない」と判断しないでください。
消す順番
- キャッシュプラグインのキャッシュを削除する
- サーバー管理画面のキャッシュを削除する
- CDNを使っている場合はCDN側も削除する
- 自分のブラウザでスーパーリロードする
- シークレットウィンドウで確認する
キャッシュを消した直後は、ページを作り直す処理が走るため一時的にサイトが遅くなります。アクセスの多い時間帯に大量のキャッシュを一括削除するのは避けてください。
CDNと外部サービスのキャッシュ
気づきにくい層です。
CDNを使っているか把握していないケースがある
制作会社がCloudflareなどのCDNを設定している場合、サイト運営者が把握していないことがあります。サーバー側のキャッシュを消しても反映されないなら、CDNの存在を疑ってください。ネームサーバーの設定を確認すると分かることがあります。
SNSでシェアしたときの画像やタイトルが古い
SNSは一度取得したページ情報を保存しており、更新しても古い画像やタイトルが表示され続けます。この場合、各SNSが提供するデバッグツールで再取得を指示する必要があります。サイト側のキャッシュを消しても、SNS側は変わりません。
検索結果に古い内容が出る
Googleの検索結果に表示される説明文が古い場合、それはGoogleがまだ再クロールしていないだけです。キャッシュの問題ではないため、消して直るものではありません。Search ConsoleのURL検査から再クロールを依頼できます(出典 Google 検索セントラル Search Console を使ってみる)。
更新が反映されない別の原因
キャッシュ以外の可能性も確認してください。
そもそも公開されていない
下書き保存のまま公開ボタンを押していない、公開日時が未来になっている、というケースがあります。投稿一覧でステータスを確認してください。(キャッシュを何度消しても、公開されていないものは表示されません)
カテゴリが違って一覧に出ていない
投稿は公開されているのに、トップページのお知らせ欄に出てこない場合、カテゴリの設定が原因のことがあります。一覧が特定カテゴリだけを表示する設定になっていないか確認してください。
編集したのが別のページだった
同じような内容のページが複数あり、公開されているのとは別のページを編集していた、というケースもあります。編集画面からプレビューではなく実際のURLを開いて確認してください。
固定ページの更新が反映される場所を間違えている
トップページに表示されている内容が、固定ページではなくテーマの設定やウィジェットから出力されていることがあります。この場合、投稿を編集しても表示は変わりません。
反映されない事態を減らす運用
毎回混乱しないための設定です。
更新後に自動でキャッシュを消す設定を確認する
多くのキャッシュプラグインには、記事を更新した際に関連ページのキャッシュを自動削除する設定があります。この設定が有効になっていれば、手動での削除はほとんど不要になります。有効になっているか確認してください。
キャッシュの保持時間を短くする
更新頻度の高いサイトでは、キャッシュの有効期間を数時間程度に設定しておくと、消し忘れても自然に反映されます。表示速度とのバランスで調整してください。
キャッシュ系プラグインは1つに絞る
複数のキャッシュプラグインを同時に有効化すると、互いに干渉して不具合の原因になります。1つだけを残し、他は削除してください。
手順書に「キャッシュの消し方」を書いておく
更新担当者が変わったとき、キャッシュの存在を知らないと「更新できていない」と誤解します。運用マニュアルに、使用しているキャッシュの種類と消し方を記載してください。
最後に
更新が反映されないときは、まずシークレットウィンドウで開いて、自分だけの問題か全員の問題かを切り分けてください。全員に古く見えるなら、キャッシュプラグイン、サーバーのキャッシュ、CDNの順に消していきます。そしてキャッシュを疑う前に、そもそも公開されているか、カテゴリが正しいかを確認してください。この確認を飛ばして何度もキャッシュを消し続ける、というのが最も時間を無駄にするパターンです。
Web管理では、月額1万円からWordPressサイトの運用保守を代行しています。キャッシュ構成の把握、自動削除設定の見直し、更新手順書の作成まで対応可能です。「更新しても反映されず毎回困っている」というご相談も歓迎します。

