В корзине пусто!
Лог-файлы сервера фиксируют каждый запрос Googlebot к вашему сайту: URL, статус-код, время, частота. Анализ логов за 30 дней выявляет, куда тратится краулинговый бюджет, какие страницы бот игнорирует и где скрываются технические ошибки.
Содержание
Что такое access.log и error.log
Каждый веб-сервер ведёт два основных журнала. access.log записывает каждый HTTP-запрос к серверу — от реальных посетителей, ботов, мониторинговых сервисов. error.log фиксирует сбои: ошибки PHP, недоступные файлы, проблемы конфигурации.
Для SEO-анализа первичен access.log. Именно там видно, когда и как часто Googlebot заходил на ваш сайт, какие URL запрашивал и какие получал статус-коды. Это прямая запись «разговора» между вашим сервером и поисковым роботом — без фильтров и сэмплинга, в отличие от Google Search Console.
Где находятся лог-файлы
| Сервер | access.log | error.log |
|---|---|---|
| Apache (Linux) | /var/log/apache2/access.log | /var/log/apache2/error.log |
| Nginx (Linux) | /var/log/nginx/access.log | /var/log/nginx/error.log |
| cPanel | cPanel → Logs → Raw Access | cPanel → Logs → Error Log |
| Windows IIS | C:\inetpub\logs\LogFiles\ | Вместе с access в той же папке |
| Plesk | Logs → доступ через GUI | Logs → Error Log |
Как читать строку лог-файла
Типичная строка Combined Log Format (стандарт Apache и Nginx) выглядит так:
66.249.66.1 - - [21/May/2026:14:23:11 +0200] "GET /blog/seo-audit/ HTTP/1.1" 200 48234 "-" "Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)"
Из этой строки мы узнаём: IP 66.249.66.1 (подтверждённый Googlebot по обратному DNS), 21 мая 2026 в 14:23, сделал GET-запрос к странице /blog/seo-audit/, сервер ответил кодом 200 (успешно), размер ответа — 48 KB.
Что показывает лог о Googlebot
Когда мы фильтруем access.log по User-Agent Googlebot, открываются четыре ключевые группы данных для SEO:
- Частота краулинга: сколько раз бот заходил на сайт за сутки, неделю, месяц. По нашему опыту анализа логов 50+ проектов — новые статьи на авторитетных сайтах бот краулит в течение 2–6 часов после публикации.
- Распределение краулинга по URL: какие страницы бот посещает чаще всего, а какие — редко или ни разу. Это прямой показатель того, что Google считает важным.
- Статус-коды для бота: сколько запросов завершилось 200, сколько — 404, 301 или 500. GSC показывает лишь часть этих данных и с задержкой.
- Время краулинга: в какое время суток бот наиболее активен на вашем сайте. Полезно для планирования технических работ (деплоев, обновлений базы).
В нашей практике самая частая проблема — сайт считает, что Googlebot сканирует нужные страницы, но в логах обнаруживается: 60–70% запросов бота уходит на статические ресурсы (CSS, JS, шрифты) или технические параметры URL. Полезных страниц бот видит меньше, чем кажется.
User-Agent строки Googlebot для фильтрации
| Бот | User-Agent строка | Что сканирует |
|---|---|---|
| Googlebot | Mozilla/5.0 (compatible; Googlebot/2.1; ...) | HTML-страницы, основной краулер |
| Googlebot-Image | Googlebot-Image/1.0 | Изображения для Google Images |
| Googlebot-Mobile | ...Mobile; Googlebot... | Мобильная версия сайта |
| AdsBot-Google | AdsBot-Google (+http://...) | Страницы для проверки качества рекламы |
| Google-InspectionTool | Google-InspectionTool/1.0 | Проверка URL через GSC |
Инструменты анализа логов
Выбор инструмента зависит от размера лог-файла и глубины нужного анализа:
| Инструмент | Тип | Размер логов | Цена | Преимущества |
|---|---|---|---|---|
| GoAccess | CLI / веб-интерфейс | до 1 ГБ | Бесплатно | Реальное время, лёгкая установка |
| Screaming Frog Log Analyser | Desktop | до 1 ГБ | Бесплатно / $259/год | SEO-отчёты, фильтры по ботам |
| Python + pandas | Код | Неограничено | Бесплатно | Гибкость, автоматизация |
| ELK Stack | Серверный | Терабайты | Бесплатно / Enterprise | Для крупных сайтов, дашборды |
| Splunk | Enterprise | Неограничено | $150+/мес | ML-аномалии, оповещения |
GoAccess: быстрый старт
GoAccess — самый быстрый способ увидеть общую картину краулинга без написания кода:
# Установка на Ubuntu/Debian
sudo apt-get install goaccess
# Анализ и генерация HTML-отчёта
zcat /var/log/nginx/access.log.gz | \
grep -i "googlebot" | \
goaccess - -o /tmp/googlebot-report.html \
--log-format=COMBINED --no-global-config
Screaming Frog Log File Analyser
Для команд без опыта Python — оптимальный выбор. Загрузите лог, установите фильтр по User-Agent «Googlebot», получите готовые отчёты: топ-URL по количеству краулинга, распределение статус-кодов, график активности по датам. Бесплатная версия поддерживает до 1000 строк логов.
Кейс: 40% краулингового бюджета на технических URL
Один из наших клиентов — интернет-магазин с ~8000 SKU в категории товаров для дома. Органический трафик просел на 18% за квартал, хотя контент регулярно обновлялся и новые страницы товаров публиковались еженедельно. GSC не показывал критических ошибок индексации.
Загрузили access.log за 30 дней (архив ~380 МБ), отфильтровали запросы Googlebot, проанализировали распределение по типам URL:
- 40% запросов Googlebot — страницы с параметрами фильтров:
?color=red&size=L&sort=price - 15% запросов — сессионные параметры:
?PHPSESSID=abc123... - 12% запросов — дубли пагинации:
/catalog/page-1/(при том что canonical уже указывал на/catalog/) - 33% запросов — реальные страницы товаров и категорий, которые должны были индексироваться
То есть лишь треть краулингового бюджета шла на полезные URL. Новые товарные страницы, публиковавшиеся еженедельно, попадали в очередь краулинга с задержкой 2–3 недели вместо 2–3 дней.
Что сделали
- Добавили в robots.txt правила
Disallow: /*?*color=,Disallow: /*?*PHPSESSID=для всех параметров фильтров и сессий. - Настроили canonical на всех страницах пагинации на первую страницу категории.
- Проверили sitemap.xml — удалили технические URL, попавшие туда из-за ошибки в генераторе.
Через 6 недель доля полезного краулинга выросла с 33% до 74%. Новые товарные страницы стали появляться в индексе за 2–5 дней. Органический трафик восстановился и добавил ещё +11% к базовому уровню.
Что искать в логах: чеклист
1. Ошибки 404 для Googlebot
Запросы бота, возвращающие 404, — это трата краулингового бюджета на несуществующие страницы. Типичные причины: удалённые страницы без редиректов, ссылки на устаревшие URL в sitemap.xml, внутренние ссылки на 404.
# Найти все 404 от Googlebot
grep -i "googlebot" access.log | grep '" 404 ' | \
awk '{print $7}' | sort | uniq -c | sort -rn | head -50
2. Ошибки 5xx (серверные)
Статус 500, 502, 503 для бота означает, что сервер не смог обработать запрос. Если Googlebot систематически получает 5xx — он помечает страницы как ненадёжные и снижает частоту краулинга. По нашему опыту, даже 2–3 дня нестабильной работы сервера могут на недели уменьшить активность краулинга.
3. Избыточные 301-редиректы
Каждый редирект — дополнительный запрос и потеря времени краулинга. Если бот массово попадает на цепочки редиректов (A→B→C), стоит «спрямить» ссылки непосредственно на конечный URL.
4. Важные страницы с редким краулингом
Сравните список приоритетных страниц из sitemap.xml с частотой их появления в логах за последние 30 дней. Если стратегическая страница не появляется в логах Googlebot более 14 дней — проверьте доступность через внутренние ссылки, отсутствие noindex, наличие в sitemap.
Краулинговый бюджет через логи: как оценить и оптимизировать
Краулинговый бюджет — это количество страниц, которые Googlebot готов сканировать на вашем сайте за один сеанс. Он не фиксирован: зависит от авторитета домена, скорости сервера и «качества» контента, который бот находит.
Из логов можно измерить две составляющие краулингового бюджета, о которых пишет Google в своей официальной документации:
Детальный обзор всех инструментов и отчётов GSC для SEO-анализа — в нашем полном гайде по Google Search Console.
- Crawl rate limit — максимальная скорость, с которой бот может сканировать без перегрузки сервера. Из логов видно, сколько параллельных запросов бот делает одновременно.
- Crawl demand — насколько Google считает сайт «интересным» для сканирования. Если после улучшения контента частота краулинга выросла — это положительный сигнал.
Формула расчёта эффективности краулинга
Эффективность краулинга = (Запросы Googlebot к полезным URL) / (Всего запросов Googlebot) × 100%
Норма: более 60%. Если показатель ниже — ресурс тратится впустую.
Что закрывать от краулинга
- Параметры фильтров и сортировки:
?sort=price&order=asc - Сессионные параметры:
?PHPSESSID=,?sessionid= - UTM-параметры:
?utm_source=,?utm_medium= - Дубли с www/без www: если нет жёсткого 301
- Поисковые страницы сайта:
/search?q= - Страницы входа и личных кабинетов:
/login,/account/ - Тестовые и стейджинг URL: если они случайно доступны
Python-скрипт для анализа логов
Для регулярного мониторинга удобно автоматизировать анализ скриптом. Вот базовый вариант на Python с библиотекой pandas:
import pandas as pd
import re
LOG_FILE = '/var/log/nginx/access.log'
LOG_PATTERN = r'(\S+) \S+ \S+ \[([^\]]+)\] "(\S+) (\S+) \S+" (\d+) \d+ "([^"]*)" "([^"]*)"'
rows = []
with open(LOG_FILE, 'r', encoding='utf-8', errors='ignore') as f:
for line in f:
m = re.match(LOG_PATTERN, line)
if m:
ip, dt, method, url, status, referer, ua = m.groups()
rows.append({
'ip': ip, 'datetime': dt, 'method': method,
'url': url, 'status': int(status), 'ua': ua
})
df = pd.DataFrame(rows)
# Фильтр только Googlebot
bot_df = df[df['ua'].str.contains('Googlebot', case=False, na=False)].copy()
print(f"Всего запросов Googlebot: {len(bot_df)}")
print(f"\n=== Распределение статус-кодов ===")
print(bot_df['status'].value_counts())
print(f"\n=== Топ-20 URL по количеству краулинга ===")
print(bot_df['url'].value_counts().head(20))
# Классификация URL
def classify_url(url):
if any(p in url for p in ['?', 'PHPSESSID', 'utm_', 'sort=', 'filter']):
return 'technical'
elif any(ext in url for ext in ['.css', '.js', '.png', '.jpg', '.svg', '.woff']):
return 'static'
else:
return 'content'
bot_df['url_type'] = bot_df['url'].apply(classify_url)
print(f"\n=== Распределение по типам URL (%) ===")
print(bot_df['url_type'].value_counts(normalize=True).mul(100).round(1))
# 404 для Googlebot
errors_404 = bot_df[bot_df['status'] == 404]['url'].value_counts().head(30)
print(f"\n=== Топ-30 URL с 404 для Googlebot ===")
print(errors_404)
Анализ лог-файлов — часть комплексного технического SEO-аудита. Если вы занимаетесь продвижением сайта, логи дадут данные, которых нет ни в одном другом инструменте: реальную картину того, что и когда видит Googlebot на вашем сервере.
На практике
SaaS-платформа аналитики с публичными дашбордами клиентов — около 4 200 страниц продукта плюс неограниченное количество пользовательских отчётов в открытом доступе. Органический трафик на ключевые страницы (тарифы, функции, документация) рос медленнее, чем ожидалось, несмотря на регулярные публикации.
В Google Search Console индексация основных страниц продукта практически не фиксировалась. Клиент предположил проблему с контентом. Мы запросили access.log за 45 дней и загрузили архив 420 МБ в Screaming Frog Log File Analyser.
Картина оказалась иной: 71% запросов Googlebot уходил на URL вида /dashboard/client-id/report/ — публичные дашборды клиентов, тысячи уникальных адресов без какой-либо SEO-ценности. Бот методично обходил их снова и снова, полностью игнорируя страницы фич и лендинги.
После добавления правила Disallow: /dashboard/ в robots.txt и верификации результата через GSC Crawl Stats индексация основных страниц продукта выросла в 4 раза за 8 недель. Semrush зафиксировал рост видимости по целевым ключам на 38%.
Публичные пользовательские URL — классическая ловушка для SaaS: тысячи адресов, которые выглядят как контент, но не несут SEO-ценности. Если платформа позволяет генерировать публичные страницы, первым делом проверяйте в логах, не поглощают ли они весь краулинговый бюджет.
Частые вопросы
Где находятся лог-файлы сервера?
На Apache лог-файлы расположены в /var/log/apache2/access.log и error.log. На Nginx — в /var/log/nginx/access.log. В cPanel доступ через раздел Logs → Raw Access или через File Manager в папке /logs/.
Как часто Googlebot краулит сайт?
Частота краулинга зависит от авторитета домена и частоты обновления контента. Крупные сайты бот посещает несколько раз в сутки, малые — раз в несколько суток. Точные данные видны только из лог-файлов: фильтруйте строки с Googlebot и считайте записи по датам.
Что такое краулинговый бюджет и как он связан с логами?
Краулинговый бюджет — лимит страниц, которые Googlebot обходит за один сеанс. Из логов видно, сколько запросов бота тратится на технические URL вместо полезных страниц. Если более 30% краулинга уходит на «мусорные» URL — закройте их в robots.txt или через noindex.
Какие инструменты лучше использовать для анализа логов?
Для быстрого анализа без программирования — Screaming Frog Log File Analyser или GoAccess (бесплатно). Для глубокого анализа больших логов — Python с pandas: позволяет фильтровать по User-Agent, строить сводные таблицы по URL и датам, находить аномалии краулинга.
Если хотите разобраться с полным техническим состоянием сайта — читайте наш пошаговый гайд по техническому SEO-аудиту сайта.
Бесплатный технический аудит краулинга
Проанализируем лог-файлы вашего сервера, найдём потери краулингового бюджета и предоставим конкретный план оптимизации индексации.


