Yo lo que hago es lo siguiente:
Código PHP:
<?php
if(!isset($_SESSION['esBot'])){
$lista_bots = str_replace(array("\r","\n"), "", implode('|', file('lista_bots.txt')));
if(preg_match('/('. $lista_bots .')/', strtolower($_SERVER['HTTP_USER_AGENT']))){
$_SESSION['esBot'] = 1;
}
else{
$_SESSION['esBot'] = 0;
}
}
?>
en el archivo "lista_bots.txt" pones el nombre de los que quieres detectar en una linea nueva, ejemplo:
goole
bing
yahoo
etc.
espero te sirva, si lo usas nos cuentas que tal.
Saludos!