Javascript.RU

Определение поискового бота средствами 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('Я рад что ты не бот!!!');
}

Рабочий пример

Немного подробнее тут

-4

Автор: bjaka_max, дата: 17 сентября, 2012 - 00:30
#permalink

А поисковые боты скачивают и запускают JavaScript?


Автор: seoneo, дата: 17 сентября, 2012 - 02:17
#permalink

если они не запускают javascript то вообще нет смысла в данном примере потому что его смысл это скрыть от поисковика запуск определенных скриптов (например с рекламой) - ну а если скрипты не запускаются то и скрипт с рекламой не выполнится
на самом деле все иначе:
Если ввести в поисковике что либо, то справа будет пред просмотр страницы с выполненными скриптами
так что запускает и исполняет
даже думаю сканирует http запросы отправляемые скриптами
короче уверен что у них сделан снифер на запросы, поэтому он обязан все выполнить в браузере

у них система анализирует сайт покруче firebug-а)


Автор: exd, дата: 20 ноября, 2012 - 08:04
#permalink

этот скрипт будет полезен только в том случае, если вы собрались олавливать юзеров, которые маскирутся под поисковых ботов.


Отправить комментарий

Приветствуются комментарии:
  • Полезные.
  • Дополняющие прочитанное.
  • Вопросы по прочитанному. Именно по прочитанному, чтобы ответ на него помог другим разобраться в предмете статьи. Другие вопросы могут быть удалены.
    Для остальных вопросов и обсуждений есть форум.
P.S. Лучшее "спасибо" - не комментарий, как все здорово, а рекомендация или ссылка на статью.
Содержание этого поля является приватным и не предназначено к показу.
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Разрешены HTML-таги: <strike> <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd> <u> <i> <b> <pre> <img> <abbr> <blockquote> <h1> <h2> <h3> <h4> <h5> <p> <div> <span> <sub> <sup>
  • Строки и параграфы переносятся автоматически.
  • Текстовые смайлы будут заменены на графические.

Подробнее о форматировании

CAPTCHA
Антиспам
1 + 2 =
Введите результат. Например, для 1+3, введите 4.
 
Поиск по сайту
Другие записи этого автора
seoneo
Реклама
Содержание

Учебник javascript

Основные элементы языка

Сундучок с инструментами

Интерфейсы

Все об AJAX

Оптимизация

Разное

Дерево всех статей

Популярные таги
Последние комментарии
Последние темы на форуме
Forum