Google カスタム検索の設置
- コード作成
- html に変換 (Blue Griffon 最適化)
- 検索結果について
- 登録できるページ数
- Hub page の送信
- 自動アップデート
- SSL ページにカスタム検索を置いたときの画像の問題 (別ページ)
広告
コードの作成
Google のカスタム検索には、無料の
Google カスタム検索エンジンは、Google アカウントを持っていれば簡単に作ることができる (1,3)。文献 5 などを参考に、以下の 3 つのドメインに含まれるページが全て対象になるように設定している。サイト構造の詳細は サイトマップのページ に。
- http://ultrabem.jimdo.com/
- https://ultrabem.com/
- https://ultrabem-branch3.com/
これは以下の囲みのなかでは一番上の項目に該当し、サイト内の全ての URL が含まれるようになる。
|
html への変換 (BlueGriffon最適化)、CSS の編集
上記のコードは
(function () {
var cx = 'ここに ID が入ります';
var gcse = document.createElement ('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = (document.location.protocol == 'https:' ? 'https:' : 'http:') +
'//www.google.com/cse/cse.js?cx=' + cx;
var s = document.getElementsByTagName ('script')[0];
s.parentNode.insertBefore (gcse, s);
}) ();
</script>
<gcse:search></gcse:search>
のようになっている。Ultrabem 2 では一時期 BlueGriffon という html エディタ html editor を使っていて、このコードを貼ると編集中にエラーが出てしまう。何故だかいまいち不明だが、とりあえずわかるのは <script></script> となっていて Javascript を使っていること、最後の <gcse:search></gcse:search> が BlueGriffon の文法チェックに引っかかっていることだった。
そこで、文献 2 のようにしてこのコードを以下のように html に変換。
最初は <img src="http://www.google.com/cse/images/google_custom_search_smwide.gif" /> で読み込まれる Google のロゴも消してしまっていたが、どうも入れておかなければならないようだ。
<input type="hidden" name="cx" value="
<input type="hidden" name="ie" value="UTF-8" />
<input type="text" name="q" />
<input type="submit" name="sa" value="Search in this site" /></form>
<div style="text-align: right;"><img src="http://www.google.com/cse/images/google_custom_search_smwide.gif" /></div>
さらに文献 4 の CSS を改変してスタイルを設定させて頂いた。CSS の一部のみ転載。
width: 252px !important;
float: right;
margin-top: 7px;
margin-right: 11px;
}
#cse-search-box table.gsc-search-box td.gsc-input {
padding: 0 !important;
}
文献 3 にも少し違う検索ボックスのコードが載っているが、
という部分の & が BlueGriffon の文法チェックでエラーになったため、このコードは使えなかった。
検索結果について
検索結果は、以下のようなルールに基づいて表示されるようである。
- もともと Google にインデックスされているページは、特に何もしなくても表示される。
Google にインデックスされていないページは、自分で登録すれば検索にひっかかるようになる。
Google カスタム検索のページで 「検索エンジンの編集 - インデックス登録 - 概要」という部分をみてみると、
Google 検索でインデックス登録されたページの概数: 500
使用中のインデックス割り当て数: 0 / 200
削除割り当て数: 0 / 20
と書かれている。一番上が、既に Google 検索でインデックスされているページの数であり、これは Google webmaster tool でサイトマップや hub page を送信すれば登録可能である。
2 番目は
登録できるページ数について
オンデマンドインデックスついては、無料では 200 個が上限である。年間 2,000 ドル払うと 10,000 個まで登録できるようになり、それ以上は問い合わせになる (8)。
少し解釈に迷うのは、カスタム検索エンジンに追加できるページ数 の説明だ。
カスタム検索エンジンの各アカウントには、5000 のアノテーションが割り当てられています。アノテーションは 1 つの URL または 1 つの URL パターンを表します。たとえば、次のいずれかを追加することでアノテーションを作成できます:
|
仮に www.example.com という登録を「1 つのアノテーション」と考えてよければ、このサイトがたとえ 1 万個のページを含んでいても、それが「Google 検索でインデックス登録されたページの概数」の中に含まれている限りは、全てが検索対象となるはずである。
しかし、www.example.com 以下にある個別の URL が個々にアノテーションを消費すると考えれば、1 つのサイト内のページ数が 5000 を超えた時点で検索対象から外れると考えられる。
「URL パターン」がアノテーションなので、最初の解釈が正しい可能性が高い。この場合、5000 までのサイトを登録することができるので、事実上無数のページをカスタム検索に含められるということになるだろう。
一方、Google フォーラムには以下のような質問 – 回答例がある。リンクがうまく貼れないので要約・和訳しておく。
何個までサイトを追加できるのか? 上限はあるのか? 制限はないが、10 個以上になると検索の質が低下する。これは (2018 年現在で使用可能な) Standard Search Element, Non-profit Search Element, Custom Search JSON API, Custom Search Site Restricted JSON API の全てにおいてそうである。 |
ヘルプフォーラムを見渡してみると、この「上限なし」というのはおそらく間違いで、5000 まで URL を追加できるというのが正しそうである。検索の質が低下するかどうかについては、他に情報があればアップデートすることにする。
Hub page の送信
このサイトの全てのページへのリンクを含んでいる hub page を作り、その URL をカスタム検索のページから送信する。また、テストのために imrotate の URL を個別に送信。
これでしばらく待ってみると、まず imrotate が登録され、使用中のインデックス割り当て数が 1/200 になった。24 時間ほどでこれが 33/200 になり、hub page からのリンクが登録された。
自動アップデート
サイトを更新したときなど、Google のサイト内検索がどれぐらいの時間でアップデートされるのかについてのメモ。
- 本家サイトのラットのページ、諸事情により URL を 12/15/2016 ごろに変更。カスタム検索から古いページがいつ消えるか? → 1 ヶ月後には消えていた。
- 血液のページ、だいぶまえに作っていたが、内容が少なかったためかカスタム検索に引っかからなかった。内容が増えたらどうなるか? → 1 ヶ月後には検索されるようになっていた。
よって、少なくとも 1 ヶ月ぐらい経てば、変更の内容はサイト内検索に反映されるものと考えて良さそうだ。
広告
References
- ライターのつれづれ日記. Web.
- Google カスタム検索をHTMLに書き換える. Web.
- WordPressにGoogleカスタム検索バーを導入してみたのでその方法を解説します! Web.
- Googleのカスタム検索バーを自分のサイトに合わせてカスタマイズする方法解説します! Web.
- カスタム検索エンジンに追加できるページ数. Google help.
- オンデマンドインデックス登録の実用例. Google help.
- Google Site Search と Google カスタム検索. Google help.
- インデックス登録割り当て. Google help.
コメント欄
サーバー移転のため、コメント欄は一時閉鎖中です。サイドバーから「管理人への質問」へどうぞ。