Краулинговый бюджет: практическое руководство для крупных платформ

Как диагностировать краулинговый бюджет на большом сайте по логам, Search Console и шаблонам URL, а затем сократить потери, не блокируя важные страницы.

Краулинговый бюджет — это количество страниц, которые Googlebot готов просканировать на вашем сайте за определённый период. На небольших сайтах он практически не ограничен. На платформах с миллионами URL это стратегический ресурс: бот тратит его на фильтры, пагинацию, пустые шаблоны и тестовые страницы вместо того, чтобы сканировать приоритетный контент. В результате новые товары с задержкой проходят индексацию, каталог покрыт слабо, а позиции теряются.

Куда уходит краулинговый бюджет: ценные страницы конкурируют за внимание бота с фильтрами, UTM-метками и пагинацией.
Google официально различает два понятия: лимит частоты сканирования (crawl rate limit) — как часто бот может приходить, не перегружая сервер, и спрос на сканирование (crawl demand) — сколько страниц Google хочет просканировать, исходя из их ценности. Краулинговый бюджет — пересечение этих двух факторов. Оптимизация даёт реальный эффект именно на крупных платформах.
5–10×

Перерасход бюджета

Типичное соотношение просканированных URL к действительно ценным страницам на неоптимизированной e-commerce-платформе

60–80%

Потери на дублях

Доля бюджета, которую съедают параметрные URL и пагинация, если не принято никаких мер

2–4 нед.

Задержка индексации

Типичная задержка появления нового SKU в индексе, когда бюджет забит

> 50 тыс.

Порог проблемы

Платформы с более чем 50 000 URL уже ощущают ограничения краулингового бюджета

Шаг 1: сбор и анализ логов краулера

Серверные логи — главный источник правды о том, что Googlebot на самом деле сканирует. Анализ логов показывает реальную частоту запросов, какие разделы бот игнорирует или на каких застревает, и какие HTTP-ответы отдаёт сервер. Без логов любая оптимизация — это догадки.

Извлечение запросов Googlebot из Nginx / Apache

bash
# Filter only Googlebot requests from the last 7 days
grep 'Googlebot' /var/log/nginx/access.log \
  | awk '{print $7}' \
  | sort | uniq -c | sort -rn \
  | head -50

# HTTP status codes seen by Googlebot
grep 'Googlebot' /var/log/nginx/access.log \
  | awk '{print $9}' \
  | sort | uniq -c | sort -rn

# Top URLs returning 404 to Googlebot
grep 'Googlebot' /var/log/nginx/access.log \
  | awk '$9 == "404" {print $7}' \
  | sort | uniq -c | sort -rn | head -30

Для структурного анализа больших объёмов логов используйте специализированные инструменты: Screaming Frog Log File Analyser и Semrush Log Analyser, а также стек ELK (Elasticsearch + Kibana). Они сами группируют URL по шаблонам и строят график частоты сканирования во времени.

МетрикаЧто показываетЦелевой диапазон
Частота сканирования (запросов в день)Интенсивность сканирования — сколько страниц Googlebot запрашивает в деньЗависит от платформы; следите за динамикой
Просканировано страниц в деньУникальные URL, просканированные за день, — главный KPI краулингового бюджетаДолжен расти после оптимизации
Доля ответов 200 / (301+302) / 404 / 500Доля каждого типа HTTP-ответа среди всех запросов бота200 > 90%; 404 < 5%; 500 ≈ 0%
Доля дублирующихся URL в сканированииДоля параметрных и дублирующихся URL в логе< 15% после оптимизации
Новые страницы / всего просканированоСоотношение первых сканирований и повторных визитовЦель — увеличить долю новых страниц

Шаг 2: Google Search Console и анализ ответов сервера

