Google カスタム検索のイメージと SSL

informatics/html/google_searchbar_ssl
4-25-2017 updated

  1. 何が問題か?
  2. 解決方法

広告

Google カスタム検索の SSL 対応とイメージ: 何が問題か?

Google カスタム検索バーは、サイトを指定した検索を可能にする便利な機能である。このページの目次の下にある "Search in this site" というのがそれで、設置の方法などは Google カスタム検索 のページに記録した。

問題は、サイトが SSL を使っている場合に、カスタム検索バーのイメージ (カラフルな GoogleTM の部分) が SSL でないために警告が出てしまうこと である。

同じ悩みを抱えてここへ来た人はページ下の「解決方法」を、問題点をもう少しクリアにしたい人は「もう少し詳しく」を読んで下さい。


もう少し詳しく

Google カスタム検索のガイドライン (1) には、「カスタム検索ボックスをサイトに表示する場合には、このサービスが Google によって提供されていることを示す画像を明瞭に表示しなければいけない」と書かれている (1)。GoogleTM の部分がそれである。

コードを見ると、この画像の部分は

img src="http://www.google.com/cse/images/google_custom_search_smwide.gif"

となっている。つまり Google のサーバーにある gif 画像を iframe タグで参照して表示しているのである。


ところで、この ultrabem3 のサイトは SSL という方式を採用している。これは ブラウザとサーバーの間のデータのやりとりが暗号化されている ことを意味し、非 SSL のサイトよりも安全なインターネット利用を保証している。オンラインショッピングサイトなど、重要な情報を送受信するサイトでは SSL は必須である。SSL サイトの URL は https: から始まるので、すぐに見分けることができる。


ここで Google 画像の URL が http: から始まっていることが問題となる。SSL のサイトの一部が非 SSL の状態になってしまっているので、サイト全体の安全性が保証されなくなり、右のような警告が出てしまう。

https でなく、http を含んでいるという警告である。



解決方法

かなり昔からある問題のようで、2009 年のヘルプフォーラムがあった (2)。最初の Google 社員の返信が「規約にない利用方法となりますので、申し訳ありませんが、お控えください」と国際企業らしからぬ対応。

しかし、FAQ のページ に以下の回答があった。

ロゴの URL が正しいにもかかわらず Google 検索結果の画像表示に問題がある場合は、ご利用のインターネット サービス プロバイダが他のプロバイダのサーバー上にあるイメージの掲載を許可していない可能性があります。特に、広告掲載により利益を得ている無料サービスを利用する場合にこのようなケースが多く見られます。このような場合は、イメージファイルを別のサーバーに移す必要があります。


これに従い、このサイトではイメージファイルをダウンロードして https のサーバーにアップし、これを参照することにしている。なお、この過程で以下の 1 の文字列を 2 に置換する必要があったので、TextWrangler による一括置換 を用いた。

  1. src="http://www.google.com/cse/images/google_custom_search_smwide.gif" /
  2. src="../../images/web_copyrighted/Logo_60wht.gif" width="60"

なお、コードによってはカスタム検索のウィンドウ自体も http になっているが、これは単に https に直すだけで動いている。


コメント欄

一言コメントをどうぞ! (基本500字まで - 100字のページもあるかも)



フォーラムを作ったので、各ページにあるコメント欄のうち、コメントがついていないものは順次消していきます。今後はフォーラムをご利用下さい。管理人に直接質問したい場合は、下のバナーからブログへ移動してコメントをお願いします。


References

  1. Google カスタム検索ガイドライン. Link.
  2. httpsプロトコルのページに埋め込んだ Google Custom Search のバナー画像について. Link.