トラフィックが最小のページがありますが、ヒットしたときに静的な通知を設定します。今、ボットを無視したいので、今やっていることは、表示されるボットを「通知なし」リストに追加することです。
インデックス作成ロボットが使用するIPアドレスの参照リストはありますか?
例:次のようなリスト
$no_mail = array(
'67.195.115.105', // yahoo bot
'207.46.199.50', // msn bot
'61.135.249.246', //youdao bot
'207.46.199.32', // msn bot
);
http://www.user-agents.org/ はあなたが探しているものかもしれません。
すべての検索エンジンは膨大な数のIPアドレスを使用します。代わりに、ユーザーエージェント文字列を確認する必要があります。すべてのクローラーの適切なリストについては、 このページ を確認してください。
PHPでは、次のように機能します。
$bots = array( 'googlebot', 'msnbot', 'Slurp', 'mediapartners-google' );
$isRobot = false;
$ua = strtolower( $_SERVER['HTTP_USER_AGENT'] );
foreach ( $bots as $bot ) {
if ( strpos( $ua, $bot ) !== false )
$isRobot = true;
}
if ( !$isRobot ) {
// do your thing
}
これをrobots.txtファイルに入れてみませんか?
User-agent: *
Disallow: /path/page-you-dont-want-crawled.html
そうすれば、ボットを探し続ける必要がなくなります。 Google、Yahoo、MSNには数百のボットがあり、おそらく異なるIPアドレスと常に作成されている新しいIPアドレスを持っているということは何でも賭けます。上記を追加することで、ファイルページでも同じようにすべての手間がかかりません。
http://ekstreme.com/phplabs/search-engine-authentication (および http://www.googleのGoogleヘルプセンターの記事に加えて、 .com/support/webmasters/bin/answer.py?answer = 8055 Googlebotの確認について)。 http://ekstreme.com/phplabs/crawlercontroller.php にもいくつかのコードがあります。これはクローラーを認識するために使用できます。現在認識しています。
一般に、一部のユーザーエージェントは通常のユーザーによって使用され、一部のIPアドレスは共有される可能性があるため、ユーザーエージェント名またはIPアドレスのみに依存しないことが重要です。
ただし、これを電子メール通知にのみ使用している場合は、おそらくユーザーエージェントの単純な既知のパターンを無視し、誤検知と誤検知に対処することになります。サイトでアクティブな最も一般的なクローラーのログファイルを確認し、ユーザーエージェント名の一意の部分を確認します(「googlebot | Slurp | msnbot | bingbot」を使用するだけで十分な場合があります)。
ボットのフィルタリングに真剣に取り組んでいる場合は、何らかの方法でローカルリストを実装する必要があります。時々、ランダムに見えるIPが私が管理しているWebサイトに夢中になります。大学のプロジェクト、実験的に見えるが一般的に認識されていない、実装が不十分なボット、これらの種類のボット。
また、Cuilボット(Twiceler)は悪魔です。
Useragentにアクセスできますか?それは私には本当のユーザーとボットとは何かを判断するためのより良い方法のようです-正規のクローラーがアドレスを変更するのがより弾力性があり、ボットになりすましている場合は、おそらくメールを取得したくないでしょうとにかく。
これを試して...
$UI_Agent = $_SERVER['HTTP_USER_AGENT'];
if(eregi("bot", $UI_Agent)) {
// do your bot stuff here
}
HTH、バド