2018年05月30日
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管理画面のテーマ設定ページにアクセスし、テーマを選択し直すのを忘れないように。