CSSを修正してファイルをアップロードしたのに、ブラウザで確認するとデザインが変わっていない。
Web制作では、このような問題がよく起こります。
アップロードに失敗したと思って同じファイルを何度も送ったり、さらにCSSを追加したりしても、原因がキャッシュであれば状況は改善しません。
キャッシュはWebサイトを速く表示するための便利な仕組みですが、制作中や更新直後には混乱の原因にもなります。
今回は、キャッシュの基本と、修正内容が反映されないときの確認方法を初心者向けに解説します。
キャッシュとは一度取得したデータを保存する仕組み
Webサイトを開くと、ブラウザはHTML、CSS、JavaScript、画像などのデータを読み込みます。
同じページを開くたびにすべてのデータを取得すると、表示に時間がかかり、サーバーへの負担も増えます。
そこで、一度取得したデータを一時的に保存し、次回から再利用する仕組みが使われます。これがキャッシュです。
キャッシュがあることで、利用者は同じサイトをより速く表示できます。
一方、サーバー上のCSSが新しくなっていても、ブラウザが保存済みの古いCSSを使用すると、修正前のデザインが表示されてしまいます。
キャッシュは一種類だけではない
「キャッシュを削除したのに直らない」という場合は、別の場所に古いデータが残っている可能性があります。
Webサイトでは、主に次のような場所でキャッシュが使われます。
ブラウザ
WordPressのキャッシュ系プラグイン
レンタルサーバー
CDN
パソコンや通信環境の一部
Webサイトの表示を高速化する外部サービス
ブラウザのキャッシュを削除しても、サーバーやCDNが古いファイルを返していれば表示は変わりません。
どこにキャッシュが残っているのかを順番に確認する必要があります。
まず本当にファイルが更新されているか確認する
修正が反映されないとき、最初からキャッシュだけを疑うのも危険です。
そもそも別のファイルを編集していたり、アップロード先を間違えていたりすることもあります。
特に、ローカル環境、テスト環境、本番環境を使い分けている場合は注意が必要です。
修正しているファイルが本番サイトで読み込まれているものか、正しいフォルダへアップロードできているかを確認します。
WordPressでは、似た名前のテーマや子テーマが存在し、編集したテーマとは別のテーマが有効になっているケースもあります。
キャッシュを削除する前に、更新したファイルと公開先が一致しているかを確認することが大切です。
シークレットウィンドウだけでは判断できない
キャッシュの影響を確認するために、シークレットウィンドウを使用する方法があります。
通常のウィンドウとは別の状態でページを開けるため、ブラウザ側の保存データが原因かを調べる手掛かりになります。
ただし、シークレットウィンドウを使えば、すべてのキャッシュを回避できるわけではありません。
WordPressのプラグイン、サーバー、CDNなどのキャッシュは、シークレットウィンドウで開いても利用される場合があります。
シークレットウィンドウで変化が見えないからといって、キャッシュが原因ではないとは断定できません。
WordPressではプラグインのキャッシュも確認する
WordPressには、ページの表示速度を改善するためのキャッシュ系プラグインがあります。
これらのプラグインは、ページの表示結果やCSS、JavaScriptなどを保存することがあります。
テーマファイルを修正しても、プラグインが保存している古いデータが表示されれば、画面には反映されません。
管理画面にキャッシュを削除する機能が用意されている場合は、修正後に実行します。
ただし、原因が分からないまま複数の高速化プラグインを入れたり、設定を変更したりすると、管理が複雑になります。
どの仕組みがキャッシュを作っているのかを把握しておくことが重要です。
レンタルサーバーにもキャッシュ機能がある
WordPress側でキャッシュ系プラグインを使っていなくても、レンタルサーバーの機能によってキャッシュされている場合があります。
サーバーの管理画面に、高速化、サーバーキャッシュ、ブラウザキャッシュなどの設定が用意されていることがあります。
サイトを公開した直後や大きなデザイン変更を行ったときは、サーバー側のキャッシュ削除が必要になる場合があります。
ただし、キャッシュを削除すると一時的に表示速度やサーバー負荷へ影響する可能性があります。
本番サイトでは、必要なタイミングで実行し、削除後に主要なページが正常に表示されるか確認します。
CDNを使っている場合は配信側にも古いデータが残る
CDNは、Webサイトのデータを複数の拠点から配信し、表示を速くする仕組みです。
CDNを利用していると、Webサーバー上のファイルを更新しても、CDN側に保存された古いCSSや画像が配信されることがあります。
この場合、ブラウザやWordPressのキャッシュを削除しても表示は変わりません。
CDNの管理画面から対象ファイルやサイト全体のキャッシュを削除する必要があります。
ただし、毎回すべてのキャッシュを消すのではなく、可能であれば変更したファイルだけを対象にした方が影響を抑えられます。
CSSを追加し続けるのは逆効果
修正が反映されないと、「指定が弱いのかもしれない」と考えてCSSを追加することがあります。
しかし、原因が古いキャッシュであれば、新しい指定を増やしても確認できません。
同じ要素に対する指定が何重にも追加され、キャッシュが更新された瞬間に想定外のデザインになることもあります。
反映されないときは、まず次の点を確認します。
正しいファイルを編集しているか
本番環境へアップロードできているか
ブラウザに古いデータが残っていないか
WordPressのキャッシュが残っていないか
サーバー側のキャッシュが残っていないか
CDNを利用していないか
別のCSSに上書きされていないか
原因を確認する前にコードを増やさないことが大切です。
ファイルの更新をブラウザへ伝える方法もある
CSSやJavaScriptを読み込むとき、ファイル名の後ろに更新情報を付ける方法があります。
ファイルの内容を変更したタイミングでこの情報も変えると、ブラウザは別のファイルとして判断し、新しいデータを取得しやすくなります。
WordPressでは、テーマやプラグイン側でファイルのバージョンを指定できる仕組みがあります。
更新のたびに利用者へキャッシュ削除をお願いするのではなく、制作者側で新しいファイルを取得させる工夫をしておくと運用しやすくなります。
公開後は複数の環境で確認する
自分のパソコンで修正後の表示が確認できても、他の利用者には古い状態が表示されている可能性があります。
公開後は、通常のブラウザだけでなく、シークレットウィンドウやスマートフォンなどでも確認します。
可能であれば、別の通信環境や端末からも確認すると、特定の環境だけに残っている問題を見つけやすくなります。
確認するときは、トップページだけでなく、修正したCSSやJavaScriptを使用している下層ページも開くことが大切です。
まとめ
キャッシュは、Webサイトを速く表示するために一度取得したデータを保存する仕組みです。
便利な反面、CSSやJavaScriptを修正した直後には、古い状態が表示される原因になります。
修正内容が反映されないときは、ブラウザだけでなく、WordPress、レンタルサーバー、CDNなど、複数の場所にキャッシュが存在することを意識する必要があります。
ただし、すべてをキャッシュの問題だと決めつけず、正しいファイルを編集しているか、アップロード先が合っているかも確認します。
CSSを追加して無理に直そうとするのではなく、どの段階で古いデータが使われているのかを順番に切り分ける。
この習慣を身につけることで、Webサイトの更新作業をより正確に進められるようになります。