現時点で、このブログはSSL化されていませんが、先日作ったサイトは、ちょっとスケベ心をだしてSSL化しちゃいました。
そして、SSL化したサイトをオープンして、20日ほど過ぎたとことで、ちらっと目に入った、盾に「×」のマークが付いたアイコン。最近老眼が進んだ目で、よくよく見てみると、こんなヤツでした。
このアイコンに恐る恐るマウスを近づけたところ、
「このページは承認されていないソースからのスクリプトを読み込もうとしています」だって。
せっかく、SSL化したのに、こんな指摘を頂いちゃたもんで、このイチャモンを解決しちゃいましょうかねってことで、軽めの尻を上げちゃいました。
調査開始!
今度は、恐る恐るこのアイコンをクリックしてみました。
すると、「このページは承認されていないソースからのスクリプトを読み込もうとしています」とエラーが表示されて、その下には「安全でないスクリプトを読み込む」と書かれたリンクと「詳しく見る」と書かれたリンクが書かれていました。
身の潔白を証明したい私は、迷うことなく「安全でないスクリプトを読み込む」と書かれたリンクをクリックしてみました。
すると、URLの手前に「保護されていません」と赤いメッセージが表示されました。
次に、「詳しく見る」と書かれたリンクをクリックしてみました。
すると、こんねヘルプページに接続されちゃいまいた。
まあ、くどくどと書かれていますが、要は、安全ではない「SSL化されていない」スクリプトがあるので、自分で調べて見ろと書かれています。
親切に、Google Chromeの「その他のツール」から「デベロッパーツール」を使って調べるように書かれてします。
デベロッパーツールで調べてみたところ
デベロッパーツールで調べてみたところ、こんな感じでした。
細かな字で、老眼泣かせですが、要は「http://www.google.co.jp/cse」の部分が「https」じゃないってことにお怒りのようです。って、おまえんとこのじゃねえのってツッコミたくなるところではありますが、さてどうしたもんか?
AdSense用広告コードのSSL対応の方法
「http://www.google.co.jp/cse」で、そのページのソースに検索を書けてみたところ、ブログのサイドメニューに貼り付けてある、AdSenseのカスタム検索ユニットの問題だと、あっさり分かっちゃいました。
ちなみに、検索ユニット以外のAdSenseのコードには、この「http:」の部分が書かれていないため、影響を受けていませんでした。
で、調べてみたところ、
こんなページを発見しました。(見逃していました。)
HTTPS 経由でアクセスできるサイトでは、HTTP と HTTPS のコンテンツが混在しているとみなされて AdSense スクリプトがブロックされないように、古い AdSense 広告コードを変更する必要がある場合があります。AdSense 広告コードのスクリプトが「http://」で始まる場合は、「https://」に変更してください。
<script src=”https://pagead2.googlesyndication.com/pagead/show_ads.js”>
<script async src=”https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js”>HTTPS バージョンの広告コードは HTTP ページでも使用できます。2 種類のバージョンを配信する必要はありません。
と、こんな風に書かれていました。
そこで、早速、検索ユニットのAdSenseのコードの「src=”http:」の部分を「src=”https:」に修正したろこと、無事にエラーが表示されなくなっちゃいました。
最後に
たまたま、自分のところは、AdSenseのコードの1箇所だけでしたが、他の方の場合は、違う部分で発生する可能性があるかも知れません。
そんな場合は、慌てず騒がず、「デベロッパーツール」で調べて1つ1つ潰して、Google先生に怒られないように気を付けましょう。