Определение поискового бота средствами javascript
Написал простенькую функцию для определения поисковых ботов.
Естественно это вам не фильтрация по ip, но вполне достойная замена.
В некоторых случаях дабы отразить большой наплыв роботов или скрыть лишнюю информацию от них, вполне сойдет.
Собственно сама функция
var spider_detect = function(user_agent) {
var agent_dump = [
['Aport', 'Aport robot'],
['Google', 'Google'],
['msnbot', 'MSN'],
['Rambler', 'Rambler'],
['Yahoo', 'Yahoo'],
['AbachoBOT', 'AbachoBOT'],
['accoona', 'Accoona'],
['AcoiRobot', 'AcoiRobot'],
['ASPSeek', 'ASPSeek'],
['CrocCrawler', 'CrocCrawler'],
['Dumbot', 'Dumbot'],
['FAST-WebCrawler', 'FAST-WebCrawler'],
['GeonaBot', 'GeonaBot'],
['Gigabot', 'Gigabot'],
['Lycos', 'Lycos spider'],
['MSRBOT', 'MSRBOT'],
['Scooter', 'Altavista robot'],
['AltaVista', 'Altavista robot'],
['WebAlta', 'WebAlta'],
['IDBot', 'ID-Search Bot'],
['eStyle', 'eStyle Bot'],
['Mail.Ru', 'Mail.Ru Bot'],
['Scrubby', 'Scrubby robot'],
['Yandex', 'Yandex'],
['Mediapartners-Google', 'Mediapartners-Google (Adsense)'],
['Slurp', 'Hot Bot search'],
['WebCrawler', 'WebCrawler search'],
['ZyBorg', 'Wisenut search'],
['ia_archiver', 'Alexa search engine'],
['FAST', 'AllTheWeb'],
['YaDirectBot', 'Yandex Direct']
];
for(var j=0;j<agent_dump.length;j++) {
if(user_agent.toLowerCase().indexOf(agent_dump[j][0].toLowerCase())!=-1) {
return agent_dump[j][1];
}
}
return false;
}
а вот так ее можно заюзывать:
if(spider_detect(navigator.userAgent)) {
document.write('Зафиксирован поисковый бот: '+spider_detect(navigator.userAgent));
document.location='http://nax.ru/';
}
else {
document.write('Я рад что ты не бот!!!');
}
Рабочий пример
Немного подробнее тут
|
А поисковые боты скачивают и запускают JavaScript?
если они не запускают javascript то вообще нет смысла в данном примере потому что его смысл это скрыть от поисковика запуск определенных скриптов (например с рекламой) - ну а если скрипты не запускаются то и скрипт с рекламой не выполнится
на самом деле все иначе:
Если ввести в поисковике что либо, то справа будет пред просмотр страницы с выполненными скриптами
так что запускает и исполняет
даже думаю сканирует http запросы отправляемые скриптами
короче уверен что у них сделан снифер на запросы, поэтому он обязан все выполнить в браузере
у них система анализирует сайт покруче firebug-а)
этот скрипт будет полезен только в том случае, если вы собрались олавливать юзеров, которые маскирутся под поисковых ботов.
Здравствуйте
а где увидить статистику?