Добавить в корзинуПозвонить
Найти в Дзене

Директива crawl‑delay в robots.txt

В процессе продвижения сайта и его индексации поисковики посылают запросы (боты) к вашему серверу, сканируя страницы сайта, переходя по ссылкам и собирая данные. Если сайт большой, с динамическими разделами, параметрами URL и множеством дублей, то неблагоразумные запросы — особенно со стороны многих роботов — могут создать большую нагрузку на сервер. В таких случаях директива crawl-delay может быть использована как инструмент, чтобы снизить нагрузку и плавно распределить сканирование по времени. Однако важно понимать: crawl-delay не является стандартной директивой, и не все поисковые роботы её уважают. Более того, Google официально не поддерживает crawl-delay — он просто игнорирует эту директиву. В то же время Яндекс поддерживает crawl-delay, и вы можете указать, с каким интервалом робот Яндекса должен обращаться к сайту. Кроме того, Bing и Yahoo (и некоторые другие роботы) внимательно реагируют на crawl-delay. Иначе говоря: директива crawl-delay — это инструмент «мягкого управления»,
Оглавление

1. Введение: зачем нужна директива crawl-delay

В процессе продвижения сайта и его индексации поисковики посылают запросы (боты) к вашему серверу, сканируя страницы сайта, переходя по ссылкам и собирая данные. Если сайт большой, с динамическими разделами, параметрами URL и множеством дублей, то неблагоразумные запросы — особенно со стороны многих роботов — могут создать большую нагрузку на сервер. В таких случаях директива crawl-delay может быть использована как инструмент, чтобы снизить нагрузку и плавно распределить сканирование по времени.

Однако важно понимать: crawl-delay не является стандартной директивой, и не все поисковые роботы её уважают. Более того, Google официально не поддерживает crawl-delay — он просто игнорирует эту директиву.

В то же время Яндекс поддерживает crawl-delay, и вы можете указать, с каким интервалом робот Яндекса должен обращаться к сайту. Кроме того, Bing и Yahoo (и некоторые другие роботы) внимательно реагируют на crawl-delay.

Иначе говоря: директива crawl-delay — это инструмент «мягкого управления», особенно для робота Яндекса и менее строгих роботов, но не гарантированный метод для всех поисковых систем.

-2

2. Что такое robots.txt и как он работает

