Быстрый и надёжный хостинг на SSD-дисках от 165р в месяц   •   Реклама
19 012 просм
1 комм
Поделиться:

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

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

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

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

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

function isBot() {

	if(!isset($_SERVER['HTTP_USER_AGENT'])) {

		$_SERVER['HTTP_USER_AGENT'] = '';

	}
	
	$bots = array(
		'Google', 'Yandex', 'Baiduspider', 'Lycos', 'Genieo', 'Slurp', 'WebAlta', 'facebook',
		'Mail.Ru', 'ia_archiver', 'Teoma', 'Yahoo', 'Ask', 'Rambler', 'crawler4j', 'MJ12',
		'Seznam', 'Bot', 'cURL', 'DuckDuckGo', 'AOL', 'Lighthouse'
	);
	
	foreach($bots as $bot) {
	
		if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false) {
		
			return $bot;
			
		}
		
	}
	
	return false;

}

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

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

	// Выполняем действие или выводим имя бота через echo isBot();
   
}

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

Хочется отметить, что этот вариант определения поисковых роботов не дает 100% точности, так как заголовок (User Agent) можно подменить.

1
комментарий
Форма комментирования этой статьи скрыта. Авторизуйтесь, чтобы расширить привилегии гостевого посещения и получить необходимую помощь от сообщества Pandoge.
    • 25
    895
      •  Команда Pandoge
    27 мар в 14:40

    Инструкция обновлена.

    Изменен код и расширена база ботов.

Подняться наверх
«Pandoge» - помощник вебмастера