HTTPS化した場合にGoogleカスタム検索でMixed Contentsエラーになる場合の対処方法

検索結果をGoogleサイトに表示する場合は、検索フォーム側のコードはhttp://のところを、https://か//にするだけでいい。
問題は検索結果をiframeで自サイトのページに表示する場合の検索結果表示側のコード。
show_afs_search.jsスクリプトは内部で静的にhttpで記述(ハードコード)されている。
このため、HTTPのリンクが混在しているためMixed Contentsのエラーになり、検索結果が表示されない。
※もちろんWebブラウザ側で許可すれば表示されるが、それではダメだ。
対処方法として手っ取り早いのは、show_afs_search.jsをダウンロードしてサイトの任意のフォルダに置き、show_afs_search.js内のhttpの部分をhttpsに変えて(1箇所しかない)、そのshow_afs_search.jsを読ませればいい。
src部分は以下のような感じ。
src="/javascript/google/show_afs_search.js"

なお、ポリシー上の観点では、この変更は、Googleフォーラム などでも議論されているが、httpをhttpsに変えるだけなのでまったく問題ない行為と思われる。
※現時点でもコードはアドセンスのサイトで取得できるが、httpでハードコードされた同じスクリプトにリンクされている。
GoogleはHTTPS用に変更するつもりはないようだ。
一文字追加するだけの他愛のないことなので、やりたければ自分でやれということかな。
追記
Googleは既にiframeの検索結果表示はサポートしていないようで、下部にある「その他の検索オプション機能」のリンクから「カスタム検索エンジン」を開き、「デザイン」を選択し、レイアウトで「結果のみ」を選択して取得したコードを検索結果ページに貼り付ければできた。

※ちなみに検索フォーム側のコードはアドセンスサイトから取得したコードのままでいい。(但しhttp部分をhttpsに変更する必要はある)

公開日:2017年02月21日

記事 > ネットビジネス > HTTPS化した場合にGoogleカスタム検索でMixed Contentsエラーになる場合の対処方法

他の記事も見る

このページのトップに戻る