Краулинговый бюджет (Crawl Budget)
1. Архитектура и принцип работы
Архитектура краулингового бюджета зародилась в ранних алгоритмах Google (2000-е) как механизм защиты от перегрузки серверов. Робот (Googlebot, YandexBot) анализирует ответы сервера (коды 200, 301, 404, 5xx), скорость отклика и частоту обновлений контента. На основе этих сигналов формируется два лимита: crawl rate limit (максимальная частота запросов) и crawl demand (потребность в обходе). История развития связана с внедрением адаптивного краулинга: если сервер отвечает быстро и стабильно, бюджет растёт; при ошибках или медленных ответах — снижается. С 2018 года Google официально разделил бюджет на «host load» и «demand», а Яндекс ввёл понятие «краулинговый лимит» в YATI. Фундаментально бюджет зависит от авторитета сайта: крупные доноры получают больше ресурсов, чем новые домены.
2. Математическая механика и триггеры ранжирования
Формула расчёта краулингового бюджета не публична, но эмпирически выражается как: CB = (HostLoad × AuthorityFactor) / (AvgResponseTime × ErrorRate). HostLoad — выделенная мощность (запросов/сек), AuthorityFactor — трастовый вес домена (0.1–1.0), AvgResponseTime — среднее время ответа сервера (мс), ErrorRate — доля ошибок 5xx/4xx. Веса факторов: скорость ответа (40%), стабильность кодов (30%), качество контента (20%), частота обновлений (10%). Триггеры пессимизации: ответы 5xx, таймауты >2 сек, дублирование контента, спам-ссылки, резкие скачки числа URL. При пессимизации бюджет урезается до 10–20% от нормы, что замедляет индексацию. Влияние на ранжирование косвенное: страницы, не попавшие в индекс из-за бюджета, выпадают из выдачи. Яндекс учитывает бюджет при оценке «качества сайта» в ПФ: если робот часто получает ошибки, сайт теряет траст.
3. Специфика в Яндекс (YATI) vs Google
Яндекс в YATI (Yet Another Technical Index) и ПФ (поисковые факторы) оценивает краулинговый бюджет через призму «доверия к серверу»: важны стабильность ответов, отсутствие 5xx, корректность robots.txt и sitemap. Яндекс чаще переобходит сайты с высокой частотой обновлений, но при ошибках быстро снижает лимит. Google в Core Updates и Entity Graph использует бюджет как часть «качества сайта»: учитывает crawl demand на основе кликов и ссылок, а также host load. Google более терпим к медленным серверам, но чувствителен к дублям и мягким 404. Оба поисковика отдают приоритет авторитетным доменам, но Google активнее использует машинное обучение для прогноза бюджета, а Яндекс — эвристики на основе логов.
4. Нормативы SLA и диагностическая матрица
| Параметр / Метрика | Эталон по SLA | Критическая ошибка |
|---|---|---|
| Среднее время ответа сервера (TTFB) | < 500 мс | > 2000 мс |
| Доля ошибок 5xx за сутки | < 0.5% | > 5% |
| Частота обхода Googlebot (запросов/день) | > 1000 для среднего сайта | < 100 или резкое падение на 50% |
5. Пошаговый инженерный протокол внедрения
- Шаг 1: Проверьте логи сервера и отчёты Google Search Console / Яндекс.Вебмастер на предмет кодов ответа и скорости отклика (цель: 200 OK < 500 мс).
- Шаг 2: Закройте в robots.txt служебные и дублирующиеся URL, настройте канонические теги и 301-редиректы для устранения краулингового мусора.
- Шаг 3: Оптимизируйте sitemap.xml: включайте только 200-е страницы, обновляйте lastmod, разбивайте на разделы по 50 тыс. URL.
- Шаг 4: Ускорьте сервер: включите кэширование, CDN, HTTP/2, сжатие Brotli. Следите, чтобы время ответа не превышало 1 секунду.
- Шаг 5: Настройте мониторинг краулингового бюджета через API (например, Googlebot crawl stats) и реагируйте на падение частоты обхода.
# Пример расчёта краулингового бюджета (эмпирическая формула)
HostLoad = 10 # запросов/сек
AuthorityFactor = 0.8
AvgResponseTime = 0.4 # сек
ErrorRate = 0.01
CB = (HostLoad * AuthorityFactor) / (AvgResponseTime * (1 + ErrorRate * 10))
print(f"Crawl Budget: {CB:.2f} запросов/сек") # ~18.87
6. Типичные ошибки при оптимизации
- Фатальная ошибка 1: Игнорирование ошибок 5xx. Робот снижает бюджет при каждом сбое. Избегайте: настройте алерты на 5xx и исправляйте в течение часа.
- Фатальная ошибка 2: Бесконечные параметры URL (фильтры, сортировки), создающие миллионы дублей. Избегайте: закрывайте параметры в robots.txt или используйте canonical.
- Фатальная ошибка 3: Блокировка CSS/JS в robots.txt. Это ломает рендеринг и снижает доверие. Избегайте: разрешайте доступ к ресурсам, влияющим на отображение.
