Использование robots.txt

Как настроить индексирование сайта с помощью файла robots.txt.

Robots.txt — текстовый файл в корневой директории сайта, который содержит инструкции для поисковых роботов: что индексировать, что пропускать и как часто обходить страницы.

Как создать robots.txt

  1. Создайте текстовый файл с именем robots.txt
  2. Заполните его согласно правилам, описанным ниже
  3. Проверьте корректность через Яндекс Вебмастер → Анализ robots.txt
  4. Загрузите файл в корневую директорию сайта

Файл должен быть доступен по адресу http://example.com/robots.txt. Если файл отсутствует или возвращает статус, отличный от 200 OK, робот считает, что доступ к сайту не ограничен.

Директива User-agent

Указывает, для какого робота применяется набор правил. Можно задавать отдельные инструкции для конкретных ботов или использовать * для всех.

User-agent: YandexBot   # только основной индексирующий робот Яндекса
Disallow: /*id=

User-agent: Yandex      # все роботы Яндекса (кроме тех, для кого заданы отдельные правила)
Disallow: /*sid=

User-agent: *           # все остальные роботы
Disallow: /cgi-bin

Роботы Яндекса, для которых можно задать отдельные директивы:

  • YandexBot — основной индексирующий робот
  • YandexDirect — сбор данных для Рекламной сети Яндекса
  • YandexDirectDyn — генерация динамических баннеров
  • YandexMedia — индексация мультимедийного контента
  • YandexImages — индексатор Яндекс Картинок
  • YandexBlogs — индексация постов и комментариев
  • YandexNews — робот Яндекс Новостей
  • YandexPagechecker — валидатор микроразметки
  • YandexMetrika — робот Яндекс Метрики
  • YandexMarket — робот Яндекс Маркета

Директивы Disallow и Allow

Disallow — запрещает роботу доступ к указанному разделу:

User-agent: Yandex
Disallow: /             # закрывает весь сайт
User-agent: Yandex
Disallow: /cgi-bin      # закрывает раздел /cgi-bin

Allow — явно разрешает доступ к разделу (используется вместе с Disallow):

User-agent: Yandex
Allow: /cgi-bin
Disallow: /             # закрывает всё, кроме /cgi-bin

Символ # обозначает комментарий — всё после него до конца строки игнорируется роботом. Между блоками разных User-agent рекомендуется оставлять пустую строку.

Как применяются директивы: Директивы сортируются по длине URL (от короткого к длинному) и применяются последовательно. Порядок их написания в файле не имеет значения — важна длина пути.

# Исходный вид:
User-agent: Yandex
Allow: /catalog
Disallow: /

# Применяется как:
User-agent: Yandex
Disallow: /             # запрещает всё...
Allow: /catalog         # ...кроме /catalog
# Исходный вид:
User-agent: Yandex
Allow: /
Allow: /catalog/auto
Disallow: /catalog

# Применяется как:
User-agent: Yandex
Allow: /                # разрешает всё...
Disallow: /catalog      # ...кроме /catalog...
Allow: /catalog/auto    # ...но /catalog/auto снова разрешён

Директива Sitemap

Указывает путь к XML-карте сайта. Если карт несколько — перечислите все:

User-agent: Yandex
Allow: /
Sitemap: https://example.com/sitemap1.xml
Sitemap: https://example.com/sitemap2.xml

Директива является межсекционной — она учитывается вне зависимости от места в файле.

Директива Host

Позволяет указать главное зеркало сайта для Яндекса. Директива не гарантирует выбор указанного зеркала, но алгоритм учитывает её с высоким приоритетом:

User-agent: *
Disallow: /forum
Disallow: /cgi-bin
Host: https://www.example.com

Директива Crawl-delay

Задаёт минимальный интервал в секундах между загрузкой страниц. Полезна при высокой нагрузке на сервер. Яндекс поддерживает дробные значения:

User-agent: Yandex
Crawl-delay: 2          # пауза 2 секунды

User-agent: *
Disallow: /search
Crawl-delay: 4.5        # пауза 4,5 секунды

Директива Clean-param

Если URL страниц содержат динамические параметры, не влияющие на содержимое (идентификаторы сессий, реклама, рефереры), укажите их через Clean-param. Робот Яндекса не будет повторно обходить дублирующиеся версии страниц, что снизит нагрузку на сервер и повысит эффективность индексации.

Подробная документация доступна на официальном сайте Яндекса.

Помощь

Если у вас возникли вопросы или требуется помощь, пожалуйста, свяжитесь с нами через систему тикетов — мы обязательно вам поможем!

Нужна помощь?Наши инженеры бесплатно помогут с любым вопросом за считанные минутыНаписать нам