WordPress

WordPressのスタイルシート更新でブラウザのキャッシュクリア問題を解決する方法

お客様から『サイトのデザインを変更したのに反映されない!』と相談された経験はありませんか?

WordPressのテーマのスタイルシートを更新した際に、CSSの変更がブラウザに反映されずお客様から「変わっていません」と相談が来てしまうこと、ありませんか?
この場合、キャッシュが原因で、確認が手間になるケースがよく見られます。

この記事では、キャッシュの仕組みと、テーマ保守時にできる簡単な対策を初心者向けに解説します。

ブラウザのキャッシュとは

ポイント

キャッシュとは、ブラウザがウェブページのデータ(CSS、画像など)を一時保存してサイトの読み込みを高速化する仕組みのことです。

一度訪問したサイトのデータをブラウザが保存しておいて、次に訪問した時に読み込みをしパッと表示してくれる、というメリットがあります。
ただそのキャッシュが原因で、「古い情報のまま表示してしまい、更新した内容に変わっていない」というトラブルにもなります。

WordPressの場合、スタイルシート(style.cssなど)がキャッシュされると、更新したCSSが反映されない。サーバーやCDN(例: Cloudflare)のキャッシュも影響する可能性があります。

お客様が古いデザインを見ている場合、キャッシュが原因の可能性大!

ブラウザのキャッシュをクリアする方法

ただし、毎回手動でクリアするのは非効率で、お客様にも負担がかかります。それに一般のサイトを訪問するお客様のブラウザが変わっていなかったら困ります。

主要なブラウザ(Chrome、Firefox、Safari、Edge)ごとのキャッシュクリア手順をわかりやすくまとめた記事があるので、こちらを確認してください。

キャッシュ問題をクリアできるもっと楽な方法はないの?

テーマ側でキャッシュを賢く回避する方法があれば、保守が楽になりお客様の確認もスムーズになりますよね。

テーマ作成時にできること

HTMLのlinkタグで読み込む場合

<link rel="stylesheet" href="style.css?v=1.0">

style.cssというファイル名の後に?v=1.0のようにクエリパラメータとしてバージョン番号を追加します。
これにより、ブラウザはキャッシュを無視して新しいバージョンを読み込むようになります。

functions.phpでバージョン番号を動的に付与

毎回スタイルシートのバージョンを手作業で入力するのも手間です。動的に変わってくれたらもっとメンテナンスが楽になります。

$style_version = filemtime( get_stylesheet_directory() . '/style.css' );
wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style'), $style_version );

wp_enqueue_styleやwp_enqueue_scriptにfilemtime()を使ってファイルの最終更新日時をバージョン番号に設定します。これでCSS更新時にキャッシュが自動的に無効化されます。

なお、上記はchild-styleと書かれているように子テーマを使っていることを想定したコードなので、読み込み方法は適宜修正してください。

ランダム値を使いたい

?ver=ランダム値というように、スタイルシートやスクリプトのURLにクエリ文字列を追加する方法もあります。

wp_enqueue_style( 'child-style', get_stylesheet_directory_uri() . '/style.css', array('parent-style'), time() );

こちらは毎回異なるクエリ文字列が生成されます。

まとめ

キャッシュ問題はホームページの保守運用でよくある課題です。
filemtime()を使ったバージョン管理で、CSS更新をスムーズに反映可能!
本番環境ではキャッシュを活用しつつ、キャッシュのトラブルを解決しましょう!

  • この記事を書いた人

ゆず

■忘れないように自分の覚書と、誰かも困っているかもしれないので参考になればいいなくらいの軽い備忘録です。
■サイト運営費のためGoogleAdsenseをいれています。
gifteeを贈る / コーヒーをおごる / mail

1

outlookを最小化すると勝手に終了してしまう outlookを最小化すると勝手に終了してしまうと相談されたけど実はそれ勝手に閉じてるわけじゃなくて、おそらく「最小化時にアイコン化する設定」になって ...

2

前提 自分用ブックマークサイトとして使用しているてがろぐに、いいねボタンをつけようという狙いです。なので、てがろぐのセットアップは終了し稼働しているものとします。 配布ページのマニュアルを参考に進めま ...

3

感想をもっと手軽に、お気軽に。 https://labo.01kawa.com/kansou 同人イベントやSNSで大好きな作家さんの作品に感動したとき、「感想送りたいな!」って思うけど、言葉に詰まっ ...

-WordPress
-