Медиана

Анализ логов сервера: что видно про робота

Логи — единственный источник, где видно реальное поведение робота: куда он ходил, что получал в ответ и на что тратил обход. Команды и разбор вывода.

Обновлено 20.09.2026 · 7 мин чтения

Анализ логов — разбор журналов веб-сервера, куда записывается каждый запрос к сайту, включая запросы поисковых роботов. Это единственный источник, показывающий фактическое поведение робота: какие адреса он запрашивал, с какой частотой, какие коды ответа получал. Отчёты панелей вебмастера показывают результат обхода, логи — сам процесс, и расхождения между ними обычно и указывают на проблему.

Коротко

  • Лог — единственное место, где видно, что робот действительно запрашивал, а не что ему было доступно.
  • Панель вебмастера показывает итог, лог показывает процесс: расхождение между ними и есть предмет анализа.
  • Подавляющая часть обхода часто уходит на адреса, которых нет ни в одном отчёте.
  • Представиться поисковым роботом может кто угодно — подлинность проверяется обратным разрешением имени.
  • Логи не отвечают на вопрос «почему»: они фиксируют факты запросов, а не решения системы.

Чем лог отличается от всего остального

Любой другой источник данных о сайте показывает результат. Лог показывает процесс.

Панель вебмастера сообщает, что страница «просканирована, но не проиндексирована». Из этой формулировки не видно, сколько раз робот к ней приходил, что получал в ответ и не тратил ли он в это же время половину обхода на адреса с параметрами сортировки. В журнале это видно построчно.

Системы веб-аналитики роботов не видят вовсе: их код исполняется в браузере, а робот скрипты не запускает так же, как человек. Поэтому в отчётах аналитики обхода нет в принципе — там только люди.

Отсюда область применения. Логи нужны, когда вопрос звучит как «куда девается бюджет обхода», «доходит ли робот до глубоких разделов», «что он получал в ответ во время аварии». На вопросы про позиции и релевантность журналы не отвечают.

Что записано в строке

Стандартная строка журнала в объединённом формате состоит из полей, разделённых пробелами. Для анализа нужны шесть из них.

ПолеПример значенияЧто даёт
IP-адрес66.249.66.1Проверка подлинности робота
Дата и время[29/Aug/2026:04:12:33 +0000]Частота и распределение обхода по суткам
Метод и путьGET /catalog/page/7/Что именно запрашивалось
Код ответа200, 301, 404, 503Что робот получил
Размер ответа18422Аномально малые ответы — признак заглушки
User-agentGooglebot/2.1Кто представился

Последнее поле — заявление, а не факт. Представиться роботом поисковой системы может любая программа, и в журналах крупного сайта таких обращений обычно немало. Поэтому анализ начинается с фильтрации по user-agent, но выводы делаются только после проверки подлинности.

Отдельно стоит смотреть на обращения краулеров, собирающих данные для языковых моделей: они присутствуют в тех же журналах и подчиняются тем же правилам файла robots.txt — их состав и назначение разобраны в материале про llms.txt.

Четыре вопроса, на которые отвечают только логи

На что уходит обход. Распределение запросов по разделам показывает, сколько ресурса достаётся каталогу, сколько — служебным адресам, сколько — параметрическим вариантам. Картина «две трети обхода на страницы фильтров» встречается регулярно и ни в одном другом отчёте не видна.

Что робот получал в ответ. Код 200 в браузере не означает, что робот получал то же самое. Всплеск 503 во время выкатки, 403 от защиты от ботов, цепочки переадресаций — всё это фиксируется по факту.

Доходит ли робот до глубины. Наличие в журнале запросов к страницам списка с большими номерами — прямое подтверждение, что маршрут вглубь работает; отсутствие — что он оборван. Механика разобрана в пагинации.

Что робот нашёл сам. В журнале появляются адреса, которых нет ни в карте сайта, ни в вашем представлении о структуре: старые версии страниц, комбинации параметров, следы прошлых движков. Это же основной способ обнаружить чужие страницы после взлома.

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

Как посчитать

Работа начинается с трёх команд. Файл журнала здесь называется access.log, поле пути — седьмое, поле кода ответа — девятое; в других форматах номера сдвинутся.

grep -ci 'googlebot' access.log
awk '{print $7}' access.log | sort | uniq -c | sort -rn | head -n 20
grep -i 'googlebot' access.log | awk '{print $9}' | sort | uniq -c | sort -rn

Что означают результаты:

  • Первая команда — общее число обращений робота за период. Само по себе число ничего не значит, смысл появляется при сравнении с соседним периодом: падение вдвое после выкатки — повод искать причину в ответах сервера.
  • Вторая команда — двадцать самых запрашиваемых адресов. Здоровая картина: сверху главная, хабы разделов, свежие материалы. Тревожная: сверху адреса с параметрами, страницы внутреннего поиска, календарь архива. Это прямое указание, что закрывать от обхода.
  • Третья команда — распределение кодов ответа для робота. Ожидаемо преобладание 200 и 304. Заметная доля 404 означает, что робот ходит по несуществующим адресам; доля 301 — что переадресации стоят там, где должны стоять прямые ссылки; появление 503 — что сервер отдавал недоступность.

Флаг -c в первой команде считает строки, -i игнорирует регистр. Во второй sort | uniq -c даёт частоты, sort -rn выстраивает по убыванию.

