Amazonアフィリエイト画像をSSL経由で表示する

2016年9月22日

EIKO エーコー SSLダイヤル式1時間耐火金庫:58kg【SSL-4】

運営しているサイトをすべてhttps対応し、httpへのリクエストはhttpsに転送するようにしました。世界的にhttps対応が必須になりつつあるようで、ChromeがhttpのWebサイトを「危険」と表示するようになるらしいです。具体的にどれくらい目立つ表示がされるのかはわかりませんが、ブラウザとしてある程度のシェアをIEから奪い取って現状トップシェアを誇るChromeから干されるような事態は避けなければなりません。

ChromeはHTTPの死を早めている…1月からHTTPSでないページに警告を表示
http://jp.techcrunch.com/2016/09/09/20160908chrome-is-helping-kill-http/

Chromeのセキュリティチームの今日(米国時間9/8)の発表によると、2017年の1月からこのブラウザーは、パスワードやクレジットカードのデータの送信にHTTPを使っているWebサイトを「危険(insecure)」とマークする。その警告はブラウザーのアドレスバーに表示され、個人情報が見られたり盗まれたりするかもしれない、とユーザーに注意を促す。

さらにその後Chromeは、ユーザーがブラウザーの“匿名”モードで見ているHTTPページにはページの上に警告を表示する。そして今後は、閲覧モードがなんであれ、すべてのHTTPページに警告を出す。

https対応するためには、SSL証明書が必要になります。以前はSSL証明書を発行すること自体にそれなりのお金が必要だったのですが、今はlet’s encryptを使えば無料発行できます。素晴らしい。Chromeの動向と、SSL証明書を無料で取得できる環境が整ったことから、今後加速度的にSSL対応が進んでいくように思います。

さて、SSL証明書を用意してWebサーバに設定すること以外の必要な作業として、サイト内のリソースをすべてhttpsプロトコルで読み込むように修正する必要があります。サイト内部のリソースしか使っていない場合は無修正で問題無いかもしれませんが、外部サイトの画像を使っている場合はhttps経由で表示しなければいけません。

俺の場合は、Amazonのアソシエイト画像が引っかかりました。商品画像リンクを簡単に作成できるツールがWeb上に結構転がっていますが、これを使うとhttpの画像URLがsrcに設定されることが多いです。実際そうでした。今までの記事のすべてのsrcを手作業で修正するのは非常に骨が折れる作業です。WordPressで記事中の文字列を一括置換できるプラグインを探したところ、以下のプラグインを発見しました。

Search Regex
https://ja.wordpress.org/plugins/search-regex/

Search Regex は、検索のための完全な正規表現をサポートし、WordPressに強力な標準検索機能と置き換え機能を追加します。

このプラグインをインストール+有効化し、管理画面左メニュー「ツール」「Search Regex」をクリックします。「Search pattern」に置換元文字列、「Replace pattern」に置換後文字列を入力します。ここでは以下のように入力しました。ecx.images-amazon.comドメインにhttpsリクエストをしてもダメだったので、プロトコルだけでなくドメイン自体もSSL用に変更します。

Search pattern
ttp://ecx.images-amazon.com/images/
Replace pattern
ttps://images-fe.ssl-images-amazon.com/images/

なお、「Search」ボタンを押すと、置換元文字列としてヒットした投稿を一覧表示してくれるし、「Replace」ボタンを押すと置換したときの投稿を一覧表示してくれます。置換自体は実行されません。置換を実行する前に確認しておきましょう。問題なさそうなら、「Replace & Save」ボタンを押せば完了です。