Google Search Console даёт агрегированные данные о сканировании без доступа к серверным логам. Главная точка входа — отчёт «Статистика сканирования» (Crawl Stats). Он показывает среднее число запросов в день, скорость загрузки страниц так, как её видит Googlebot, и распределение кодов ответа.

  • GSC → Настройки → Статистика сканирования: график запросов сканирования, разбивка по типу файла и коду ответа. Ищите всплески 404/500 и провалы после деплоев.
  • GSC → Индексирование → Страницы: число проиндексированных URL и причины, по которым страницы не попали в индекс. Статус «Обнаружено — не проиндексировано» — прямой сигнал краулингового бюджета.
  • GSC → Проверка URL: ручная проверка статуса конкретной страницы — когда её сканировали в последний раз и что увидел Googlebot.
  • GSC → Настройки → Скорость сканирования: можно ограничить частоту сканирования, если бот перегружает сервер. Обычно это не нужно — ограничивайте, только если есть измеримые проблемы с производительностью.
Статус «Обнаружено — не проиндексировано» в GSC — самый прямой признак нехватки краулингового бюджета. Google знает, что страницы существуют (он нашёл их по ссылкам или в сайтмапе), но не успевает их просканировать. Первая задача — освободить бюджет от мусорных URL.

Источники потерь краулингового бюджета

На крупной платформе бот теряет бюджет по шести типовым источникам. Найдите каждый в логах и оцените объём — так появится порядок приоритетов для оптимизации.

Сравнение распределения краулингового бюджета с потерями и после оптимизации.

Параметрные URL

?sort=price&filter=red&page=3 создаёт экспоненциально растущее число уникальных URL с одинаковым или почти одинаковым контентом.

Бесконечная пагинация

/catalog?page=N — тысячи URL с убывающей ценностью. Бот может бесконечно сканировать старые страницы каталога.

Дублированный контент

Одинаковые страницы на разных URL: /category/ и /category?utm_source=email, HTTP и HTTPS, www и без www.

Временные страницы

Лендинги вебинаров, демо-макеты, страницы ?preview=1, черновики — появляются и пропадают, но бот продолжает тратить на них бюджет.

Пустые шаблоны

Категории без товаров, профили без контента, автоматические страницы тегов — низкокачественный контент, который генерируют тысячами.

Параметры сессий

?sessionid=abc123, ?token=xyz — уникальные URL для каждой сессии. Для бота каждый такой URL — «новая страница».

Параметры URL и дубли: как исправить

Параметрные URL — главный источник потерь на e-commerce-платформах. Единого решения нет: выбор зависит от природы параметра.