Прежде чем углубляться в crawl-delay, давайте вспомним, что такое файл robots.txt, как поисковые системы его читают и какие директивы поддерживаются.

  • robots.txt — это текстовый файл, расположенный в корневой директории сайта (обычно https://example.com/robots.txt). Только файл в корне домена понимается как управляющий всей зоной этого домена и протокола.
  • При посещении сайта поисковый робот сначала запрашивает robots.txt, анализирует его содержимое (директивы) и на основании этого решает, какие URL он может посещать и когда.
  • robots.txt поддерживает такие стандартные директивы, как User-agent, Disallow, Allow, Sitemap.
  • Формат: каждая строка имеет : , комментарии начинаются с #. Любые пробелы перед и после отбросываются.
  • Директивы Allow и Disallow указывают, какие пути URL разрешены или запрещены для сканирования конкретным роботом (user agent).
  • Директива Sitemap (указывается один или несколько полных URL к карте сайта) помогает поисковикам найти XML-карты сайта.

Важно: robots.txt не гарантирует, что URL не будут индексироваться — если URL запрещён к сканированию, поисковик может всё равно показывать его адрес в выдаче без сниппета.

Также считается, что robots.txt файл не должен превышать 500 KiB — всё, что следует после этого объёма, игнорируется.

3. Официальные директивы: user-agent, allow, disallow, sitemap

Чтобы грамотно применить crawl-delay, нужно понимать, как работают стандартные (официальные) директивы:

  • User-agent — указывает, к какому роботу применяются нижеследующие правила. Например:User-agent: *
    Disallow: /private/Здесь * означает «всех роботов».
  • Disallow — запрещает доступ к указанному пути (URL, каталогу). Путь относительно корня, начинается с /. Если Disallow: без пути — запрет не применяется.
  • Allow — более тонкий инструмент: разрешает доступ к некоторым подстраницам внутри запрещённой области. Применим, когда вы хотите закрыть всю директорию, но оставить доступ к одному ресурсу.
  • Sitemap — указывает полные URL-ссылки на карту сайта — помогает поисковикам ориентироваться. Пример:Sitemap: https://example.com/sitemap.xml

Эти директивы — официальные, поддерживаемые большинством поисковых систем (включая Google) и основу файла robots.txt.

Важно: директива crawl-delay не входит в официальный стандарт (Robots Exclusion Protocol) и считается неформальным расширением — поэтому её поддержка зависит от конкретной поисковой системы.

4. Директива crawl-delay: определение, синтаксис и значение

Что такое crawl-delay
Директива crawl-delay указывает для робота (user agent), сколько
секунд он должен ждать между запросами к серверу при сканировании сайта.

User-agent: Yandex
Crawl-delay: 5

означает, что робот Яндекса должен делать паузу 5 секунд между запросами к разным URL.

В тексте файла robots.txt директива пишется в строке после директивы User-agent или в той же группе. Например:

User-agent: *
Crawl-delay: 10
Disallow: /admin/

Здесь Crawl-delay: 10 говорит всем роботам (user-agent: *) делать паузу 10 секунд.

Значение числа — это именно секунды, целое число. Нельзя указывать дробные значения — большинство роботов не распознают дроби.

Если указать Crawl-delay: 0 — это означает «без задержки» или директива игнорируется.

5. Как поисковые системы относятся к crawl-delay

Очень важно понимать, что не все поисковые роботы уважают директиву crawl-delay.

Google

  • Googlebot игнорирует директиву crawl-delay.
  • Если вы хотите ограничить скорость Googlebot, нужно использовать настройку crawl rate в Google Search Console.

Яндекс

  • Яндекс поддерживает директиву crawl-delay.
  • Можно указать время задержки в секундах, и робот Яндекса будет уважать это указание.

Bing, Yahoo и др.

  • Bing и Yahoo частично поддерживают crawl-delay.
  • То есть если вы укажете crawl-delay: 10, Bing может подождать 10 секунд между запросами.

6. Примеры записи crawl-delay в robots.txt

Пример 1: для всех роботов

User-agent: *
Crawl-delay: 10
Disallow: /private/
Sitemap: https://example.com/sitemap.xml

Пример 2: только для Яндекса

User-agent: Yandex
Crawl-delay: 5
Disallow: /tmp/
Allow: /tmp/allowed-page.html

Пример 3: разные группы

User-agent: Yandex
Crawl-delay: 3
Disallow: /old/User-agent: Bingbot
Crawl-delay: 8
Disallow: /beta/

7. Когда и зачем использовать crawl-delay (и когда не стоит)

Использовать стоит:

  • Если сервер перегружен запросами роботов.
  • Если сайт большой, с множеством URL и параметров.
  • Если основной бот для продвижения — Яндекс.

Использовать не стоит:

  • Если сайт небольшой.
  • Если ваш трафик и индексация завязаны в основном на Google.
  • Если скорость индексации для вас критична.

8. Риски и ограничения директивы crawl-delay

  • Google игнорирует директиву.
  • Большое значение задержки может замедлить индексацию.
  • Не все боты уважают crawl-delay.
  • Ошибки в синтаксисе robots.txt могут заблокировать сайт.

9. Альтернативные методы управления скоростью индексации

  1. Настройка скорости обхода в Google Search Console, Яндекс.Вебмастере, Bing Webmaster Tools.
  2. Ограничения на уровне сервера (rate limiting, 503 или 429).
  3. Оптимизация структуры сайта: canonical, noindex, clean-param.
  4. Использование CDN и кеширования.

10. Проверка, тестирование и отладка robots.txt

  • Используйте валидаторы robots.txt.
  • Проверяйте логи сервера.
  • Следите за кэшем — роботы обновляют robots.txt не мгновенно.
  • Тестируйте изменения на копии сайта.

11. Кейс: интернет-магазин

Крупный магазин на 100 000 товаров страдал от нагрузки бота Яндекса. Решение:

User-agent: Yandex
Crawl-delay: 5
Disallow: /filter/
Sitemap: https://shop.example.com/sitemap.xml

В итоге нагрузка снизилась, сайт работает стабильно, индексация сохраняется.

12. Советы по технической оптимизации

  • Используйте кэширование и CDN.
  • Минимизируйте response.
  • Уберите ненужные плагины.
  • Оптимизируйте базу данных.

13. Рекомендации для CMS и WordPress

  • Используйте плагины для редактирования robots.txt.
  • Следите, чтобы автоматические обновления не ломали файл.
  • Для динамических сайтов — применяйте canonical, noindex.

14. Частые ошибки и как их избежать

  • Указывать crawl-delay без user-agent.
  • Ставить слишком большие задержки.
  • Блокировать CSS и JS.
  • Забывать про зеркала и субдомены.

15. Заключение

Директива crawl-delay полезна для Яндекса и некоторых других роботов. Но Google её игнорирует. Используйте crawl-delay с осторожностью, проверяйте логи, комбинируйте с другими методами.