アクセスログを自前で収集するようにして、その集計&分析プログラムを作成したところ妙な事に気がついた。
リファラーが下記のようになっているものが大量にある。
http://www.google.co.jp/search?sourceid=navclient
ネット検索してみると、どうやらgoogleツールバーで検索したものらしいが、なぜに途中までしか取得できないのか…
ふと冷静に、ログ収集のスクリプトを眺めてみると、なーんだそういうことか(といっても気がつくのに1時間も掛かった)
以下のように修正した。ついでにYahoo!検索の場合の例外処理も追加。
ブログ側
<script type=”text/javascript”>
var ref=document.referrer;
var newref=ref.replace(“&”,”&”);
document.write(‘<img src=”http://blueroad.sakura.ne.jp/php/ad1964.php?’ + newref + ‘” width=”1″ height=”1″ alt=””>’);
</script>
<noscript>
<img src=”http://blueroad.sakura.ne.jp/php/ad1964.php?” width=”1″ height=”1″ alt=””>
</noscript>
ログ保存側
$r=htmlspecialchars(rawurldecode($_SERVER[‘QUERY_STRING’]));
// Yahoo!の例外処理
if(strpos($r,”yahoo.co.jp/search?p=”)!==FALSE && strpos($r,”ei=euc-jp”)!==FALSE){
$r = mb_convert_encoding($r , “UTF-8” , “EUC-JP”);
}