it-swarm.it

Esiste un indice degli indirizzi IP utilizzati dai bot di indicizzazione?

Ho una pagina che ottiene un traffico minimo, ma imposto notifiche statiche quando viene colpito. Ora voglio che i robot vengano ignorati, quindi quello che sto facendo ora è aggiungere robot che vedo in un elenco di "nessuna notifica".

Esiste un elenco di riferimento degli indirizzi IP utilizzati dai robot di indicizzazione?

ad esempio, un elenco come:

$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
);
7
artlung

http://www.user-agents.org/ potrebbe essere quello che stai cercando.

5

Tutti i motori di ricerca utilizzano un numero enorme di indirizzi IP. Dovresti invece guardare la stringa dell'agente utente. Controlla questa pagina per un buon elenco di tutti i crawler.

In PHP, qualcosa del genere funzionerebbe:

$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
}
2
DisgruntledGoat

Perché non lo metti solo nel tuo file robots.txt?

User-agent: *
Disallow: /path/page-you-dont-want-crawled.html

In questo modo non dovrai continuare a caccia di robot. Scommetterei tutto ciò che Google, Yahoo e MSN hanno centinaia di bot e probabilmente hanno indirizzi IP diversi e ne vengono creati di nuovi continuamente. L'aggiunta di quanto sopra dovrebbe fare lo stesso per la pagina del file senza tutta la seccatura.

1
Ben Hoffman

C'è del codice per riconoscere i robot su http://ekstreme.com/phplabs/search-engine-authentication (così come l'articolo del Centro assistenza di Google su http://www.google .com/support/webmasters/bin/answer.py? answer = 8055 sulla verifica di Googlebot). C'è anche un po 'di codice su http://ekstreme.com/phplabs/crawlercontroller.php che può essere usato per riconoscere i crawler, che potresti facilmente estendere per riconoscere i crawler "buoni" così come quelli spammy ora riconosce.

In generale, è importante non fare affidamento sul nome dell'agente utente o sull'indirizzo IP da solo, poiché alcuni agenti utente possono essere utilizzati da utenti normali e alcuni indirizzi IP possono essere condivisi.

Detto questo, se lo usi solo per le notifiche via e-mail, probabilmente ignorerei i semplici schemi noti nell'agente utente e vivrei con i falsi positivi e i falsi negativi. Controlla i tuoi file di registro per i crawler più comuni attivi sul tuo sito e controlla solo una parte univoca del nome dell'agente utente (potrebbe essere sufficiente usare semplicemente "googlebot | Slurp | msnbot | bingbot").

1
John Mueller

In un modo o nell'altro, se vuoi seriamente filtrare i robot, dovrai implementare anche un elenco locale. A volte IP apparentemente casuali diventano ossessionati da un sito Web che sto amministrando. Progetti universitari, robot mal implementati che sembrano sperimentali ma non sono generalmente riconosciuti, questo genere di cose.

Inoltre: il robot Cuil (Twiceler) è il diavolo.

1
Thomas

Puoi accedere all'utente? Mi sembra un modo migliore per capire chi è un vero utente e cos'è un bot: è più resistente ai legittimi crawler che cambiano indirizzo e se qualcosa si maschera da bot probabilmente non vorrai ricevere l'e-mail Comunque.

0
Cebjyre

Prova questo...

$UI_Agent = $_SERVER['HTTP_USER_AGENT'];

if(eregi("bot", $UI_Agent)) {
    // do your bot stuff here
}

HTH, Bud

0
Bud