Creazy!

WEBエンジニア・ヤガーのテック・ガジェットブログ

SEO 小技集

Google Analytics に独自検索エンジンを追加している場合の問題と対応

投稿日:


Google Analytics で異常発生
今日まで夏休みなんですが、昨日まで出かけていた期間のアクセス解析をGoogle Analyticsで確認していたら、すごい勢いで下降線。というか、これは明らかにおかしいのでデバッグしてみるとGoogle Analyticsのコードでエラーが発生していました。
Google Analytics の検索エンジン定義と独自の検索エンジンを追加する方法
こちらのエントリーで書いている通り、Google Analyticsがデフォルトで対応していない日本国内の検索エンジンを、「Organic(検索エンジン)」と認識させ、キーワードなどに正確に反映されるためのカスタマイズを行っていたのですが、そこで使っていた一部関数が現在のバージョンでは使えなくなっているようなのです。おそらく、Google側のコードが変更されたのは 9/3 〜 9/4 くらいだと思われます。
詳細は続きにて解説します。

問題のソースコード

独自の検索エンジンを追加するために以下のようなコードをはりつけていました。

var pageTracker = _gat._getTracker("UA-xxxxxx-x");
// デフォルトの検索エンジンリストをバックアップ
var _org_search_list = pageTracker.hd();
// 一旦、クリア
pageTracker._clearOrganic();
// 検索エンジンリストを追加
pageTracker._addOrganic("goo.ne.jp","MT");
pageTracker._addOrganic("livedoor","q");
pageTracker._addOrganic("nifty","Text");
pageTracker._addOrganic("biglobe","q");
pageTracker._addOrganic("excite.co.jp","search");
pageTracker._addOrganic("infoseek","qt");
pageTracker._addOrganic("fresheye","kw");
pageTracker._addOrganic("hatena","word");
pageTracker._addOrganic("auone","q");
pageTracker._addOrganic("marsflag","phrase");
pageTracker._addOrganic("mooter","keywords");
pageTracker._addOrganic("namaan","query");
pageTracker._addOrganic("bloglines","q");
// デフォルトの検索エンジンリストをリストア
for( var i=0 ; i<_org_search_list.length ; i++ ){
pageTracker._addOrganic(_org_search_list[i].zb,_org_search_list[i].Nb);
}
pageTracker._trackPageview();

今回問題となっているのは、pageTracker.hd() という関数なのですが、これはGoogle Analytics側に定義されている検索エンジンの定義リストを取得するためのものでした。この関数が現在は無くなってしまっているため、google や yahoo などもともと Analytics に定義されている大手検索エンジン経由のアクセスが記録されなくなってしまっていました。

とりあえずの回避策

簡単に別の関数に置き換えられそうであれば、修正版を提示したかったのですが、すぐにはできなそうなのでとりあえずエラーを回避するコードを紹介します。

<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">
var pageTracker = _gat._getTracker("UA-XXXXXX-1");
if ( pageTracker.hd ) {
var _org_search_list = pageTracker.hd();
pageTracker._clearOrganic();
}
pageTracker._addOrganic("goo.ne.jp","MT");
pageTracker._addOrganic("livedoor","q");
pageTracker._addOrganic("nifty","Text");
pageTracker._addOrganic("biglobe","q");
pageTracker._addOrganic("excite.co.jp","search");
pageTracker._addOrganic("infoseek","qt");
pageTracker._addOrganic("fresheye","kw");
pageTracker._addOrganic("hatena","word");
pageTracker._addOrganic("auone","q");
pageTracker._addOrganic("marsflag","phrase");
pageTracker._addOrganic("mooter","keywords");
pageTracker._addOrganic("namaan","query");
pageTracker._addOrganic("bloglines","q");
if ( pageTracker.hd ) {
for( var i=0 ; i<_org_search_list.length ; i++ ){
pageTracker._addOrganic(_org_search_list[i].zb,_org_search_list[i].Nb);
}
}
pageTracker._trackPageview();
</script>

pageTracker.hd という関数があれば今まで通りの処理を行い、なければ、既存の検索エンジンリストのクリアをせずに独自検索エンジンを追加していきます。まあ、この関数なくなってるのでIFで分岐する意味があるのかっていうのはあるのですが・・・。

最新の検索エンジン定義リスト

AnalyticsのHTMLコード(ga.js)を解析しきっていないので完全な対応策はまだないのですが、とりあえず最新の検索エンジン定義は取得できたので表にしておきます。

検索エンジンホスト 検索キー
images.google q
google q
yahoo p
msn q
bing q
aol query
aol encquery
lycos query
ask q
altavista q
netscape query
cnn query
looksmart qt
about terms
mamma query
alltheweb q
gigablast q
voila rdata
virgilio qs
live q
baidu wd
alice qs
yandex text
najdi q
aol q
club-internet query
mama query
seznam q
search q
wp szukaj
onet qt
netsprint q
google.interia q
szukacz q
yam k
pchome q
kvasir q
sesam q
ozu q
terra query
nostrum query
mynet q
ekolay q
search.ilse search_for
rambler words

Goolgeのライバルか!?と言われているBingが追加されていますね。

まとめ

とりあえず、エラー回避策の紹介までになってしまいましたが、ボクの紹介した方法でAnalyticsタグを改変されている方は数字的にも結構影響あると思いますので、すぐに対応される事をお勧めします。以前から、「自己責任で」という前置きのもと紹介しておりますが、この機にデフォルトの解析コードに戻しておくのが一番安全かもしれません。
ただ、個人的には国内の検索エンジンについても正確に把握したいので、別の対応方法がないか引き続き検討してみたいと思います。何か分かればお知らせします。
できる100ワザ Google Analytics 増補改訂版 SEO&SEMを強化する新・アクセス解析術 (単行本)
4844327348

-SEO, 小技集

執筆者:


comment

メールアドレスが公開されることはありません。

関連記事

PostToTwitter v2.0.0公開:自分好みのフォーマットでブログ更新をお知らせ

ボクはこのブログ(MT)の更新通知をTwitterに送るのにエムロジックさんのPostToTwitterプラグインを使わせてもらっています。先日MT5にアップグレードしてからはv1.3.0を使っていた …

Google Analytics のベンチマーク機能から分かる事

先日、Google Analyticsの新機能がリリースされていました。 3 月 6 日にを ベンチマーク機能 (ベータ版) とデータ共有設定を公開させていただきました 。これらはAnalytics …

Deliciousの被ブックマーク推移グラフを表示するURL見つけた

ボクは普段ソーシャルブックマークサービスはDeliciousを使っているんですが、ブログ用にブクマ数やグラフ、タグなんかを表示できるTagometerというブログパーツが用意されています。 With …

no image

blog chart.jp のブログパーツが重いので勝手に改造した

すでにローンチから時間が経ってしまっていますが、ブログを色々な角度から解析してチャート化してくれるWebサービス「blog chart.jp」というのがあります。 ABCDEFGの頭文字をもつ6つの指 …

Facebookの「Recommendations Bar」が端っこから微妙にズレる件の修正方法

Facebookソーシャルプラグインの1つRecommendations Barは、ソーシャルグラフを解析し見ているページに関連するオススメページをブラウザ画面の端っこに表示してくれる機能を持っている …

スポンサードリンク

スポンサードリンク