2015-10-08

HTTPS(SSL)でAmazonアソシエイトの広告(iframe)が表示されないときの対処法

このブログをHTTPS化すると同時に、ブログ内で使用しているAmazonアソシエイトのバナー広告が全て表示されなくなるという事態が発生しました。備忘録として書き残しておきます。

現象

以下のようなAmazonアソシエイトのバナー広告が、全く表示されず、ただの空白となってしまっていました。

対処法

上記の表示されない方のバナー広告のHTMLは以下のようになっています。

<iframe src="http://rcm-fe.amazon-adsystem.com/e/cm?t=s8a-22&o=9&p=8&l=as1&asins=B0012Z1OWU&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&npa=1&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

HTTPS(SSL)を利用しているときは、iframeのsrc属性もhttpsのURLで指定しなければならないようです。

調べてみると、Amazonアソシエイトのみならず、他のiframeも同様のようです。

よって、以下のように書き換えます。

<iframe src="//rcm-fe.amazon-adsystem.com/e/cm?t=s8a-22&o=9&p=8&l=as1&asins=B0012Z1OWU&ref=tf_til&fc1=000000&IS2=1&lt1=_blank&m=amazon&lc1=0000FF&bc1=000000&bg1=FFFFFF&npa=1&f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>

httpsとしてもいいのですが、上記のようにプロトコル自体を省略表記するのが最もいい選択だと思います。

まとめ

HTTPS化、何気にいろいろ面倒くさい。