Файл robots.txt¶
robots.txt — это текстовый файл, размещаемый на веб-сервере, который содержит инструкции для программ автоматического обхода сайтов (веб-роботов, поисковых краулеров) относительно того, какие разделы или страницы сайта не следует сканировать и индексировать. Файл является частью протокола исключения роботов (Robots Exclusion Protocol, REP) — неформального стандарта, не входящего в спецификации W3C, но поддерживаемого большинством современных поисковых систем.
¶История и происхождение
Протокол исключения роботов был впервые предложен в 1994 году голландским разработчиком Мартом Кейстером (Martijn Koster) в ответ на растущую проблему чрезмерной нагрузки на серверы со стороны автоматических программ. Первоначально спецификация была опубликована в виде неформального документа, который впоследствии стал де-факто стандартом. В 1996 году Кейстер опубликовал расширенную версию, а в 2019 году консорциум Google, Microsoft, Yandex и других компаний предложил проект стандарта RFC 9309, который был принят в 2022 году, формализовав REP.
¶Назначение и принцип работы
Основная цель файла robots.txt — управление нагрузкой на сервер и предотвращение индексации нежелательного или дублирующегося контента. Файл не является средством безопасности и не скрывает страницы от пользователей: злоумышленник может легко проигнорировать его директивы. Он лишь даёт рекомендации добросовестным роботам.
Принцип работы:
- Веб-робот (например, Googlebot, Яндекс.Бот) при обращении к сайту сначала запрашивает файл
robots.txt, расположенный в корневом каталоге домена (например,https://example.com/robots.txt`). - Если файл найден, робот анализирует его содержимое и выполняет указанные директивы.
- Если файл отсутствует, робот считает, что сканирование всего сайта разрешено.
- Если сервер возвращает ошибку (например, 404), большинство роботов также считают, что сканирование разрешено.
¶Структура и синтаксис
Файл robots.txt представляет собой обычный текстовый файл в кодировке UTF-8 (рекомендуется). Каждая строка содержит директиву. Пустые строки и строки, начинающиеся с символа # (комментарии), игнорируются.
¶Основные директивы
- User-agent: Указывает, к какому роботу применяются последующие правила. Значение
*означает «все роботы». Каждый блок правил начинается с этой директивы. - Disallow: Запрещает сканирование указанного пути. Путь может быть абсолютным (
/admin/) или пустым (Disallow:— разрешает всё). - Allow: Разрешает сканирование указанного пути (используется для переопределения более общего запрета). Поддерживается не всеми роботами, но стандартна для Googlebot и Яндекс.Бота.
- Sitemap: Указывает путь к карте сайта (XML-файлу со списком страниц). Может быть указана несколько раз.
- Crawl-delay: Задаёт минимальную задержку (в секундах) между запросами робота. Поддерживается не всеми поисковыми системами.
¶Пример файла
```
¶Комментарий: запрещаем всем роботам сканировать админку
User-agent: * Disallow: /admin/
¶Разрешаем Googlebot сканировать всё, кроме PDF-файлов
User-agent: Googlebot Allow: / Disallow: /*.pdf$
¶Указываем карту сайта
Sitemap: https://example.com/sitemap.xml ```
¶Классификация и особенности работы с разными роботами
Разные поисковые системы используют собственные идентификаторы (User-agent). Наиболее распространённые:
| Робот | User-agent | Особенности |
|---|---|---|
| Googlebot | Googlebot | Поддерживает Allow и регулярные выражения (через $ и *) |
| Яндекс.Бот | YandexBot | Поддерживает Allow, Crawl-delay, не поддерживает регулярные выражения |
| Bingbot | bingbot | Поддерживает Allow, Crawl-delay |
| Baiduspider | Baiduspider | Китайский робот, часто игнорирует директивы |
| Mail.Ru | Mail.Ru | Поддерживает Crawl-delay |
Важно: если для одного робота указано несколько правил, используется наиболее специфичное совпадение. Если ни одно правило не подходит, робот следует директиве User-agent: *.
¶Применение и практические рекомендации
¶Когда использовать robots.txt
- Для запрета индексации служебных разделов (административные панели, страницы входа, корзины).
- Для предотвращения индексации дублирующегося контента (например, версии страниц для печати).
- Для снижения нагрузки на сервер со стороны агрессивных роботов.
- Для указания карты сайта.
¶Чего не следует делать
- Пытаться скрыть конфиденциальные данные — файл общедоступен, и злоумышленник может его прочитать.
- Использовать
Disallow: /для всего сайта — это полностью блокирует индексацию, что может быть нежелательно. - Размещать файл в подкаталоге — он должен находиться только в корне домена.
- Игнорировать кэширование — некоторые роботы могут кэшировать старую версию файла.
¶Ограничения
- Файл не гарантирует, что робот выполнит директивы — некоторые недобросовестные программы (например, парсеры контента, сборщики email-адресов) игнорируют его.
- Не все роботы поддерживают
AllowиCrawl-delay. - Файл не работает для страниц, доступных по HTTPS, если он размещён на HTTP (и наоборот).
- Максимальный размер файла, обрабатываемого большинством роботов, составляет 500 КБ (Google) или 32 КБ (Yandex). Большие файлы могут быть проигнорированы частично.
¶Критика и альтернативы
Основная критика robots.txt связана с его добровольным характером и отсутствием механизмов принуждения. Многие вредоносные программы и боты для парсинга данных игнорируют файл. Кроме того, стандарт не предусматривает гибкого управления доступом на уровне отдельных пользователей или IP-адресов.
В качестве альтернатив или дополнений используются:
- Мета-теги robots (
<meta name="robots" content="noindex, nofollow">) — позволяют запретить индексацию конкретной страницы. - HTTP-заголовки X-Robots-Tag — дают возможность управлять индексацией для не-HTML-файлов (PDF, изображения).
- Файлы .htaccess (для Apache) или конфигурация Nginx — позволяют блокировать доступ по IP или User-agent на уровне сервера.
- Механизмы аутентификации — защита разделов паролем.
¶Интересные факты
- Крупнейшие поисковые системы, такие как Google и Яндекс, публикуют собственные расширения протокола, которые не всегда совместимы друг с другом.
- Некоторые сайты используют
robots.txtдля указания не только запретов, но и разрешений, что может приводить к путанице. - В 2017 году исследователи обнаружили, что около 30% сайтов в интернете имеют ошибки в файле
robots.txt, что может приводить к нежелательной индексации. - Файл
robots.txtне является обязательным — его отсутствие не нарушает никаких стандартов, но может снизить эффективность SEO.
¶Источники
- Koster, M. (1994). A Standard for Robot Exclusion.
- RFC 9309 (2022). Robots Exclusion Protocol.
- Google Developers. Introduction to robots.txt.
- Яндекс.Помощь. Настройка robots.txt.
- W3C. Robots Exclusion Protocol (архив).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →

