Отсутствуя год заметил, что счетчик посещений некоторых страничек просто зашкаливает. Связано это, как выяснилось, с тем, что помимо реальных пользователей страничка генерируется и для поисковых ботов. Поэтому была нужна функция, которая бы определяла идет текущий запрос к странице от бота или от пользователя. Используя 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;

 

Рассказать друзьям
author.jpg

Платная консультация по вопросам 2500 руб/час

Прочитали статью и остались вопросы? Меня зовут Валерий и я её автор. С радостью объясню Вам в скайпе все затруднительные моменты, которые остались за рамками статьи!

Подробнее ...

Добавить комментарий


Комментарии   

Андрей
-36 # Андрей 01.02.2013 20:17
Хачем придумывать колесо? уже есть веб-сервисы на просторах рунета, которые бесплатно предлагают разместить кнопу на свой сайт, а они тем самым отслежывают и выводит на кнопке, когда и какой бот посещал эту страницу
seo-kiev.com.ua/zahodi-botov-poiskovikov-yandex-google.html
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Leroy
+20 # Leroy 01.02.2013 20:40
Чем данные сервисы могут помочь мне распозать когда надо повышать счетчик посещений, а когда это делает бот? разве что пропиарить свой блог хотели?
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
botyk
-1 # botyk 04.04.2018 04:25
Такой глупый вопрос. Наверно хотел рекламировать свой сайт
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Леонид
0 # Леонид 24.01.2017 20:52
Спасибо за готовое решение! Очень пригодилась эта функция!)))
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Украинец
0 # Украинец 31.01.2017 08:58
Не могу понять-зачем вообще что-то накручивать? Крупные поисковики "вертели" все эти накрутки.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
мультиплексор
0 # мультиплексор 07.04.2017 16:01
Огромное спасибо автору! Собственно идея была для поисковиков показывать блоки ссылок на партнёров. а для обычных пользователей этот блок не отображать. Взял идею из этого кода за основу.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
andrapp
0 # andrapp 14.04.2018 16:24
Спасибо большое помогли дописать модуль, а то не знал как сделать запрос!
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Веб мастер
0 # Веб мастер 21.09.2018 23:38
Готовый код на страницу добавить и файл сделать
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
Веб мастер
0 # Веб мастер 21.09.2018 23:39
На страницу добавить и все !
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору
wap.google.com
0 # wap.google.com 23.08.2020 16:37
With havin so much content and articles do you ever run into any
problems of plagorism or copyright infringement? My website has a lot
of exclusive content I've either written myself
or outsourced but it seems a lot of it is popping it
up all over the web without my permission. Do you know any
methods to help stop content from being ripped off? I'd
definitely appreciate it.
Ответить | Ответить с цитатой | Цитировать | Сообщить модератору