[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要素をどこかに記述し、キャッシュさせる必要がある。