前回7月9日付エントリーは、カビが生えた麦藁帽子のハナシだったのに、アップした帽子の画像が表示されず、前日の温泉の画像が出てしまうという不具合で2日も悩んでしまった。ようやく解決したので、そのくだりを少し。

不具合の原因はずばり、Wordpress.comのプラグインJetPackのCDNサービス Photonだった。Photonは一旦キャッシュすると更新不可とのこと。Photonを無効にすることで解消されたことを先に書いておく。

JetPack Photon
JetPack Photon

経過を記すと・・・・
キャッシュの不具合だろうと見当をつけ、最初にブラウザの一時ファイルの削除を試してみた。するとIEとFirefoxは成果なし。ChromeとiOSのSafariでは何もしなくても期待通りの正常表示。ブラウザによって、表示が違うとはどういうこと?

次にサーバーのキャッシュをクリアしたが、変わらず!う~~ん???
面倒くさくなってしばらく放っておくことに・・・・。カビ臭い話に温泉の写真はいかにも不似合いなので、今朝になって、再度挑戦。

Google検索で、ようやく「JetPack Photonのキャッシュ画像は更新できない」に辿りついた。

Photon制限事項

Photonの公式を確認しますと以下のように記載されています。

Photon — Jetpack for WordPress (抜粋引用)

Limitations

  • No cache invalidations – currently the images are cached “forever”. If you want to “refresh” an image you will need to change the name of the image. Adding random query arguments, commonly known as cachebusters, will not work.

制限事項

キャッシュ無効化不可-現在の画像は「永遠」にキャッシュされます。イメージを「リフレッシュ」したい場合は、画像の名前を変更する必要があります。一般的に、キャッシュ·バスターとして知られている、ランダムクエリ引数を追加する方法は動作しません。

記事を読みながら、当サイトもPhotonを有効にしていたことを思い出し、Photonを無効化してみたところ、ビンゴ!期待通りカビの生えた麦藁帽子が出現した。

設定どおりの写真が出てこない原因は、JetPackのCDNサービス Photonのキャッシュではあったが、何故そうなったかと言うと、7/8付けのブログ写真を150709.jpgとした後、翌日になって整合性を保つために150708.jpgとリネームし、7/9付け写真を150709.jpgとしたこと。

Photonにとっては150709は既にキャッシュ済みであり、同名で別の画像がアップされてもブラウザには以前の画像をそのまま送り出す仕組みらしい。

なので、Photonを使いたければ以下のことを肝に銘じよう。
Photonのキャッシュは「永遠」に続くので、画像をリフレッシュしたい場合は、名前再利用は禁物。全く違う名前に変更すべし。