Как поймать поискового робота
На всех этапах продвижения сайта интерересно знать когда и на какие страницы заходили поисковые роботы.
В предыдущей статье мы выяснили что поисковый робот (бот) поставляет поиковой машине исходную информацию о содержании сайта. По частоте и глубине захода ботов можно судить о качестве оптимизации и продвижения.
По большому счету заход бота на сайт мало отличается от просмотра страниц обычными браузерами. Каждый уважающий себя веб-клиент при посещении страниц включает в заголовок запроса свое имя (User-Agent). Мы не будем в данной статье расматривать полную структуру, а лишь укажем что клиент передает на сервер параметры, которые разбираются и передаются в php в виде массива. Остается проверить переменные на совпадение с поисковыми ботами и сохранить данные.
Создаем в корневом каталоге сайта файл, например bots.php
if (eregi('(yandex)|(rambler)|(google)|(yahoo)|(msn)',$_SERVER['HTTP_USER_AGENT'])) {
$fname = $_SERVER['DOCUMENT_ROOT'].'/log/'.date('dmy').'.txt';
if ($fp = fopen($fname,'a+')) {
fwrite($fp,date('H:i:s').'_'.$_SERVER['HTTP_USER_AGENT'].'_'.$_SERVER['REQUEST_URI'].'n');
fclose($fp);
};
};
?>
Создаем папку log на сервере, даем ей разрешения на запись и добавляем в индексный файл вызов:
include('bots.php');
Теперь, при каждом посещении сайта поисковыми роботами, в наши файлы будет записываться информация, типа:
16:58:04_Mozilla/5.0 (compatible; Googlebot/2.1;) /feed/
17:09:51_YandexBlog/0.99.101 (compatible; DOS3.30; Mozilla/5.0; B) /
19:32:42_YahooFeedSeeker/2.0 (compatible; Mozilla 4.0; MSIE 5.5;) /
20:22:16_StackRambler/2.0 /news/seo-blog/
20:46:30_Yandex/1.01.001 (compatible; Win16; F) /
Аналогичная, но более полная информация сохраняется в логах сервера. Если хостинг предоставляет к ним доступ, то в интернет можно найти скрипты анализа серверных логов со статистикой и пр. Для нашего же случая достаточно указанных выше двух дейтствий и ручного анализа.
Каждая поисковая система имеет в своем арсенале несколько ботов, сканирующие различные данные. Вот, к примеру, несколько ботов Яндекса с описанием:
Yandex/1.01.001 (compatible; Win16; I) - основной индексирующий робот
Yandex/1.01.001 (compatible; Win16; P) - индексатор картинок
Yandex/1.01.001 (compatible; Win16; H) - зеркальщик
Yandex/1.02.000 (compatible; Win16; F) - поис пиктограм (favicons)
YandexBlog/0.99.101 (compatible; DOS3.30; Mozilla/5.0; B; robot) - поиск по блогам
Полный перечень поисковых ботов можно найти в описаниях соответствующих поисковиков
wyster:
спасибо, полезно)
20 марта 2009, 23:406uoncuxo3:
Давно искал нечто подобное, спасибо!
25 марта 2009, 18:35МУЛЬЙОНер:
На некоторых хостингах (а по-моему, даже на всех), ведется подробная статистика. Можно смотреть эти логи
13 апреля 2009, 18:23kuzbass-master:
Кто спорит? Вы Вы можете смотреть общие логи апача и анализировать их. Для примера, посетитель, просмотревший 20 страниц, оставит там 20 записей. Я же предложил выделить логи посещения именно поисковых роботов и сохранять их в удобном виде.
13 апреля 2009, 19:54Sib:
Можно воспользоваться допустим Google Analytics – там есть статистика по посетителям и их типам.
31 мая 2009, 22:55Владимир:
Где то видел скрипт который после посещения поискового бота отправлял тебе на мыло письмо об этом !
30 января 2010, 13:57Не выдели … этот скрипт ? хочу его !)))
kuzbass-master:
Элементарно. В приведенном примере после строки `fwrite ..` вставьте `mail (‘[email protected]’, ‘robot visit’, $_SERVER['HTTP_USER_AGENT']);`
30 января 2010, 14:18