Отдельного внимания заслуживает код 304. Он означает, что робот запросил страницу условно и сервер ответил «не изменилась с прошлого раза», не передавая тело. Высокая доля таких ответов — хороший признак: обход идёт экономно, ресурс тратится на новое. Полное отсутствие 304 при том, что содержимое сайта стабильно, обычно означает, что сервер не отдаёт заголовки, позволяющие роботу спрашивать условно, и каждая страница качается заново.

Подлинность обращений проверяется отдельно, по IP-адресу из первого поля:

host 66.249.66.1

Ответ вида ... domain name pointer crawl-66-249-66-1.googlebot.com означает, что адрес принадлежит поисковой системе. Ответ с именем произвольного хостинг-провайдера или отсутствие записи — обращение поддельное, и в статистику обхода его включать нельзя. Полная проверка требует и обратного шага: разрешить полученное имя обратно в IP и убедиться, что адрес совпал.

Симптом → причина → что делать

Обход упал в разы после выкатки. Смотрите распределение кодов ответа за дни до и после. Всплеск 503 или 403 означает, что сервер или защита от ботов начали отказывать роботу — при повторяющихся отказах частота обращений снижается надолго.

Робот ходит по адресам, которых нет в структуре. Обычно это следы старой версии сайта, комбинации параметров или чужие страницы после взлома. Соберите список из журнала, проверьте коды ответа и решите по каждому классу — переадресация, 404 или закрытие от обхода.

Больше половины запросов приходится на параметрические адреса. Фильтры и сортировки съедают обход, а карточки достаются остатки. Разбирается это не разметкой, а сокращением числа генерируемых адресов — почему именно так, разобрано в дублирующемся контенте.

Новых страниц нет в журнале вообще. Робот о них не знает: на них нет входящих ссылок либо они появляются только после исполнения скриптов. Пока запросов нет в логе, обсуждать индексацию этих страниц бессмысленно.

Чего в логах нет

Ограничения у журналов жёсткие, и это ровно та половина картины, о которой забывают.

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

Нет рендеринга. Обычная запись показывает запрос HTML-документа. Загружает ли робот скрипты, исполняет ли их и что видит после исполнения — по журналу не восстанавливается, хотя запросы к файлам скриптов в нём есть.

Нет полноты при кэшировании. Если перед сайтом стоит кэширующий слой или сеть доставки, часть запросов до вашего сервера не доходит и в журнал не попадает. Картина получается заниженной, и об этом нужно знать до того, как делать выводы о падении обхода.

Нет удобства на больших объёмах. Журнал нагруженного сайта за месяц — это гигабайты. Командной строки хватает для разовых проверок; для регулярной работы нужны либо выгрузки в таблицы, либо специализированные инструменты.

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

Спорное место

Анализ логов принято подавать как высшую ступень технической работы: настоящие данные, никаких посредников, видно всё как есть. Отчасти это верно — источник действительно первичный.

Проблема в том, что выводы из него чаще всего совпадают с выводами более дешёвых проверок. Робот тратит обход на фильтры — это видно и по числу адресов в индексе. Робот не доходит до глубоких страниц — это видно по тому, что они не в поиске. Журнал добавляет точности, но редко меняет решение.

Практическое следствие неудобное для тех, кто любит сложную работу: логи имеет смысл открывать после того, как сделаны обычные проверки из технического аудита, а не вместо них. Исключение одно — расследование конкретного инцидента с датой. Там журнал незаменим, потому что он единственный помнит, что происходило в тот день.

Частые вопросы

Где взять логи сервера?

На большинстве хостингов журналы доступа лежат в отдельной папке в панели управления и доступны для скачивания. На своём сервере это обычно каталог с журналами веб-сервера, где файлы хранятся посуточно и сжимаются. Если логи не сохраняются вовсе, включить запись нужно заранее — восстановить прошлые обращения задним числом невозможно.

Чем анализ логов отличается от отчётов панели вебмастера?

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

Как отличить настоящего поискового робота от подделки?

Строка user-agent подделывается тривиально, поэтому по ней одной судить нельзя. Проверка выполняется обратным разрешением IP-адреса в доменное имя и последующим прямым разрешением этого имени обратно в адрес. У настоящих роботов имя принадлежит домену поисковой системы, у подделок — произвольному провайдеру.

За какой период нужны логи?

Для оценки распределения обхода обычно достаточно нескольких недель непрерывной записи — за меньший срок редко посещаемые разделы просто не попадут в выборку и картина получится искажённой. Для разбора конкретного инцидента берут период вокруг него с запасом в обе стороны, чтобы было с чем сравнивать поведение робота до и после события.

Нужен ли анализ логов небольшому сайту?

На сайте из нескольких десятков страниц обход редко бывает узким местом, и разбор журналов почти ничего не добавит к обычным проверкам. Ценность растёт вместе с числом адресов: чем больше сайт и чем больше у него параметрических вариантов, тем выше вероятность, что значительная часть обхода уходит не туда.

Источники

  1. Журнал сервера — Wikipedia
  2. Проверка робота Googlebot — Google
Артём Строев
Пишу про измеримый маркетинг и видимость в ИИ-поиске. Публикуюсь под псевдонимом — почему так.