衣袋宏美のデータハックス

Yahoo!とGoogle以外の日本の検索エンジンから、検索アクセスがないのはなぜ? [アクセス解析Q&A]

アクセス解析ツールの検索エンジンレポートに、日本の検索エンジンを登録するには?
衣袋宏美のデータハックス

質問:アクセス解析ツールの「検索エンジンレポート」に「BIGLOBE」や「@nifty」などの日本のポータルサイトの検索エンジン名が見当たりません。これはこれらのサイトからのアクセスがないということなのでしょうか?

答えポータル系検索エンジンからのアクセスがゼロというわけではなく、そうしたサイトからのアクセスがあっても「検索エンジンからのアクセス」として分類されていない状態だと考えられます。

アクセス解析ツールの多くは海外で開発されています。そのため、初期設定では、「検索エンジン」として集計される対象が、世界的に有名な検索エンジンだけになっている場合が多いのです。どうすれば日本ローカルの検索エンジンをレポート対象として扱えるようになるのかは、お使いのアクセス解析ツールの各ツールベンダーに聞いてみましょう。

解説アクセス解析ツールの多くは、参照元情報を大きく次の3つに分類しています。

  1. 参照元なし(ノーリファラー、ダイレクトアクセス)
  2. 検索エンジン(検索サイト)
  3. その他の参照元

このうち「検索エンジン(検索サイト)」というのは、実は自動的に分類されるわけではありません。アクセス解析ツールの中に、どのサブドメインが検索エンジンの参照元なのかを定義したデータベースがあり、都度それに照らし合わせて、合致した参照元がレポートの際に「検索エンジン」と分類されています。

たとえばGoogle Analyticsが認識している検索エンジンの一覧が、「Google Analytics はどのような検索エンジンを認識しますか。」というページに掲載されていますが、ほとんどが日本では使われていません。対応している検索エンジンは以下のとおりです。

  • Google
  • Yahoo
  • MSN
  • Lycos
  • Ask
  • Altavista
  • Netscape
  • CNN
  • Looksmart
  • About
  • Mamma
  • Alltheweb
  • Gigablast
  • Voila
  • Virgilio
  • Live
  • Baidu
  • Alice
  • Yandex
  • Najdi
  • AOL
  • Club-internet
  • Mama
  • Seznam
  • Search
  • Wp
  • Onet
  • Netsprint
  • Google.interia
  • Szukacz
  • Yam
  • Pchome

日本でも使われている検索エンジンはGoogle、Yahoo!、MSNぐらいでしょうか。ご覧のとおり、検索エンジンはGoogleやYahoo!だけではありません。世界中で日々新たな検索エンジンが開発されています。そうした世界中の新たな検索エンジンを自動的に認識するシステムはありませんから、このデータベースは誰か人の手によって更新していくしかありません。

ソフトウェアをインストールする形式のツールであれ、クラウドやASPの形式で提供されているサービスであれ、基本的なデータベースはベンダーが用意しているはずです。多くの場合、まずはそれを使ったうえで、それ以外の検索エンジンを分類したい場合はユーザーが手動で追加定義を行うという形式が採られています。

当然ながら、日本という地理的にも言語的にもローカルで特殊な国の検索エンジン(検索サイト)の事情など、多くのアクセス解析ツールでは考慮されていませんので、追加した方がよいと思われる検索エンジンに関しては、個々に追加定義をする必要があります。

そして検索エンジンに紐付いている検索フレーズもレポートしてくれますので、検索エンジンの登録と、検索フレーズを解析するために必要な情報を登録することになります。

たとえばGoogle Analyticsで検索エンジンの分類対象とするサイトを登録するには、管理画面で設定するのではなく、Webページに挿入するJavaScriptの計測タグに検索エンジンを判別する記述を追加しなくてはなりません。具体的には、JavaScriptの計測タグに下記で強調している行を追加する必要があります。

<script type="text/javascript">
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost
+ "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
</script>  <script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._addOrganic("searchengine_name","q_var");
pageTracker._trackPageview();
} catch(err) {}</script>  
※これはGoogle Analyticsのトラッキングコードが「ga.js」の同期バージョンの場合です。「urchin.js」を使っている場合や、ga.jsでも「非同期トラッキングコード」を使っている場合は上記とは異なりますのでご注意ください

