robots.txt: что это и как правильно настроить

Что такое robots.txt
robots.txt — это файл в корне сайта (yoursite.com/robots.txt), который использует стандарт Robots Exclusion Protocol для общения с веб‑краулерами (ботами, роботами, spider). В нём вы указываете правила «разрешить/запретить» для разных пользовательских агентов (user agents). Главная цель — управлять тем, какие URL сканируются поисковыми системами и другими автоматическими агентами.
Краткое определение: robots.txt — простая инструкция для шёлковых роботов сайта; она не шифрует, не аутентифицирует и не блокирует запросы на уровне сервера.
Важно: robots.txt — инструкция, а не механизм безопасности. Злонамеренные боты часто игнорируют этот файл.
Как работают поисковые роботы
Поисковые системы отправляют на сайт программы‑краулеры, которые загружают страницы, индексируют содержимое и обновляют базу поисковой выдачи. Перед сканированием многие уважаемые роботы сначала запрашивают robots.txt и применяют найденные правила.
Типы роботов:
- поисковые (Googlebot, Bingbot) — обычно уважают robots.txt;
- индексаторы изображений и видео (Googlebot‑Image и т. п.);
- аналитические и мониторинговые агенты;
- вредоносные сканеры и спам‑боты, которые файл игнорируют.
Если ваш сайт имеет внутренние административные страницы, страницы с параметрами, дублировавшийся контент или временные каталоги — robots.txt помогает исключить их из сканирования и тем самым улучшить качество индексации.
Игнорируют ли роботы robots.txt?
Да, некоторые роботы игнорируют файл robots.txt. Это часто относится к скриптам сбора данных, спамерам и сканерам уязвимостей. Поэтому никогда не используйте robots.txt как способ скрыть конфиденциальные данные — для этого предназначены механизмы аутентификации, настройки прав доступа и сервера.
Важно:
- robots.txt помогает добросовестным поисковым системам, но не заменяет защиту;
- поисковые системы соблюдают правила при корректном формате файла.
Как написать robots.txt
Ниже перечислены основные директивы и примеры. Файл должен быть простым текстом (UTF‑8 без BOM) и находиться в корневой директории сайта.
Объявление User‑Agent
Перед тем как давать правила, указывают к какому агенту они применяются.
User-agent: *Звёздочка — «для всех агентов». Чтобы задать правила для конкретного робота, используйте его точное имя:
User-agent: Googlebot
Disallow: /no-google/
User-agent: Bingbot
Disallow: /no-bing/Если нужно полностью запретить доступ конкретному роботу, укажите для него Disallow: / .
Запрет страниц (Disallow)
Disallow указывает путь, который запрещён для сканирования. Путь — относительно корня сайта.
Примеры:
Disallow: /admin/Запретит: /admin, /admin/login, /admin/files/secret.html и т. п.
Disallow: /public/exception.htmlЗапретит единственную страницу, а остальное в /public/ останется доступным для сканирования.
Чтобы запретить всё:
Disallow: /Различные правила для разных ботов
Вы можете сначала задать общие правила для всех, потом — уточнить отдельные правила для конкретных агентов. Например:
User-agent: *
Disallow: /private/
User-agent: googlebot
Disallow: /secret-google/
User-agent: bingbot
Disallow: /secret-bing/Последовательность секций не объединяет правила автоматически: секция действует только для указанного User‑agent.
Дополнительные директивы
Sitemap — говорит ботам, где находится карта сайта (не все боты её читают, но это стандартная и полезная практика):
Sitemap: https://www.example.com/sitemap_index.xmlCrawl‑delay — рекомендация о задержке между запросами (в секундах). Внимание: разные поисковики трактуют значение по‑разному или вовсе не поддерживают:
Crawl-delay: 8Некоторые поисковики игнорируют Crawl‑delay или используют собственные настройки в консоли веб‑мастера.
Пример полного файла
User-agent: *
Disallow: /wp-admin/
Disallow: /cgi-bin/
Disallow: /tmp/
Sitemap: https://www.example.com/sitemap.xml
User-agent: MJ12bot
Disallow: /Образец файла с пояснениями
Ниже — расширенный пример с комментариями (комментарии не поддерживаются официальным стандартом, но многие администраторы используют # для заметок; однако лучше держать файл минимальным):
# Общие правила для всех роботов
User-agent: *
Disallow: /private/
Disallow: /tmp/
Allow: /public/
Sitemap: https://www.example.com/sitemap_index.xml
# Полный запрет для подозрительного бота
User-agent: BadBot
Disallow: /Примечание: директива Allow поддерживается не всеми роботом, но часто используется для уточнения исключений.

Где разместить файл
Файл должен находиться в корневом каталоге сайта: https://example.com/robots.txt. Если у вас несколько поддоменов, для каждого нужен свой файл robots.txt (например, blog.example.com/robots.txt и shop.example.com/robots.txt).
Как загрузить:
- через FTP/SFTP поместите файл в /public_html/ или корень виртуального хоста;
- в CMS (WordPress, Drupal) — через плагин или раздел «Инструменты» (процедуры зависят от системы);
- в CDN/облачных хранилищах — настройте правило выдачи файла по /robots.txt.
Как тестировать robots.txt
- Откройте https://example.com/robots.txt в браузере — убедитесь, что файл доступен и корректен.
- Используйте инструменты веб‑мастеров (Google Search Console, Bing Webmaster) — там есть валидаторы и отчёты о состоянии файла.
- Логи сервера и записи доступа показывают, какие агенты запрашивали robots.txt и какие URL сканировали.
- Для проверки конкретных URL в Google Search Console используйте раздел «Проверить файл robots.txt».
Частые ошибки и как их избежать
- Ошибка формата: лишние символы, BOM или неправильная кодировка могут привести к тому, что поисковик не сможет прочитать файл.
- Неправильный путь: файл должен быть в корне. robots.txt в поддиректории игнорируется как файл конфигурации для всего домена.
- Слишком жёсткие правила: случайный Disallow: / может исключить весь сайт из сканирования.
- Полагаться на robots.txt как на средство безопасности: конфиденциальные области должны быть защищены аутентификацией или серверными правилами.
- Несогласованность с мета‑тегами noindex: robots.txt блокирует сканирование, а если бот не может зайти на страницу, он не увидит тег noindex. Для того чтобы гарантированно убрать страницу из индекса, используйте заголовки/мета‑теги и удаление через инструменты для веб‑мастеров.
Важно: если вы хотите, чтобы страница была доступна для поиска, но при этом выдавать директивы для ссылок, комбинируйте robots.txt с мета‑тегами и rel=canonical по ситуации.
Когда robots.txt может навредить
Контрпримеры/когда это не работает:
- Блокировка JavaScript или CSS может помешать поисковой системе корректно рендерить страницу и повредить ранжирование.
- Полная блокировка сайта для всех агентов помешает индексации и приведёт к потере трафика.
- Оставление в robots.txt путей к «секретам» выдаёт их списком для злоумышленников: не публикуйте приватные URL в robots.txt.
Альтернативные подходы:
- Защищайте чувствительные разделы через HTTP‑аутентификацию или права доступа.
- Используйте мета‑тег robots (noindex, nofollow) на страницах, которые уже доступны, чтобы дать более точную инструкцию поисковикам.
Примеры для популярных платформ
WordPress:
- Обычный вариант для WordPress:
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-includes/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml- В админке WordPress часто есть плагины (Yoast, Rank Math), которые управляют sitemap и robots.txt.
Nginx/Apache: если вы хотите дополнительно перенаправлять или отдавать файл без изменения URL, настройте конфигурацию виртуального хоста. Пример для Nginx (фрагмент):
location = /robots.txt {
try_files $uri /robots.txt =404;
}Apache: убедитесь, что AllowOverride и доступ к файлу настроены корректно.
Чек‑лист перед публикацией
Для разработчика:
- robots.txt находится в корне домена;
- файл в кодировке UTF‑8 без BOM;
- нет случайного Disallow: /;
- sitemap указан правильно;
- тест в Google Search Console пройден.
Для SEO‑специалиста:
- запрещён только ненужный контент;
- важные страницы доступны для индексации;
- учтены поддомены и версии с www/без www;
- проверены эффекты на органический трафик.
Для администратора сервера:
- права файла корректны (чтение для веб‑сервера);
- логирование запросов к robots.txt включено;
- CDN/кеш корректно отдают актуальную версию.
Роли и ответственность
- Владелец продукта: утверждает список закрываемых разделов;
- SEO: рассчитывает влияние на индексацию и органический трафик;
- Девопс/инженер: размещает файл и настраивает отдачу на сервере;
- Аналитик: отслеживает изменения трафика и поведение bots.
Рекомендации по периодичности обновлений
Проверяйте robots.txt при изменениях архитектуры сайта, релизах, миграциях и раз в 3–6 месяцев для поддержания актуальности. После крупных изменений делайте проверку через инструменты веб‑мастеров и мониторьте логи.
Критерии приёмки
- robots.txt доступен по адресу https://<ваш‑домен>/robots.txt;
- файл валидируется инструментами Google Search Console и Bing Webmaster;
- запрещённые URL не индексируются (через несколько недель — проверка);
- файл не содержит приватных ссылок на чувствительные ресурсы.
Как откатить изменения и план действий при ошибке
Если вы случайно запретили индексацию:
- Верните предыдущую версию robots.txt из репозитория или бэкапа.
- Немедленно обновите файл на сервере и очистите кеш CDN.
- В Google Search Console отправьте файл на повторную проверку и запросите индексацию ключевых страниц.
- Отслеживайте трафик и логи, чтобы убедиться, что индексирование восстановилось.
Карта решений (Mermaid)
flowchart TD
A[Нужна ли защита раздела?] -->|Да| B{Это чувствительные данные?}
B -->|Да| C[Использовать аутентификацию/серверную защиту]
B -->|Нет| D{Хотите скрыть из индекса}
D -->|Да| E[Добавить noindex и/или Disallow]
D -->|Нет| F[Оставить доступным]
C --> G[Не полагаться на robots.txt]
E --> H[Проверить через Search Console]
G --> H
F --> HКороткая методология создания robots.txt (мини‑руководство)
- Опишите желаемое поведение сканирования (какие разделы индексировать, какие нет).
- Составьте минимальный файл robots.txt без лишних комментариев.
- Разместите файл в корне домена и проверьте доступность.
- Протестируйте через инструменты веб‑мастеров и по логам.
- Наблюдайте за эффектами и корректируйте.
Глоссарий в одну строку
- User‑agent: имя робота (например, Googlebot);
- Disallow: запрет сканирования указанного пути;
- Allow: разрешение (уточнение для запрещённых директорий);
- Crawl‑delay: задержка между запросами бота;
- Sitemap: карта сайта, список URL для индексации.
Безопасность и конфиденциальность
- Не публикуйте приватные URL в robots.txt. Поскольку файл находится в публичном доступе, злоумышленник может увидеть список запрещённых путей и целенаправленно атаковать их.
- Для защиты используйте серверные механизмы (HTTP‑авторизация, ACL, VPN, приватные сети).
Советы по отладке и мониторингу
- Включите логирование обращений к robots.txt и анализируйте, какие User‑agent и с какими статусами обращаются;
- Используйте Google Search Console и отчёты об индексации;
- Если замечаете резкие изменения органического трафика, проверьте robots.txt в первую очередь;
- При использовании CDN убедитесь, что версия файла не кэшируется слишком долго.
Частые сценарии и шаблоны
- Простая инструкция для блога:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml- Закрыть админку и временные папки:
User-agent: *
Disallow: /admin/
Disallow: /temp/
Disallow: /cgi-bin/
Sitemap: https://example.com/sitemap.xml- Закрыть весь сайт (например, при разработке):
User-agent: *
Disallow: /Используйте этот вариант с осторожностью — он остановит индексацию.
Итог и рекомендации
robots.txt — недорогой и полезный инструмент управления поведением поисковых роботов, особенно для контроля индексации и защиты серверных ресурсов от чрезмерной нагрузки. Тем не менее:
- не используйте robots.txt как средство безопасности;
- тестируйте файл перед публикацией;
- используйте sitemap и мета‑теги для более точного управления индексацией;
- мониторьте логи и инструменты веб‑мастеров после изменений.
Важно: включайте изменение robots.txt в процесс релизного цикла вашего сайта и храните его в системе контроля версий.
Краткое завершение: настройте robots.txt просто, осторожно и проверяйте последствия — это поможет сохранить видимость сайта в поиске и снизить лишнюю нагрузку.
Вопросы для обсуждения
Какие разделы вы закрываете у себя и почему? Были ли у вас случаи, когда ошибка в robots.txt привела к падению трафика? Поделитесь опытом в комментариях.
Похожие материалы
Несколько аккаунтов Skype: Multi Skype Launcher
Журнал для работы: повысить продуктивность
Персональные звуки уведомлений на Android
Скачивание шоу Hulu для офлайн‑просмотра
Microsoft Start: персонализированная новостная лента