Вы можете перейти либо по IP-адресам, либо по строке «User-Agent», которую вам посылает бот или веб-браузер.
Когда робот Google (или большинство других роботов с хорошим поведением) посещает ваш веб-сайт, он отправляет вам переменную $ _SERVER ['HTTP_USER_AGENT'], которая определяет, кто они такие. Вот некоторые примеры:
Googlebot / 2.1 (+ http://www.google.com/bot.html)
NutchCVS / 0,8-dev (Nutch; http://lucene.apache.org/nutch/bot.html
Baiduspider + (+ http://www.baidu.com/search/spider_jp.html)
Mozilla / 5.0 (X11; U; Linux i686; ru-ru) AppleWebKit / 531.4 (KHTML, как Gecko)
Вы можете найти еще много примеров на этих сайтах:
текст ссылки
текст ссылки
Затем вы можете использовать PHP, чтобы изучить эти строки агента пользователя и определить, является ли пользователь поисковой системой или нет. Я часто использую что-то подобное:
$searchengines = array(
'Googlebot',
'Slurp',
'search.msn.com',
'nutch',
'simpy',
'bot',
'ASPSeek',
'crawler',
'msnbot',
'Libwww-perl',
'FAST',
'Baidu',
);
$is_se = false;
foreach ($searchengines as $searchengine){
if (!empty($_SERVER['HTTP_USER_AGENT']) and
false !== strpos(strtolower($_SERVER['HTTP_USER_AGENT']), strtolower($searchengine)))
{
$is_se = true;
break;
}
}
if ($is_se) { print('Its a search engine!'); }
Помните, что ни один метод обнаружения (Google Analytics или другой пакет статистики или иным образом) не будет точным на 100%. Некоторые веб-браузеры позволяют устанавливать пользовательскую строку пользовательского агента, а некоторые неправильно работающие сканеры могут вообще не отправлять строку пользовательского агента. Этот метод, вероятно, может быть эффективен для 95% + сканеров / посетителей.