上記で強調している行が追加する文です。分類したい検索エンジンごとに1行ずつ追加していき、「searchengine_name」の部分には追加したい検索エンジンの検索結果ページのドメイン名の一部を指定し、「q_var」には検索キーワードが格納されるクエリ変数名を指定します。Google Analyticsは、アクセスの際のリファラをチェックして、ドメイン名に「searchengine_name」で指定した文字列が含まれていて、さらにクエリパラメータ(URLの「?」のあとに書かれている部分)にここで指定した名前のものがあれば、そのアクセスを「検索エンジンからのアクセス」だと判断するというわけです。

検索エンジンのドメイン名は、レポートに表示される検索エンジン名としても使われるので、ドメイン名すべてを指定する必要はなく、わかりやすく短いほうがいいでしょう。検索キーワードが格納されるクエリ変数名は、検索エンジンごとに手作業で調べます。

たとえば「BIGLOBEサーチ」を新たに追加したいときは、実際に「BIGLOBEサーチ」にアクセスして、何かキーワードを入力して検索します。今回は「FIFA」で検索してみました。すると検索結果ページのURLは下記のように表示されています。

「BIGLOBEサーチ」や「@nifty」からの検索アクセスがないのは、なぜ?
http://cgi.search.biglobe.ne.jp/cgi-bin/search-st?q=FIFA&x=0&y=0

このURLの中から入力したキーワード「FIFA」を探すと、「q=FIFA」という文字列が見つかります。これによって、「BIGLOBEサーチ」では、キーワードを格納する変数名が「q」であることが確認できます。ドメイン名は「biglobe」(これが検索エンジン名として表示されます)、クエリ変数が「q」ですので、追加する1行はこのようになります。

pageTracker._addOrganic("biglobe","q");

参考に国内の主な検索エンジンのクエリ変数一覧(2010年8月30日現在)を載せておきます。クエリ変数は変更されることがあります。もし検索エンジンレポートで一定期間表示されない場合には、クエリ変数が変更されていないか確かめてみてください。

検索エンジン名ドメイン名(検索エンジン名)クエリ変数
BIGLOBEサーチbiglobeq
@search:@niftyniftyq
Infoseekinfoseekqt
楽天ウェブ検索rakutenqt
livedoorウェブ検索livedoorq
So-netウェブ検索so-netquery
au oneウェブ検索auoneq
OCNウェブ検索ocnsearchMT
hi-hohi-hosearch
ODNodnsearch
gooウェブ検索gooMT
エキサイトウェブ検索excitesearch
ASAHIネットasahikeyword
はてな検索hatenaword
ECナビecnavikeyword
miximixikeyword
Twittertwitterq

以上の検索エンジンをGoogle Analyticsに追加する場合のコードはこのようになります。

pageTracker._addOrganic("biglobe","q");
pageTracker._addOrganic("nifty","q");
pageTracker._addOrganic("infoseek","qt");
pageTracker._addOrganic("rakuten","qt");
pageTracker._addOrganic("livedoor","q");
pageTracker._addOrganic("so-net","query");
pageTracker._addOrganic("auone","q");
pageTracker._addOrganic("ocnsearch","MT");
pageTracker._addOrganic("hi-ho","search");
pageTracker._addOrganic("odn","search");
pageTracker._addOrganic("goo","MT");
pageTracker._addOrganic("excite","search");
pageTracker._addOrganic("asahi","keyword");
pageTracker._addOrganic("hatena","word");
pageTracker._addOrganic("ecnavi","keyword");
pageTracker._addOrganic("mixi","keyword");
pageTracker._addOrganic("twitter","q");
※これはGoogle Analyticsのトラッキングコードが「ga.js」の同期バージョンの場合です。「urchin.js」を使っている場合や、ga.jsでも「非同期トラッキングコード」を使っている場合は上記とは異なりますのでご注意ください

一方、サーバーログ型のアクセス解析ツールでは、集計仕様の設定画面で、検索エンジンの登録とクエリ変数の登録を行うことができるものがありますので、新たに検索エンジンを登録する場合は、この設定画面において、手動で追加をしていくということになります。

用語集
ASP / JavaScript / UA / mixi / アクセス解析 / クラウド / ドメイン名 / 検索エンジン
この記事が役に立ったらシェア!
メルマガの登録はこちら Web担当者に役立つ情報をサクッとゲット!

人気記事トップ10(過去7日間)

今日の用語

アップロード
手元のPCなどの機器から、ネットワークを介して、別のPCやファイルサーバー、ウェ ...→用語集へ

インフォメーション

RSSフィード


Web担を応援して支えてくださっている企業さま [各サービス/製品の紹介はこちらから]