Отсутствуя год заметил, что счетчик посещений некоторых страничек просто зашкаливает. Связано это, как выяснилось, с тем, что помимо реальных пользователей страничка генерируется и для поисковых ботов. Поэтому была нужна функция, которая бы определяла идет текущий запрос к странице от бота или от пользователя. Используя HTTP_USER_AGENT, можно узнать, если страница посещается ботом:

function isBot(&$botname = ''){
/* Эта функция будет проверять, является ли посетитель роботом поисковой системы */
	$bots = array( 
		'rambler','googlebot','aport','yahoo','msnbot','turtle','mail.ru','omsktele',
		'yetibot','picsearch','sape.bot','sape_context','gigabot','snapbot','alexa.com',
		'megadownload.net','askpeter.info','igde.ru','ask.com','qwartabot','yanga.co.uk',
		'scoutjet','similarpages','oozbot','shrinktheweb.com','aboutusbot','followsite.com',
		'dataparksearch','google-sitemaps','appEngine-google','feedfetcher-google',
		'liveinternet.ru','xml-sitemaps.com','agama','metadatalabs.com','h1.hrn.ru',
		'googlealert.com','seo-rus.com','yaDirectBot','yandeG','yandex',
		'yandexSomething','Copyscape.com','AdsBot-Google','domaintools.com',
		'Nigma.ru','bing.com','dotnetdotcom'
	);
	foreach($bots as $bot)
		if(stripos($_SERVER['HTTP_USER_AGENT'], $bot) !== false){
			$botname = $bot;
			return true;
		}
	return false;
}

Использовать очень просто:

if( !isBot() )$hits=$hits+1;// накручиваем счетчик если запрос не от бота
// или так
$bname = '';
if( isBot($bname) ) echo 'На сайте сейчас '.$bname;

 

Оставлять комментарии могут только зарегистрированные пользователи

Комментарии  

Андрей
# Андрей 01.02.2013 20:17
Хачем придумывать колесо? уже есть веб-сервисы на просторах рунета, которые бесплатно предлагают разместить кнопу на свой сайт, а они тем самым отслежывают и выводит на кнопке, когда и какой бот посещал эту страницу
seo-kiev.com.ua/zahodi-botov-poiskovikov-yandex-google.html
Leroy
# Leroy 01.02.2013 20:40
Чем данные сервисы могут помочь мне распозать когда надо повышать счетчик посещений, а когда это делает бот? разве что пропиарить свой блог хотели?
botyk
# botyk 04.04.2018 04:25
Такой глупый вопрос. Наверно хотел рекламировать свой сайт
KINGS
# KINGS 28.08.2016 22:06
Шикарно!
Леонид
# Леонид 24.01.2017 20:52
Спасибо за готовое решение! Очень пригодилась эта функция!)))
Украинец
# Украинец 31.01.2017 08:58
Не могу понять-зачем вообще что-то накручивать? Крупные поисковики "вертели" все эти накрутки.
мультиплексор
# мультиплексор 07.04.2017 16:01
Огромное спасибо автору! Собственно идея была для поисковиков показывать блоки ссылок на партнёров. а для обычных пользователей этот блок не отображать. Взял идею из этого кода за основу.
andrapp
# andrapp 14.04.2018 16:24
Спасибо большое помогли дописать модуль, а то не знал как сделать запрос!
Веб мастер
# Веб мастер 21.09.2018 23:38
Готовый код на страницу добавить и файл сделать
Веб мастер
# Веб мастер 21.09.2018 23:39
На страницу добавить и все !
Евгений_1987
# Евгений_1987 25.02.2021 14:22
у меня вопрос, как будет показывать имя бота из пустой переменной?
$bname = '';
if( isBot($bname) ) echo 'На сайте сейчас '.$bname;

А в функции переменная называется $botname