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

robots.txt — это текстовый файл, размещаемый в корне сайта (например, https://example.com/robots.txt).

Он используется для управления тем, какие страницы и разделы сайта могут или не могут быть проиндексированы поисковыми системами. Это инструмент для оптимизации SEO и защиты служебных данных.

Зачем нужен robots.txt?
  • Контроль индексации. Вы можете ограничить доступ роботов к страницам, которые не предназначены для общего просмотра. Это помогает избежать индексации служебных страниц, дублирующего контента или тестовых разделов.

  • Оптимизация ресурсов. Поисковые роботы имеют ограниченное время для обхода сайта (краулинговый бюджет). robots.txt позволяет перенаправить их внимание на более важные страницы.

  • Указание на sitemap.xml. Файл позволяет направить роботов к карте сайта, что ускоряет индексацию.

Требования

  • Файл должен находиться в корне сайта, например по относительному ~/www/example.com/robots.txt или по полному пути /var/www/exampleuser/data/www/example.com/robots.txt
  • Файл должен быть текстовым, в кодировке UTF-8.
  • Убедитесь, что файл доступен по указанному пути. Вы можете проверить это, перейдя по адресу https://example.com/robots.txt.

Основные директивы в robots.txt

Файл robots.txt позволяет гибко управлять поведением поисковых роботов на сайте с помощью небольшого списка специальных правил (директив). Рассмотрим пример файла со всеми основными директивами и разберем их:

User-agent: *
Disallow: /admin/
Disallow: /private/
Allow: /public/
Sitemap: https://example.com/sitemap.xml
Объяснения использованных директив

1. User-agent. Указывает, к каким поисковым роботам применяется правило. Символ * означает, что правило действует для всех роботов.

Пример:

User-agent: Googlebot

Директива будет действовать только для робота Google.

2. Disallow. Запрещает доступ к указанным разделам или страницам сайта. Здесь указаны папки /admin/ и /private/, которые не должны быть проиндексированы.

Пример:

Disallow: /private-data.html

Директива запрещает доступ к конкретному файлу.

3. Allow. Явно разрешает доступ, даже если есть запрещающие правила. В примере разрешён доступ к папке /public/, несмотря на возможные другие ограничения.

Пример:

Allow: /private/images/

Это правило разрешает доступ к папке с изображениями по указанному пути, даже если к вышестоящей папке доступ заблокирован.

4. Sitemap. Указывает путь к карте сайта, что помогает роботам быстрее находить важные страницы.

Пример:

Sitemap: https://example.com/sitemap.xml

Директива указывает на местоположение карты сайта.

Примеры настройки

Как можно заметить, для точной настройки необходимо знать список релевантных ботов.

Список релевантных User-Agent

Поисковые системы:

  • Googlebot (основной бот Google)
  • Googlebot-Image (бот для изображений)
  • Googlebot-News (бот для новостей)
  • Googlebot-Video (бот для видео)
  • AdsBot-Google (проверяет страницы для рекламы Google)
  • Mediapartners-Google (бот Google AdSense)
  • Bingbot
  • AdIdxBot (бот для рекламы Bing)
  • Yandex
  • YandexBot
  • YandexImages (бот для изображений)
  • YandexNews (бот для новостей)
  • YandexVideo (бот для видео)
  • YandexMetrika (анализ пользовательского поведения)
  • Baidu
  • Baiduspider
  • Baiduspider-image (бот для изображений)
  • DuckDuckGo
  • DuckDuckBot
  • Yahoo
  • Slurp
  • Seznam
  • SeznamBot
  • Ecosia
  • ecosia-bot

Социальные сети:

  • facebookexternalhit
  • Facebot
  • Twitterbot
  • LinkedInBot
  • Pinterestbot
  • InstagramBot

Специализированные сервисы:

  • ia_archiver (бот от Internet Archive)
  • Google-AMPHTML(Ускорение мобильных страниц
  • UptimeRobot
  • PingdomBot

SEO и анализ:

  • AhrefsBot
  • SemrushBot
  • Moz
  • Majestic-12

Скриншоты и предпросмотр:

  • ScreenshotMachine
  • PagePeeker

Другие известные юзер-агенты:

  • Applebot
  • Amazonbot
  • CloudflareBot
  • Yeti
  • Sogou Spider
  • TelegramBot
  • msnbot
Блокировка всех роботов на всем сайте
User-agent: *
Disallow: /
Запрет на индексацию определенных директорий
User-agent: *
Disallow: /admin/
Disallow: /private/
Разрешение для конкретного поискового робота
User-agent: Googlebot
Allow: /
Запрет для всех, кроме Googlebot
User-agent: *
Disallow: /

User-agent: Googlebot
Allow: /
Исключение отдельных файлов
User-agent: *
Disallow: /private-data.html

Практические советы

  • robots.txt не защищает данные! Директивы Disallow лишь просят роботов не посещать определенные страницы, но они остаются доступными напрямую. Для защиты информации используйте пароли или настройки сервера.

  • Поисковые системы могут игнорировать robots.txt. Некоторые роботы (например, Googlebot) не соблюдают директивы robots.txt.

  • Если у вас есть дублирующиеся страницы, их нужно закрыть от индексации через robots.txt или метатег noindex.

  • У крупных сайтов (интернет-магазинов, порталов) важно правильно распределить краулинговый бюджет. Закрывайте менее важные страницы, такие как фильтры товаров или страницы пагинации.

  • Если на сайте много динамических URL, например, с параметрами, настройте robots.txt для их исключения:

Disallow: /*?*
  • Проверить работу robots.txt можно с помощью Google Search Console в разделе Тестирование robots.txt или с помощью разного вида онлайн-чекеров.