È possibile passare tramite gli indirizzi IP o la stringa "User-Agent" che il bot o il browser Web inviano.
Quando Googlebot (o la maggior parte degli altri robot ben funzionanti) visita il tuo sito web, ti invieranno una variabile $ _SERVER ['HTTP_USER_AGENT'] che identifica ciò che sono. Alcuni esempi sono:
Googlebot/2,1 (+ http://www.google.com/bot.html)
NutchCVS/0,8-dev (Nutch; http://lucene.apache.org/nutch/bot.html
Baiduspider + (+ http://www.baidu.com/search/spider_jp.html)
Mozilla/5.0 (X11; U; Linux i686; en-US) AppleWebKit/531,4 (KHTML, come Gecko)
Si possono trovare molti altri esempi in questi siti web: link text link text
Si potrebbe quindi utilizzare PHP per esaminare quelle stringhe user-agent e determinare se l'utente è un motore di ricerca o meno. Io uso spesso qualcosa di simile:
$searchengines = array(
'Googlebot',
'Slurp',
'search.msn.com',
'nutch',
'simpy',
'bot',
'ASPSeek',
'crawler',
'msnbot',
'Libwww-perl',
'FAST',
'Baidu',
);
$is_se = false;
foreach ($searchengines as $searchengine){
if (!empty($_SERVER['HTTP_USER_AGENT']) and
false !== strpos(strtolower($_SERVER['HTTP_USER_AGENT']), strtolower($searchengine)))
{
$is_se = true;
break;
}
}
if ($is_se) { print('Its a search engine!'); }
Ricordate che nessun metodo di rilevazione (Google Analytics o un altro pacchetto di statistiche o altro) sta per essere accurato al 100%. Alcuni browser Web consentono di impostare una stringa utente-agente personalizzata e alcuni crawler Web malintenzionati potrebbero non inviare alcuna stringa user-agent. Questo metodo può essere probabilmente efficace per il 95% + di crawler/visitatori.
Penso che questo mi stesse guardando .... – coderex