ホーム > Technical > awstatsでmatome.jpの検索語を判定する

awstatsでmatome.jpの検索語を判定する

Apacheログのアクセス解析に最近awstatsを最近入れてみた。

検索エンジンからの検索語の集計も取れたりして便利なんだけれど、最近よくmatome.jpから飛んでくるパターンが多い。awstatsの日本語化バージョンでも検索エンジンとして認識する設定になっていなかった。とりあえず検索語の抽出まで含めて設定してみたのでメモ。

まずはsearch_engines.pmに

@SearchEnginesSearchIDOrder_list1=(

‘matome\.jp’,

(中略)

%SearchEnginesHashID = (
‘matome\.jp’,'matome_jp’,

(中略)

%SearchEnginesKnownUrl=(
‘matome_jp’,'(tag|keyword)\/’,

のように、それぞれmatome.jpに対応する行を追加する。

最後の%SearchEnginesKnownUrlは、refererのURL中でこの文字列より右にある文字列を検索語として認識するという指定。Yahooなどの場合だと、

http://search.yahoo.co.jp/bin/query?p=検索語

となるので、SearchEnginesKnownUrlには”p=”を指定してあるが、matome.jpの場合は

http://www.matome.jp/tag/検索語 もしくは、http://www.matome.jp/keyword/検索語
という/tag/か/keyword/で区切られているので’(tag|keyword)\/’と指定。

で、awstatsは検索エンジンのURLのパラメータの区切り文字は”?”でしか判定していない模様。confファイルの$URLQuerySeparatorsも使っていないようだ。

そうすると、”http://www.matome.jp/tag/検索語”なんてURLには”?”が入っていないので検索語が取得できない。なので本体のソースをいじってみる。

awstats.plのだいたい6553行目あたりの

# we will complete %_keyphrases hash array

my @refurl=split(/\?/,$field[$pos_referer],2); # TODO Use \? or [$URLQuerySeparators] ?



# we will complete %_keyphrases hash array

my @refurl=split(/\?|matome\.jp\//,$field[$pos_referer],2); # TODO Use \? or [$URLQuerySeparators] ?

と、区切り文字判定に”matome.jp”を追加

かなり無理やりだ…。どなたかがもっとスマートな方法で解決してそうだな。

これでawstatsの解析画面でmatome.jpからのアクセス数と、その検索語の集計がきちんと行われるようになるけど…。

ソースのコメントにも、”# TODO Use \? or [$URLQuerySeparators] ?”と書いてあるから、この検索エンジン集計の処理だけ、URLの区切り文字判定で未実装のがあるのだろうな。

関連する記事:

  1. ApacheのRedirect 会社でサーバ構築してて、ちょっとワケありで http://hogeserver/index.html を http://hogeserver/intranet/index.html に自動的にリダイレクトしたい場合に、 Redirect / /intranet/ ってhttpd.confに書けば良いかと思ったけど、エラーになる。第2パラメータはフルURLを書かないといけないみたいだけど、同一サーバ......
  2. CakePHPのHttpSocketをプロキシ対応にする 開発環境がプロキシの内側で、HttpSocketがそのまま使えずに困ったので。 素人がかなりアドホックに修正したので、かなり乱暴な修正かもしれないけどとりあえず晒しておく。 使うときは、 $socket = new HttpSocket( aa( 'proxy', aa('host',...
  3. CSVをPerlで処理したいのだけど… ものすごく初歩的なところでハマっているのかもしてないけど、とりあえず書いておく。 1,1,1,1,1,1,1 2,2,2,2,2,2,2 3,3,3,3,3,3,3 というようなCSVファイルがあって、これをPerlで読み込みたいとき open (FILE,"test.csv); my @data =...
  4. Twitterクローン「しゃべる」をTwitterIrcGatewayから使う 社内に立てた「しゃべる」。 使っていたユーザーから「画面の色が目立つので、仕事中にページを開いているとサボってると思われるw」と言われたので、背景色を目立たない色とかに変えたりしていたのだけど*1、たしかTwitter APIをサポートしてるとか書いていたよなぁ...と。 なのでWebからではなくてTwitterクライアントツールを用意すればいいんだと気づき、ソースが公開されているものの中から、T......
  5. emergeでSHA256チェックサムが合わないとエラーが出たら どうもここ数日の間でemergeしようとすると、パッケージのSHA256チェックサムが合わないとエラーが出てemergeが進まない。 ググってみたら、"Gentoo Weekly Newsletter: 1 May 2006"に SHA256 digest issues...
  6. PHP5とMySQL4.1とLIMIT 会社と自宅とでMySQL+PHPの環境で遊んでいたりするけれど、ちょっとした環境の違いでハマってしまったのでメモ。 PHP5.0.4+MySQL4.1.12ではプリペアードステートメントで、SELECT文のLIMITのパラメータに'?'を使うとパースエラーでmysqli_prepare()がFALSEになる。(ただしmysql_error()などでエラーコードを取っても0(正常)が返るようだ) こ......

コメント:0

コメントフォーム
入力した情報を記憶する

トラックバック:0

この記事のトラックバック URL
http://www.swingingblue.net/mt/archives/000346.html/trackback
トラックバックの送信元リスト
awstatsでmatome.jpの検索語を判定する - きままな日記帳 より

ホーム > Technical > awstatsでmatome.jpの検索語を判定する

検索
フィード
メタ情報

ページの上部に戻る