Googleカスタム検索とAnalyticsのサイト内検索レポート
Googleカスタム検索をサイトに設置する事により、サイト内検索で使用されたキーワードをGoogle Analyticsで解析することができます。
Googleカスタム検索の日本語版が登場し数か月経ちますが、いまさら取り上げてみます。
[追記:2010.02]
Google カスタム検索の機能が大幅に変更されています⇒Google カスタム検索導入手順
Googleカスタム検索をサイト内に設置
1. カスタム検索エンジンの作成
カスタム検索エンジンにアクセスし、カスタム検索エンジン作成をクリックします。

- 検索エンジンの名前:適当に
- 検索エンジンの説明:適当に
- 検索するサイト:ドメイン/*
- 同意にチェックし次へ

- テストしたい人はテスト
- 確認メールは特に必要なし
- 完了
2. カスタマイズ
カスタム検索にログインしコントロールパネルをクリックします。
下図ではGoogle検索一つのみですが、作成済みのマイ検索エンジンが一覧で表示されます。


- 検索エンジンのキーワード:必要性がわからない
- 検索エンジンのエンコード:サイトで使用しているエンコードを選択
検索エンジンのエンコードをサイトのエンコードと異なると日本語の検索が上手くいきません。しかし、後述しますがutf-8以外のエンコードにするとAnalyticsのキーワードが文字化けします。
広告の非表示
コントロールパネルの基本項目の下の方に広告表示に関する項目がありますが、特別な団体でないと広告の非表示は利用できないようです。

3. コードを貼る
サイトページ内に検索結果を表示するためには専用ページが必要となります。(iframe表示ではなくオーバーレイ表示で利用する場合やGoogleページとして表示する場合には必要ありません。)
専用ページのベースが出来上がったら、それぞれのページにコードを貼ります。

- 検索結果のホスティングオプション:自サイトで検索結果をホスト
- 検索結果の詳細設定:http://ドメイン/results.html(ファイル名は任意)
- 広告を表示する場所を指定:右が良いかな(横幅注意)
- 検索ボックスコード:検索ボックスを表示したい位置に貼り付け
- 検索結果コード:results.htmlに貼り付け
サイト内ではなくGoogleページとしてサイト内検索結果を表示したいという方は、「Googleページで検索結果をホスト」をON
cse-search-resultsの</div>を一番下に移動してもOKです。
検索ボックスのサイズ変更
検索ボックスの横幅を調整したい場合は、size=”31″の部分を自分の好きなサイズに変更します。
検索結果ページの横幅
results.htmlに貼り付けるコード内にある「googleSearchFrameWidth = 600;」の数値を変更すれば検索結果部分の横幅が変更できるような感じですが、600px未満にはできません。
さらに、広告を横に表示すると最小で795px?になりますので、サイト内のページとして表示する場合にはサイズに注意です。
600px未満にする方法を知っている方がいましたらご教示ください。
サイト内検索に自分のAdSenseを関連付けて稼ぎたいという方は「検索向けAdSense」などでググって下さい。
Google Analyticsのサイト内検索レポート
Googleカスタム検索を設置しただけではAnalyticsでデータを取得する事はできません。
サイト内検索レポートを有効にする
プロファイルの編集 ⇒ サイトプロファイル情報の編集

- サイト内検索レポートを有効にするをON
- クエリパラメータ:q
- 変更を保存
- 待つ
後は試しにサイト内検索してみてレポートが上がってくれば設定完了です。
※検索ボックスを設置したページとresults.htmlにAnalyticsのコードが必要です。
※GoogleにインデックスされていないページはHITしません。
サイト内検索レポートを見る

Analyticsのお約束とも言える文字化け発生です。utf-8以外のエンコードを指定すると日本語が化けるようです。
今のところ対処法は見つけられておりません。サイトをutf-8にするしかないのでしょうか?
タグ:Analytics サイト内検索 Google


>サイトをutf-8にするしかないのでしょうか?
発行されるコードの
「document.write(unescape(”%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));」
内にcharset=’UTF-8′を入れれば統一されないでしょうか?
コメント by シロウト 2009/3/19 18:53:40
どことどこの間に入れればいいのか分かりません・・・
%3Cscript charset=’UTF-8′ src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”
こんな感じで試してみます。
コメント by パシフィカス 2009/3/19 19:14:58
上手く行きますように。
コメント by シロウト 2009/3/19 19:38:54
ダメですた・・・・・・・
ありがとうございました。
ググっても解決法は見当たらないですね。
使っている人少ないんでしょうね。
私も興味本位だし。
それっぽいのはあるのですが意味が分からん。
http://blog.jp.wazap.com/2009/01/10/google-analytics%E3%81%A7%E3%80%8C%E3%82%B5%E3%82%A4%E3%83%88%E5%86%85%E6%A4%9C%E7%B4%A2%E3%80%8D%E3%81%AE%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E8%A7%A3%E6%B1%BA%E6%96%B9/
コメント by パシフィカス 2009/3/19 20:25:10
ダメでしたか・・・むぅ。悔しいです。
リンク先、拝見しました。言いたい事は
「pageTracker._trackPageview();」の()内に送信されるクエリのUTF-8パラメータが
入るようにしなさい、って事だと思います。
が、どうやって調べるんでしょう・・・
コメント by シロウト 2009/3/19 21:52:33
600px未満にする方法を自分も知りたいと思っているんですが、
方法は分かったんでしょうか?
もし分かってるようでしたら追記して頂けたら凄く助かります。
コメント by ゲスト 2009/7/30 16:53:38
本気で探しましたが解決法は見つかりませんでした。
コメント by パシフィカス 2009/7/30 19:17:22
そうですか…
自分も探しましたし、思いつく方法をすべて試してみたんですが駄目だったんですよね…
もし分かった際は是非ご紹介お願い致します!
コメント by ゲスト 2009/7/31 1:03:55