Анализ логов сервера для SEO: как боты обходят сайт
Продвинутое3 минРедакция Innovialabs
Коротко
Логи сервера показывают, какие URL реально обходят Googlebot и YandexBot: отфильтруйте их по user-agent, подтвердите через обратный DNS и сравните обход со списком важных страниц.
Зачем смотреть логи, если есть Search Console
Search Console и Яндекс Вебмастер показывают выборку и агрегаты. Лог сервера — это каждый запрос: какой URL, когда, с каким кодом ответа и каким ботом. Только по логам можно точно ответить:
- какие разделы бот обходит чаще всего, а какие игнорирует;
- сколько запросов уходит на мусорные URL: параметры, дубли, редиректы;
- видит ли бот новые и важные страницы и как быстро;
- какие URL отдают боту ошибки 4xx и 5xx.
Шаг 1. Получите и подготовьте логи
Обычно это access-логи nginx или Apache в формате combined. Для анализа нужны поля: IP, дата, метод, URL, код ответа, размер, user-agent.
- Возьмите период минимум в несколько недель — у ботов неравномерный ритм обхода.
- Если перед сайтом стоит CDN или балансировщик, убедитесь, что в логе реальный IP клиента, а не IP прокси.
- Логи могут содержать персональные данные пользователей, поэтому для SEO-анализа достаточно строк ботов.
Шаг 2. Отфильтруйте обращения ботов
Для первого взгляда хватит командной строки:
# Строки с Googlebot и YandexBot
grep -E "Googlebot|YandexBot" access.log > bots.log
# Топ URL по числу запросов ботов
awk '{print $7}' bots.log | sort | uniq -c | sort -rn | head -50
# Распределение кодов ответа
awk '{print $9}' bots.log | sort | uniq -c | sort -rn
Для регулярной работы удобнее загрузить логи в специализированный анализатор логов, таблицу или базу данных и строить отчёты по разделам сайта.
Шаг 3. Проверьте, что бот настоящий
User-agent легко подделать: парсеры и спам-боты часто представляются Googlebot. Проверка делается в два шага:
- Обратный DNS по IP: имя хоста должно оканчиваться на
googlebot.comилиgoogle.comдля Google и наyandex.ru,yandex.netилиyandex.comдля Яндекса. - Прямой DNS этого имени должен вернуть тот же IP.
host 66.249.66.1
# ... domain name pointer crawl-66-249-66-1.googlebot.com.
host crawl-66-249-66-1.googlebot.com
# ... has address 66.249.66.1
Google также публикует списки IP-диапазонов своих краулеров — их удобно использовать для массовой проверки. Подробности есть в документации Google. Запросы, не прошедшие проверку, исключите из SEO-анализа.
Шаг 4. Найдите лишний обход
Сгруппируйте URL по шаблонам и посмотрите, куда уходят запросы:
| Что искать | Признак проблемы |
|---|---|
| URL с параметрами | Сортировки, фильтры, utm забирают заметную долю обхода |
| Редиректы 301/302 | Бот часто ходит по старым адресам и цепочкам |
| Ошибки 404 | Битые внутренние ссылки или устаревший sitemap |
| Ошибки 5xx | Сервер не выдерживает нагрузку или падает на отдельных шаблонах |
| Технические URL | Поиск по сайту, корзина, служебные страницы |
Каждый такой кластер — повод исправить ссылки, закрыть параметры в robots.txt, обновить sitemap или ускорить сервер.
Шаг 5. Найдите пропущенные важные страницы
Возьмите список URL, которые должны быть в индексе (из sitemap или из базы данных сайта), и сравните со списком URL из логов ботов:
- Есть в sitemap, нет в логах — бот не находит страницу. Проверьте внутренние ссылки и глубину вложенности.
- Есть в логах, нет в sitemap — бот тратит время на то, что вы не считаете важным.
- Важные страницы обходятся редко — усильте перелинковку с часто посещаемых ботом разделов.
Полезно смотреть и на время ответа: если оно растёт, боты часто снижают интенсивность обхода.
Частые ошибки
- Анализ без проверки DNS: в отчёт попадают фейковые боты.
- Слишком короткий период — выводы по паре дней.
- Логи только с одного сервера при нескольких нодах за балансировщиком.
- Смешивание всех ботов Google (картинки, реклама, основной краулер) в одну цифру.