[WordPress] Jetpackの画像キャッシュ機能「Photon」の使い方・設定:おすすめ無料CDN【まとめ】

Photonとは:概要

WordPress(WordPress.com)の公式プラグイン集「Jetpack」内にある機能のひとつで、投稿内の画像をWordPress.comのサーバに自動で保存し、それを表示させる。

それによって、ブログのあるサーバのトラフィック(転送量)を減らすことが可能。

設定方法

WordPress管理画面の左メニューから「Jetpack>設定>Writing」の「メディア>画像と写真をスピードアップ」のトグルスイッチをオンにする。

機能

投稿内に記述されたHTMLのimg要素の画像を自動的に抽出し、その画像をWordPress.comのサーバにリサイズして保存し、出力される投稿のHTMLタグの記述も自動で変換する。

あくまでWordPress.com側のサーバに保存するだけなので、自分のサーバにある画像を勝手につくり変えるわけではない。よって、Photonをオフにすれば簡単に元に戻せる。

すべて自動で行われるので手間がなく、古い投稿にも問題なく適用される。

JPEG、PNG、GIFの主要な画像形式(フォーマット)にのみ対応。

リサイズ時のサイズ決定基準

該当するimg要素(タグ)か、その親要素のwidth・height属性を基準にする。

出力されるimg要素のwidth・height属性は、削除される。

キャッシュ画像のURL

http://i0.wp.com/s.ma.tt/files/2012/06/DSC01205.jpg?w=300
ドメイン

i0.wp.com~i3.wp.comまで用意(もっとあるかも)

形式

ix.wp.com/ + 元の画像のURL(http(s)://を除く) + ?(APIの各種パラメータ)

API

通常のキャッシュURLの末尾に各種パラメータを指定することで、さまざまな機能を使うことができる。

画像のリサイズなど。

公式リファレンスのページで、実際にどのように表示されるか示しながら説明されている。

HTTPS経由の画像を除外させたい場合

通常、Jetpackはすべての画像をキャッシュしようとするが、なんらかの理由でHTTPSの画像はキャッシュ対象外にしたい場合、WordPressで以下のフィルターを設定する。

add_filter( 'jetpack_photon_reject_https', '__return_true' );

問題点、デメリット、リスク

  • 設定の変更は一切できない
  • キャッシュの更新はされない
  • キャッシュの削除ができない
  • キャッシュ対象は画像のみ
  • 他のプラグインとの相性が悪い
  • なぜかキャッシュされないときがある
  • WordPress、またはWordPress.comのサービス以外では使えない
  • a要素(アンカータグ)で囲われているとキャッシュ対象にならない

キャッシュの更新・削除はされない

公式が「永久にできない」と言い切っている。

つまり、キャッシュのほうのみを変えたい場合でも、元の画像ファイルの名前を変更するしかない。

また削除の方法すらないので、何かの間違いで問題のある画像がキャッシュされても、ユーザー側では対処のしようがない状況。

他のプラグインとの相性が悪い

LightBoxのような画像の表示方法を変更するものや、WP CacheのようなWordPress全体をキャッシュするものの動作がおかしくなることもある。

たとえばSimple LightBoxは、img要素をa要素で囲わないとポップアップ対象の画像として認識しない。

なぜかキャッシュされないときがある

原因不明。対象画像は投稿を再度更新しても直らないので、こうなったときは上記の方法でPhotonのURLを直接指定すればいい。

WordPress、またはWordPress.comのサービス以外では使えない

規約で禁じられている。

Photonで問題がある場合は、CloudFlareなど他のCDNを検討しよう。

img要素がa要素(アンカータグ)で囲われているとキャッシュ対象にならない

なぜか対象外になる(LightBoxなどに悪影響を与えないためか?)。

いったんa要素のついていないimg要素をどこかに記述し、キャッシュさせる必要がある。