Генератор CSS-свойства «border-radius»   •   Online-инструменты
439 просм
0 комм
Поделиться:

Как определить, что посетитель вашего сайта поисковый робот, а не человек на PHP?

Почти каждое устройство в сети Интернет при посещении того или иного сайта посылает так называемых «User Agent», некую информацию в виде названия операционной системы, языка, IP-адреса и прочих параметров.

Некоторые из этих данных динамичны (меняются с течением времени), а некоторые – статичны, то есть не изменяются. По заголовку, посылаемому браузером посетителя к вашему веб-сайту, мы можем определить, является ли он человеком или же поисковым роботом.

Для такого определения мы воспользуемся PHP и готовой для него функцией определения популярных поисковых ботов.

Сама функция выглядит так:

function isBot(&$botname = '') {
	
	$bots = array(
		'h1.hrn.ru', 'gigabot', 'yandeG', 'igde.ru', 'turtle', 'yandexSomething', 'feedfetcher-google', 'aboutusbot',
		'liveinternet.ru', 'mail.ru', 'sape.bot', 'scoutjet', 'yaDirectBot', 'shrinktheweb.com', 'askpeter.info', 'dotnetdotcom',
		'AdsBot-Google', 'seo-rus.com', 'omsktele', 'megadownload.net', 'msnbot', 'yandex', 'qwartabot', 'yanga.co.uk',
		'googlealert.com', 'rambler', 'appEngine-google', 'googlebot', 'alexa.com', 'dataparksearch', 'yahoo', 'yetibot',
		'oozbot', 'similarpages', 'bing.com', 'google-sitemaps', 'followsite.com', 'xml-sitemaps.com', 'aport', 'snapbot',
		'Copyscape.com', 'domaintools.com', 'picsearch', 'ask.com', 'sape_context', 'Nigma.ru', 'agama', 'metadatalabs.com'
	);
	
	foreach($bots as $bot) {
	
		if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) {
		
			$botname = $bot;
			return true;
			
		}
		
	}
	
	return false;

}

И вот пример ее использования:

if(isBot($bname)) { // Условие, если это бот

   // Делаем действие
   
}

Функция содержит в себе идентификаторы всех популярных поисковых роботов. По желанию вы можете дополнить их своим списком или, например, ограничиться только определенными ботами.

0
комментарий
Оставить комментарий:
Нажимая кнопку «Отправить» вы даете согласие на обработку своих персональных данных.
Имя и фамилия
E-mail
Текст комментария