昨日書いた常時SSLでJetpack Photonを使う方法です。
時間経つと忘れて書かなくなるので早いうちに書いておきます。
常時SSL(hhtps)でPhoton CDNを利用する
少しでもサーバー負担を減らせて高速化出来るならと思って、Newショップサイトで活用しようと思ったPhotonですが、どうやらデフォルトではhttpsを演算でフィルターしてしまっているようでした。でも、本家サイトにはhttpsも対応できる風な事が書いてあるわけで色々調べたワケです。
といっても、常時httpsなんてやってるサイトあんまり無いので興味ある人なんて少ないと思いますが、自分でphpと眺めっこしてて非常に苦痛でしたのでメモを残します。
一文字追加するだけ!!
phpを見ていけば結構簡単でしたが、そもそもphpを見始めて数ヶ月の僕には結構大変でした。
多分、テーマのfunctions.phpでフィルターを外す事も出来るのでしょうけど、分からないので直接プラグインをいじります。1文字だけだし。
まずは、プラグイン編集でjetpackからfunctions.photon.php を開きます。
$photon_url = "http://i{$subdomain}.wp.com/$image_host_path";
65行目くらいに上のの文があるので、ここに(S)を加える。
$photon_url = "https://i{$subdomain}.wp.com/$image_host_path";
これで、photonを有効化したときの画像パスがhttpsになるんだと思う。
次はclass.photon.php。
// Bail if scheme isn't http or port is set that isn't port 80 if ( ( 'http' != $url_info['scheme'] || ! in_array( $url_info['port'], array( 80, null ) ) ) && apply_filters( 'jetpack_photon_reject_https', true ) ) return false;
456行目くらいの演算でhttpsのフィルターをしているのだと思います。
で、ここにも(S)
// Bail if scheme isn't http or port is set that isn't port 80 if ( ( 'https' != $url_info['scheme'] || ! in_array( $url_info['port'], array( 80, null ) ) ) && apply_filters( 'jetpack_photon_reject_https', true ) ) return false;
これで常時SSLでもPhotonを有効に出来ます。
ウチは外してしまいましたが・・・・ アクセスが凄くなる事があれば使います。無さそうだけど・・・・
ただ、一つ疑問なのは、最後の
apply_filters( 'jetpack_photon_reject_https', true ) )
↑これ
jetpack_photon_reject_https’, trueのままでも有効になったんですよねー。falseは試してません。とりあえず有効化出来たので良しとしました。
ではでは・・・