WordPressでのCache Busting:画像をキャッシュさせない方法

クライアントワークでの悩みのひとつ。

筆者:「修正しましたよ」
クライアント:「修正されてないけど…」
筆者:「キャッシュを削除してください」「スーパーリロードしてください」「F5連打して!」

こうした不効率を、クライアント側のリテラリーのせいにするのも不親切だ。制作者サイドで気を利かせるべきだろう。

画像をキャッシュさせない(Cache Busting)

いわゆる「Cache Busting」と言われる方法。

一般的な対応:imgタグ末尾にパラメータを付与

通常のimgタグ。

<img src="sample.jpg" alt="">

この末尾に「?」+適当な半角文字列(一般的には日付)を入れてあげると、キャッシュを回避できる。

<img src="sample.jpg?20180530" alt="">

WordPressでの対応:themeのフォルダ名を変更

WordPressで構築しているサイトの場合、themeのフォルダ名そのものを変更する(末尾に日付を加える)方法もおすすめだ。

多くの場合、画像パスは「wp/wp-content/themes/xxxxx/img/」となると思うので、「xxxxx」を「xxxxx_20180530」のように変更してあげればキャッシュを回避できる。(ただしcssやjsも読み込み直しとなる。画像のキャッシュ回避の域を超えている気もするが…)

注意点として、WordPress管理画面のテーマ設定ページにアクセスし、テーマを選択し直すのを忘れないように。