Как Google и Яндекс сами снижают обход сайта
Содержание
Поделиться
Google снижает обход, когда сайт замедляется, отвечает 5xx или сигналит ограничением частоты, включая HTTP 429. Яндекс уменьшает число обращений индексирующего робота по ответу 429. Поле Crawl-delay в robots.txt Google не поддерживает, а ответы 401 и 403 частоту обхода Google не снижают.
Что robots.txt может против ботов вообще, разобрано в статье «robots.txt и боты». Как боты задевают поведенческие факторы, — в статье «Боты и SEO». Здесь только то, как два поисковика сами убавляют свой обход.
Из чего складывается бюджет обхода Google
Документация Google называет бюджетом обхода набор адресов, которые Google может и хочет обойти. Он складывается из предела ёмкости и спроса. Предел ёмкости ограничивает суммарное время, которое сервер держит соединения открытыми для Google.
У каждого сайта старт одинаково осторожный. Если ответы стабильны или быстрее, предел растёт. Если сайт замедляется, отвечает 5xx или сигналит ограничением частоты, включая HTTP 429, предел падает, и Google обходит меньше. Дубли и лишние адреса тратят обход впустую. Один краулер с высоким спросом делит общий предел ёмкости с остальными.
Если обход упирается в мощность сервера, документ среди способов поднять бюджет называет добавить ресурсы сервера, если это оправдано для бизнеса. Ориентиры «1 миллион страниц» и «10 000 страниц» документ сам называет грубой прикидкой, не порогом, после которого обход включается или выключается. Это обход Google, не счёт чужого парсера и не обещание, что лишние боты поднимут тариф хостинга на названную сумму.
Что в robots.txt частоту Google не убавит
В толковании robots.txt Google поддерживает user-agent, allow, disallow и sitemap. Поля crawl-delay в списке поддерживаемых нет. Строка Crawl-delay: 10 частоту обхода Google не задаёт.
Файл больше 500 КиБ: всё после предела игнорируется. Ответ 4xx, кроме 429, Google читает так, будто годного robots.txt нет, то есть ограничений на обход нет. Коды 401 и 403 для снижения частоты справка использовать не велит: на частоту они не влияют. Единственный код из этой справки, который документация бюджета прямо связывает со снижением предела, — 429, рядом с замедлением и 5xx.
Запрет обхода не даёт проиндексировать содержимое страницы, но адрес может остаться в результатах без сниппета. Disallow убавляет запросы к закрытым адресам. Он не заменяет 429, если серверу тяжело от того обхода, который ещё разрешён.
Как Яндекс убавляет свой робот
Справка «Как снизить нагрузку» пишет, что индексирующий робот сам планирует визиты и регулирует нагрузку по тому, сколько новых и уже известных страниц надо обойти. Всплеск бывает, когда робот узнал о новом разделе или сменились адреса. Если загруженных страниц много больше, чем страниц в поиске, справка считает вероятными однотипные страницы и дубли.
Disallow в robots.txt снимает обращения к указанным страницам в течение суток после правки файла. Ответ HTTP 429 справка называет знаком, что серверу тяжело: робот уменьшит число обращений. Поддомены Яндекс считает отдельными сайтами, поэтому обход каждого может умножить нагрузку на сервер. Речь о роботе Яндекса, не о произвольном парсере и не о счёте хостинга в рублях.
Что сделать, если обход мешает серверу
Посмотрите, не отвечаете ли вы Google кодами 5xx или не растёт ли время ответа. Документ бюджета снижает предел на этом.
Отдайте 429, если серверу тяжело. И Google, и справка Яндекса связывают этот код с уменьшением обращений. 401 и 403 для частоты Google не используйте.
Не ставьте
Crawl-delayв расчёте на Google: поддерживаемых директив у него в этом списке нет.Закройте
Disallowто, что роботу не нужно. У Яндекса обращения к закрытым страницам снимаются в течение суток. У Google запрет обхода не индексирует содержимое, но адрес может остаться в выдаче без сниппета.Уберите дубли и лишние адреса: они тратят бюджет обхода Google впустую. У Яндекса сильный перекос «загружено гораздо больше, чем в поиске» справка читает как однотипные страницы и дубли.
Поддомены Яндекс обходит как отдельные сайты. Нагрузка на один сервер от этого складывается.
Добавлять мощности сервера документация Google называет способом поднять бюджет, если упор в мощность и если это оправдано для бизнеса. Это не первый шаг и не плата «за ботов».
Учебный пример, не измерение вашего сервера. Сайт отвечает Google дольше обычного и часть запросов закрывает 503. Предел ёмкости по документу падает, обход становится реже. Соседний ответ 403 на тот же объём запросов частоту, по толкованию robots.txt, не снижает. Разница в коде, не в длине списка Disallow.
Чего эти коды не делают
429 не отличает поискового робота от чужого парсера цен: код один, а документация говорит про своего краулера. Disallow не вычищает адрес из выдачи целиком. Рост бюджета после быстрых ответов — больше обхода Google, не меньше. Если цель была «пусть ходят реже», стабильно быстрый сервер двигает предел в другую сторону.
Счёт хостинга ни Google, ни справка Яндекса в этих текстах не называют. Смотрите коды ответа и дубли. Деньги за трафик робота из этой справки не выводятся.