【Blogger】画像のキャッシュの有効期限を変更する方法
自分のブログやサイトの表示速度は、やはり気になるものですよね? そんなときには、Google が提供している PageSpeed Insights(PSI)が役立ちます。
時折、PSI から「静的アセットの効率的なキャッシュポリシーの使用」について指摘を受けることがあります。これはサイトの画像キャッシュの有効期限を延ばすことで解決可能ですが、意外と手間がかかる作業です。
しかし、Blogger を使用している場合、簡単な操作でブログにアップロードされた画像のキャッシュ有効期限を変更することができます。
Bloggerサブドメインでのキャッシュの制御は難しい?
PSI でこのブログを測定すると、たびたび「静的なアセットでの効率的なキャッシュ ポリシーの使用 」を指摘されます。
Blogger にアップロードした画像のキャッシュの有効期間(TTL)はデフォルトでは 1 日(1 d)となっていて、これをもう少し長くしたほうがいいよーということらしいです。
WordPress の場合は .htaccess
を編集すればキャッシュの有効期限の変更ができますが、Blogger では独自ドメイン及び .htaccess
を新たに設置できるサーバーを持っていないと編集ができないようです。
Cloudflare という CDN サービスを使ってページをキャッシュさせる方法もあるようですが、これも独自ドメイン限定です。
blogspot.com
のサブドメインのこのブログではどのみち無理なので、指摘されてるけどどうしようもないねーと諦めていました。
Blogger で画像のキャッシュの有効期限を変更する方法
Blogger にアップロードした画像のURLのパラメータを書き換えるだけで、サイズや形式などを変更することができます。詳しくはこちらの記事をご覧ください。
今年のはじめ辺りにこの裏技を知ってからというものの、Bloggerカスタマイズにもふんだんに取り入れていました。
そして数か月が経ち、上の記事を改めて読んでみたところ、画像のキャッシュを制御するパラメータが存在する事を知りました。今まで綺麗に読み飛ばしていた部分でした。
例としてこちらの画像URLを変更してみます。URLの一部を_
で省略しています。
https://1.bp.blogspot.com/_/_/_/_/s120/sample.png
この s120
の部分を s120-e30
に書き換えます。
https://1.bp.blogspot.com/_/_/_/_/s120-e30/sample.png
これで画像のキャッシュの有効期限が 30日に変更されました。
つまり、画像のパラメータの部分に -e*
(*
は任意の数。上限は不明)を付け加えるだけで、画像のキャッシュの有効期間が指定した数字通りの日数になります。
実際にブログ上の一部の画像にこのパラメータを適用して、再度PSIで測定したところ、先程は「キャッシュのTTL」が 1 d だったところが 30 d(30日)に変わりました。わーい。
まさかパラメータをいじるだけでキャッシュまで制御できるとは思わなかったです。何で読み飛ばしたんだあのときの自分……。
あとがき
Blogger にアップロードした画像のキャッシュの有効期間を変更する方法を書きました。
独自ドメイン非所持&サーバーを別に借りなくても、画像の URL の一部を変えるだけで簡単にキャッシュの有効期間を変更できます。もし PSI に指摘されて困ってるよーって方はぜひ試してみてください。