Google カスタム検索の設置
informatics/html/google_searchbar
4-25-2017 updated
- コード作成
- 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 までのサイトを登録することができるので,事実上無数のページをカスタム検索に含められるということになるだろう。
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.