「反映されない」には3つのまったく違う原因があります。ブラウザのキャッシュ、サーバーのキャッシュ、そしてDNSの反映待ちです。それぞれ待つべき時間も対処も違うため、まず原因を切り分けないと無駄な作業をすることになります。ここでは切り分けの手順と、それぞれの対処を解説します。管理画面全体の使い方は使い方ピラーをご覧ください。
最初の一手:シークレットウィンドウで開いてください。新しい内容が見えるならブラウザキャッシュが原因で、消せば即座に解決します。シークレットでも古いままなら、サーバーキャッシュかDNSの問題です。この1手で原因が半分に絞れます。
3つの原因と待ち時間の違い
| 原因 | 待ち時間の目安 | 自分で消せるか |
|---|---|---|
| ブラウザキャッシュ | 消せば即座 | 消せる |
| サーバーキャッシュ | 数分〜数十分 | 消せる |
| DNS反映待ち | 数時間〜最大72時間 | 待つしかない |
DNSだけは自分で早めることができません。ここを取り違えて「反映されないから設定を変えよう」と操作すると、変更のたびに待ち時間がリセットされ、かえって長引きます。
切り分けの手順
- 1 シークレットウィンドウで開くブラウザのシークレットモード(プライベートウィンドウ)で同じURLを開く。新しい内容が見えるならブラウザキャッシュが原因
- 2 スマートフォンのモバイル回線で開くWi-Fiを切ってモバイル回線で開く。ここで新しい内容が見えるなら、自宅の回線やPC側の問題
- 3 別の端末・別の人に確認してもらう他の人には新しい内容が見えているか。人によって見え方が違うならDNS反映待ち
- 4 サーバーキャッシュの設定を確認するサーバーパネルでキャッシュ機能を有効にしている場合、キャッシュを削除する
- 5 設定そのものを確認するここまで試して変わらなければ、設定が保存されていない可能性。もう一度画面を開いて確認する
原因① ブラウザキャッシュ
もっとも多い原因です。ブラウザは一度読み込んだページを保存しておき、次に開いたときはそれを表示します。
対処
スーパーリロードを試してください。通常の再読み込みではキャッシュが使われることがあります。
- Windows:Ctrl を押しながら再読み込み
- Mac:Command を押しながら再読み込み
これでも変わらない場合は、ブラウザの設定からキャッシュ(閲覧履歴データ)を削除します。
自分には古い内容が見えていても、他の訪問者には新しい内容が見えていることがよくあります。自分のブラウザだけの問題なので、慌てて設定を変更しないでください。まずシークレットウィンドウで確認するのが確実です。
原因② サーバーキャッシュ
エックスサーバーには表示を高速化するキャッシュ機能があります。有効にしていると、サイトを更新してもキャッシュが残っている間は古い内容が表示されます。
対処
サーバーパネルからキャッシュを削除します。操作場所はサーバーパネルの使い方で解説しています。
WordPressでキャッシュ系のプラグインを使っている場合は、そちらのキャッシュも削除してください。サーバー側とプラグイン側の両方にキャッシュがあると、片方だけ消しても反映されません。
キャッシュを使うかどうかの判断
キャッシュは表示速度を改善する有効な機能です。「反映されないから」と無効にするより、更新したときにキャッシュを削除する運用にするほうが、日常の表示速度の面で得になります。速度改善については遅いときの記事にまとめています。
原因③ DNS反映待ち
ドメインを取得した直後、ネームサーバーを変更した直後、DNSレコードを編集した直後に起きます。
なぜ時間がかかるのか
DNSの情報は世界中のサーバーに分散して保存されています。変更した情報がすべてに伝わるまで時間がかかり、その間はアクセスする人によって新旧どちらが表示されるかが分かれます。
待ち時間の目安
| 変更内容 | 目安 |
|---|---|
| DNSレコードの編集 | 数分〜数時間 |
| ネームサーバーの変更 | 数時間〜最大72時間 |
| ドメインの新規取得直後 | 数時間 |
反映されないからと設定を何度も変更しないでください。変更するたびに待ち時間がリセットされ、かえって長引きます。一度設定したら最低1時間は待ってから判断してください。
また、この期間中はサイトの更新を控えてください。新旧どちらのサーバーに書き込まれるか分からないため、片方にしか反映されない事態になります。
DNSの仕組みはDNS設定の記事、ネームサーバーの変更手順はネームサーバーの記事にまとめています。
症状別の対処一覧
| 症状 | 疑うべき原因 | 対処 |
|---|---|---|
| 記事を更新したのに変わらない | ブラウザ/サーバーキャッシュ | スーパーリロード→キャッシュ削除 |
| 自分だけ古い内容が見える | ブラウザキャッシュ | シークレットで確認 |
| 人によって見え方が違う | DNS反映待ち | 待つ |
| 新しいドメインが表示されない | DNS反映待ち | 待つ |
| 画像を差し替えたのに古いまま | ブラウザキャッシュ | スーパーリロード |
| CSSの変更が反映されない | ブラウザ/サーバーキャッシュ | 両方削除 |
| 設定を変えたのに動作が変わらない | 設定が保存されていない | 設定画面を再確認 |
| PHPを切り替えたが変わらない | 対象ドメインの選択ミス | PHPバージョンの記事参照 |
反映されているのに気づかないケース
意外と多いのが、実は反映されているのに別の場所を見ているケースです。
-
別のドメインを見ている
複数サイトを運営していると、URLを取り違えていることがあります。アドレスバーを確認してください。 -
www ありとなしで違う内容が出ている
example.comとwww.example.comが別々に設定されている場合があります。 -
httpとhttpsで違う内容が出ている
httpsに切り替えた直後は、httpのほうに古い内容が残っていることがあります。 -
テスト環境を見ている
サブドメインでテスト環境を作っている場合、そちらを見ている可能性があります。
設定が保存されていない可能性
ここまで試しても変わらない場合、そもそも設定が保存されていないことがあります。
- 保存ボタンを押していない
- 確認画面で確定していない
- 入力エラーで保存されていない(画面上部にエラーが出ていないか確認)
- 別のドメインの設定を変更していた
設定画面をもう一度開いて、変更内容が反映されているかを確認してください。保存されていなければ、キャッシュもDNSも関係ありません。
まとめ
「反映されない」の原因はブラウザキャッシュ・サーバーキャッシュ・DNS反映待ちの3つで、待つべき時間がまったく違います。
最初にやるべきはシークレットウィンドウで開くこと。新しい内容が見えるならブラウザキャッシュが原因で、即座に解決します。
人によって見え方が違うならDNSの反映待ちです。この場合は待つしかありません。設定を変更すると待ち時間がリセットされ、かえって長引きます。
ここまで試しても変わらない場合は、設定そのものが保存されていない可能性を確認してください。
DNSの仕組みはDNS設定の記事、キャッシュ設定の場所はサーバーパネルの使い方、表示が遅い場合は遅いときの記事をご覧ください。