Тип параметраПримерРекомендуемое действие
Сортировка / порядок?sort=price_ascDisallow в robots.txt или canonical на URL без параметра
Фильтры без уникального контента?color=red&size=XLCanonical на чистую страницу категории и noindex через meta robots
Пагинация?page=5Canonical со страниц 2+ на страницу 1 (или Disallow для глубокой пагинации)
Трекинг / UTM?utm_source=emailCanonical на URL без UTM на каждой странице или обработка параметров в GSC
Сессии / токены?sessionid=abcDisallow: /*?sessionid= в robots.txt; исправить генерацию URL в коде
Превью / черновики?preview=1&draft=trueDisallow: /*?preview= и /*?draft= в robots.txt
Пример конфигурации Nginx для канонизации параметров:
text
# robots.txt — blocking parametric URLs
User-agent: *

# Sort and filter parameters
Disallow: /*?sort=
Disallow: /*?order=
Disallow: /*?filter=
Disallow: /*?color=
Disallow: /*?size=

# Pagination deeper than page 3 (Allow/Disallow approach)
Disallow: /*?page=
Allow: /*?page=1
Allow: /*?page=2
Allow: /*?page=3

# Session and tracking parameters
Disallow: /*?sessionid=
Disallow: /*?token=
Disallow: /*?ref=
Disallow: /*?utm_

# Preview and drafts
Disallow: /*?preview=
Disallow: /*?draft=
Для параметров с частично уникальным контентом (например, фильтр по бренду с уникальным описанием) тег canonical предпочтительнее Disallow: бот может посетить страницу, прочитать canonical и передать ссылочный вес основной странице. Disallow полностью исключает страницу из сканирования и, возможно, из индекса.

Фильтры, фасеты и пагинация

Фасетная навигация — самый сложный случай. Она создаёт комбинаторный взрыв URL: 10 фильтров по 5 значений каждый потенциально дают больше миллиона комбинаций. Задача — сохранить ценные фасеты (бренд + категория) и закрыть бесполезные комбинации.

  1. Выявите ценные фасеты: страницы с высоким органическим трафиком или уникальным SEO-контентом (например, /catalog/nike/ с текстом именно о бренде) — оставьте в индексе с canonical на саму себя.
  2. Добавьте noindex + follow к малоценным комбинациям: страница рендерится, ссылки на ней учитываются, но в индекс она не попадает. Используйте <meta name="robots" content="noindex, follow"> в шаблоне, если активно больше одного фасета.
  3. Закройте технические параметры через Disallow: сортировку, цвет, размер — если у них нет SEO-ценности — закройте в robots.txt.
  4. AJAX-подгрузка фасетов: если фасеты подгружаются JavaScript и не отражаются в URL, бот не видит дополнительных URL. Так проблема решается на уровне архитектуры.

Пагинация: canonical или Disallow

Оптимальная стратегия пагинации зависит от масштаба: до 10 страниц — разрешите сканирование и поставьте canonical со страниц 2+ на страницу 1. Для сотен страниц пагинации — Disallow глубже 3–5-й страницы. Бесконечная прокрутка без URL-параметров бот воспринимает как одну страницу — это хорошо для бюджета.

Временные страницы: вебинары, макеты, демо

Временные страницы — скрытый расход бюджета на платформах с активными маркетинговыми командами. Лендинги вебинаров, демо-макеты, страницы предпросмотра для клиентов и варианты A/B-тестов появляются быстро и часто остаются навсегда, молча съедая краулинговый бюджет.

  • meta robots noindex: добавьте <meta name="robots" content="noindex, nofollow"> в шаблон всех временных страниц. Бот зайдёт, прочитает директиву и исключит URL из индекса. Это самый простой способ, если есть доступ к шаблону.
  • X-Robots-Tag в HTTP-заголовке: если у временных страниц нет собственного HTML-шаблона (например, это сгенерированные PDF или файлы), используйте заголовок ответа: X-Robots-Tag: noindex, nofollow.
  • Disallow по префиксу пути: если временные страницы лежат под предсказуемыми префиксами, закройте их в robots.txt. Гарантии удаления уже проиндексированного URL нет, но новые URL сканироваться не будут.
  • HTTP-авторизация: для staging и страниц предпросмотра это единственный надёжный способ полной изоляции. У Googlebot нет учётных данных, и он страницу не просканирует.
Пример разметки noindex в теге и HTTP-заголовке:
text
# robots.txt — patterns for temporary pages
User-agent: *

# Webinars and events
Disallow: /webinars/
Disallow: /events/draft-
Disallow: /landing/test-

# Mockups and previews
Disallow: /_preview/
Disallow: /mockups/
Disallow: /demo/

# A/B tests and experiments
Disallow: /*?variant=
Disallow: /*?experiment=
Disallow: /*?ab_test=

# Template preview parameters
Disallow: /*?preview=
Disallow: /*?draft=
Disallow: /*?revision=
Disallow не удаляет страницу из индекса, если она уже была проиндексирована. Чтобы убрать уже проиндексированные временные страницы, используйте noindex (бот должен иметь доступ, чтобы прочитать директиву). Когда страница выйдет из индекса, включите Disallow или настройте HTTP-авторизацию.

Sitemap Index при больших объёмах

При миллионах URL один XML-сайтмап не работает: он ограничен 50 000 URL и 50 МБ. Sitemap Index — файл-оглавление, который ссылается на дочерние сайтмапы. Так можно расставлять приоритеты и направлять бюджет туда, где он нужнее всего.

xml
<?xml version="1.0" encoding="UTF-8"?>
<sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <!-- Priority sections — crawled first -->
  <sitemap>
    <loc>https://example.com/sitemap-products.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <sitemap>
    <loc>https://example.com/sitemap-categories.xml</loc>
    <lastmod>2026-05-15</lastmod>
  </sitemap>
  <!-- Lower-priority sections -->
  <sitemap>
    <loc>https://example.com/sitemap-blog.xml</loc>
    <lastmod>2026-05-10</lastmod>
  </sitemap>
  <!-- Do NOT include noindex pages or duplicates! -->
</sitemapindex>
Рекомендации по структуре Sitemap Index:
  • Разбивайте сайтмапы по типам контента: товары, категории, блог, статические страницы — каждый в отдельном файле. Так в GSC видна индексация по каждому разделу.
  • Указывайте lastmod честно: lastmod сообщает боту, насколько контент свежий. Ставьте дату последнего реального изменения, а не сегодняшнюю — иначе бот перестанет доверять этому сигналу.
  • Исключите заблокированные URL: страницы с noindex или Disallow не должны попадать в сайтмап — они дают боту противоречивые сигналы.
  • Лимит дочернего сайтмапа: каждый дочерний файл — максимум 50 000 URL или 50 МБ (в сжатом виде). При превышении разбейте на части: sitemap-products-1.xml, sitemap-products-2.xml.
Рекомендации по структуре Sitemap Index:

Настройки сервера и ограничение частоты запросов

Серверная часть влияет на краулинговый бюджет в обе стороны: медленные ответы заставляют Googlebot снижать интенсивность сканирования, а ошибки 5xx заставляют бот ждать и тратить время на повторные попытки. Оптимизация сервера напрямую повышает эффективность сканирования.

Код HTTPКак его понимает GooglebotРекомендуемое действие
200 OKСтраница существует; бот сканирует и индексируетНорма для всех публичных страниц
301/302Редирект — бот проходит по нему, бюджет тратится на оба URLМинимизируйте цепочки редиректов; устраняйте битые ссылки
404 Not FoundСтраницы нет; бот прекращает сканировать этот URLДопустимо для удалённых страниц; больше 5% 404 в логах Googlebot — проблема
429 Too Many RequestsВременное ограничение — бот снижает частоту сканированияИспользуйте при реальной нагрузке на сервер; Googlebot соблюдает 429
503 Service UnavailableВременная недоступность — бот вернётся позжеПравильный ответ на время обслуживания; не злоупотребляйте им
500 Server ErrorОшибка сервера — бот повторит запрос и потратит бюджетУстраните причины 500; каждый 5xx — потерянный бюджет
Пример конфигурации Nginx для управления сканированием:
nginx
# Nginx: return 429 when any crawler sends too many requests
limit_req_zone $http_user_agent zone=crawlers:10m rate=10r/s;

location / {
    limit_req zone=crawlers burst=20 nodelay;
    limit_req_status 429;
    # ... other settings
}
Пример конфигурации Nginx для управления сканированием:
Чтобы управлять частотой сканирования Googlebot, используйте GSC → Настройки → Скорость сканирования, а не Crawl-delay в robots.txt: Google официально игнорирует Crawl-delay. Crawl-delay работает для Яндекса и Bing.

KPI и мониторинг

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

Ключевые KPI краулингового бюджета

Целевые значения для оптимизированной крупной платформы

Доля 200 OK среди запросов Googlebot> 90%
Доля 404 среди запросов Googlebot< 5%
Доля дублирующихся URL в сканировании< 15%
Проиндексированные страницы / страницы, поданные в Sitemap> 85%
  • Еженедельно: сравнивайте запросы сканирования в GSC за текущую и прошлую неделю. Резкий скачок — признак новых дублей после деплоя.
  • Ежемесячно: проверяйте в GSC → Страницы статус «Обнаружено — не проиндексировано». Рост этого числа при неизменном размере сайта — проблема краулингового бюджета.
  • После каждого крупного деплоя: прогоните Screaming Frog по сайту и проверьте число уникальных URL. Сравните с предыдущим снимком.
  • Раз в квартал: полный анализ логов за 30 дней. Ищите новые паттерны параметрных URL, которые появились после обновления кода.
  • Алерты: настройте уведомление, если 5xx-ответы за день превышают 1% всех запросов Googlebot.

Быстрые победы и дорожная карта

Оптимизация краулингового бюджета — не разовая задача, а процесс. Разделите работу на быстрые победы (эффект через 1–2 недели) и системные изменения (1–3 месяца).

Неделя 1Блокировка временных страниц и параметров предпросмотра

Добавьте noindex в шаблоны вебинаров, макетов и демо. Добавьте Disallow для ?preview= и ?draft= в robots.txt.

Неделя 2Disallow для параметров трекинга и сессий

?utm_, ?sessionid=, ?ref= — в robots.txt. Canonical для UTM-вариантов на всех шаблонах.

Месяц 1Оптимизация Sitemap Index

Разбейте на тематические сайтмапы. Уберите из сайтмапа страницы с noindex. Укажите честный lastmod.

Месяц 1–2Canonical и noindex для фасетов

Определите ценные и бесполезные комбинации фасетов. Внедрите noindex + follow для малоценных комбинаций.

Месяц 2–3Оптимизация ответов сервера

Устраните цепочки редиректов. Сократите число 404 по логам. Оптимизируйте TTFB для разделов, которые сканирует бот.

ПостоянноМониторинг и регулярный обзор

Дашборд в GSC, алерты на 5xx, квартальный анализ логов. Проверяйте после каждого крупного деплоя.

Чеклист быстрых побед

  • noindex добавлен во все шаблоны временных страниц (вебинары, макеты, демо)
  • Disallow для ?preview=, ?draft=, ?sessionid=, ?utm_ в robots.txt
  • Canonical на чистые URL на всех параметрных страницах (сортировка, пагинация 2+)
  • Страницы с noindex и Disallow удалены из Sitemap
  • Sitemap Index разбит по разделам, lastmod указан честно
  • Цепочки редиректов сведены к одному переходу
  • 404 в логах Googlebot < 5% — битые ссылки убраны
  • Настроен еженедельный мониторинг в GSC

FAQ

На каком размере сайта краулинговый бюджет начинает иметь значение?
Google советует обращать внимание, когда сайт превышает 1 миллион URL. На практике проблемы появляются раньше — при 50–100 тыс. URL и активной генерации параметрных страниц. Если в GSC растёт число «Обнаружено — не проиндексировано», пора проводить аудит — независимо от размера сайта.
Что важнее для сканирования: Sitemap или внутренние ссылки?
Важны оба, и они дополняют друг друга. Sitemap сообщает боту, что страницы существуют. Внутренние ссылки передают PageRank и показывают относительную важность. Страница, на которую ведёт только запись в Sitemap и нет внутренних ссылок, будет сканироваться реже, чем страница с сотнями внутренних ссылок.
Помогает ли CDN краулинговому бюджету?
Да, косвенно. CDN ускоряет ответы сервера, и Googlebot при том же лимите частоты сканирования просканирует больше страниц за единицу времени. Быстрый TTFB — один из факторов, влияющих на интенсивность сканирования.
Как canonical влияет на краулинговый бюджет?
Canonical не блокирует сканирование страницы: бот всё равно может её посетить. Но после чтения canonical бот понимает, что страница — дубль, и снижает частоту её повторных сканирований. Canonical решает проблему индексации дублей, но проблему сканирования полностью не решает: для этого эффективнее Disallow или noindex.
Можно ли ускорить индексацию новых страниц после оптимизации бюджета?
Да. После освобождения бюджета обновите Sitemap с корректным lastmod для новых страниц. Для прямой отправки URL используйте Indexing API от Google (официально — для новостей и вакансий, но на практике работает и для других типов контента). Создайте внутренние ссылки с авторитетных разделов на новые страницы.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it