宗像市の小さな、IT自営業です。福岡のソフトウェア開発・ホームページ作成いたします。宗像市・福津市のパソコントラブル出張も承ります!

Main menu:


▼あちこち方位スマホ専用 お待たせしました - あちこち方位Sへ

気学/風水/遁甲が大好きな方位マニア向けのページです[スマホ専用]

▼方位マニア向けサイト 方位を調べる!あちこち方位へ

気学/風水/遁甲が大好きな方位マニア向けのページです[PC用]

▼携帯画像公開サイト 携帯写真を共有する!DoUp! 紹介へ

携帯電話で撮った写真を最も簡単に公開できる携帯用サイトです[携帯汎用]

 



ブログ内検索

 

最近の記事

カテゴリ

アーカイブ

検索ロボットの足跡を見る


検索ロボット・・・?久しぶりにPHPネタ。
WEBサイトを管理してると、「自分のサイトに検索サイトは気付いてる?」 なんて心配になることはありませんか?私はあります。まぁ、このブログはどーでもイイんですが、お客サマのサイトなんかだと納品後しばらくすると気になったりしますよね。

最近の検索は「ロボット検索」が主流ですね。これは「ボット(bot)」と呼ばれる「無差別情報収集プログラム」がネットを自動的に徘徊して集めた無数のサイトの情報を自社のデータベースに溜め込み、自分の検索サイトからパッと検索できるようにする方法です。

「自社」とはGoogle/Yahoo!/MSNなどの検索サイト運営側のこと。つまり大抵の検索サイトでは、それぞれにボットを飼っているということですね。

それでは、これらのボットが、自分の管理するサイト(ホームページ)にも巡回しに来てるのでしょうか。ちょっと捕獲してみましょう。

[code lang=”php” -0]

//FileName : botcatch.php
function logbot(myurl){
   $host = gethostbyaddr(getenv(‘REMOTE_ADDR’));
   if(preg_match(“/\.(googlebot|inktomisearch|msn)\.com$/i”,$host)) {
      $logfile= ‘/★ログフォルダ/botlog_’.gmdate(“Ymd”, time()+9*60*60).’.log’;
      $now = gmdate(“Y/m/d H:i:s”, time()+9*60*60);
      $ua = getenv(“HTTP_USER_AGENT”);
      $rec= $now.”\t”.$myurl.”\t”.$host.”\t”.$ua.”\n”;
      $fp = @fopen($logfile, “a”);
      @flock($fp,2);
      @fwrite($fp,$rec);
      @flock($fp,3);
      @fclose($fp);
   }
}
?>

[/code] 

とか作っておいて、サイトやBlogのindex.phpとかに、

[code]
require_once(“botcatch.php”);
if(preg_match(“/(Google|Slurp|msn)/i”,getenv(“HTTP_USER_AGENT”))) {
   $myurl = $_SERVER[‘REQUEST_URI’];
   logbot($myurl);
}
[/code] 

なんて適当に入れておけば、「★ログフォルダ(任意のPath)」にGoogle/Yahoo!/MSNのボットの足跡が残ります。

巡回されたURIも一緒に記録するので、Blogとかの場合だと記事番号とかの引数も残るので、どのページに来たのかも分かります(UserAgentとHostの2段階判別なので、偽ボットは無視します)

単なる粗雑なアクセスログじゃないか!という野暮な突っ込みはご遠慮申し上げます(^^;

久しぶりにログを摂ってみて分かったのですが、最近は、Yahoo!Japan独自で携帯検索用のボットを大量に派遣してるみたいですね。UAに、「 Y!J 」 を追加して、Hostに 「\.yahoo\.co\.jp」 を追加すればそれも拾えます。

・・・と、SOHOプログラマらしい記事を書いてみるテスト(・ω・)

コメント記入欄