Как правильно настроить robots.txt для вашего сайта

В этой статье вы узнаете, что такое robots.txt, как он работает, какие директивы доступны, типичные ошибки, альтернативы и практическое пошаговое руководство по созданию и поддержке файла. В конце — набор шаблонов, чек-листы и тесты приёмки.
Что такое robots.txt
Определение: robots.txt — это текстовый файл в корневом каталоге сайта, который сообщает паукам (роботам) поисковых систем, какие URL им можно посещать, а какие — нет.
Пояснение в одном предложении: пауки — это программы, которые собирают страницы и добавляют их в индекс поисковой системы.
Зачем нужен robots.txt:
- Контролировать, какие части сайта индексируются.
- Не давать поисковикам «шумные» страницы (админка, тестовые разделы, служебные файлы).
- Уменьшать нагрузку на сервер (через Crawl-delay для тех поисковиков, которые поддерживают директиву).
- Подсказать расположение sitemap.
Важно: robots.txt — это рекомендация. Многие вредоносные боты её игнорируют. Не используйте robots.txt как единственный способ скрыть чувствительные данные.
Как работают краулеры и пользовательские агенты
Краулер (бот, spider) сканирует страницу, переходит по ссылкам и отправляет данные в поисковую систему. Каждый бот представляет себя строкой User-agent. В robots.txt вы адресуетесь к ним по имени.
Пример: Googlebot — официальный краулер Google. Но существует много других агентов, включая злонамеренные.
Базовая структура robots.txt
Файл состоит из блоков, каждый начинается с User-agent и содержит набор правил для этого агента.
Простейший пример — директивы для всех ботов:
User-agent: *
Disallow:Пустой Disallow означает, что бот может сканировать весь сайт.
User-agent: указание для кого
- User-agent: * — применяется ко всем роботам.
- User-agent: Googlebot — правила только для Googlebot.
- Можно перечислять несколько User-agent подряд, каждый с собственным набором правил.
Пример с несколькими агентами:
User-agent: Googlebot
Disallow: /private/
User-agent: Bingbot
Disallow: /private/
Disallow: /secret/Это значит, что Bing не будет сканировать /secret/, а Google сможет.
Disallow: что запретить
- Disallow: /admin/ — запрещает сканирование любого URL, начинающегося с /admin/.
- Disallow: /file.html — запрещает конкретный файл.
- Disallow: / — запрещает весь сайт.
Примеры:
User-agent: *
Disallow: /private/
Disallow: /tmp/Allow: разрешение поддиректорий
Некоторые поисковики (например, Google) поддерживают директиву Allow, что полезно при более точном управлении:
User-agent: *
Disallow: /public/
Allow: /public/important.htmlSitemap: где находится карта сайта
Указание sitemap в robots.txt помогает краулерам найти карту сайта:
Sitemap: https://example.com/sitemap_index.xmlCrawl-delay: задержка между запросами
Crawl-delay указывает интервал в секундах между запросами от краулера. Поддержка варьируется по поисковикам. Пример:
User-agent: Bingbot
Crawl-delay: 8Эта директива полезна, если краулер сильно нагружает сервер. Многие поисковики игнорируют её.
Практические примеры файлов robots.txt
Полный пример для обычного сайта с sitemap и ограничением для админки:
User-agent: *
Disallow: /wp-admin/
Disallow: /private/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap.xmlПолный запрет всем ботам:
User-agent: *
Disallow: /Часто используемые шаблоны (шпаргалка):
- Открытый сайт (индексировать всё):
User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml- Закрыть только админку:
User-agent: *
Disallow: /admin/- Закрыть всё, кроме публичной директории:
User-agent: *
Disallow: /
Allow: /public/Пример из реального сайта
Ниже — фрагмент реальной robots.txt (обрезан для наглядности).
Частые ошибки и когда robots.txt не сработает
- Размещение: файл должен находиться в корне домена (https://example.com/robots.txt). Если он в подпапке — поисковики его не найдут.
- Кодировка и формат: robots.txt должен быть в plain text UTF-8 без BOM. Неправильная кодировка может привести к игнорированию.
- Неправильный синтаксис: пропущенные двоеточия, лишние пробелы или неверные слеши.
- Ожидание безопасности: robots.txt НЕ защищает файлы от доступа напрямую. Если URL известен, любой может получить страницу.
- Вредоносные боты: многие зловредные краулеры игнорируют robots.txt и продолжают сканирование.
- Непонимание директив: Disallow не равно noindex. Disallow запрещает сканирование, но страницу могут проиндексировать, если на неё ссылаются другие сайты.
Important: Не включайте в robots.txt путь к секретным файлам — это действует как публичный список «где искать», и злоумышленник может использовать его как подсказку.
Альтернативы и дополняющие механизмы
Если вы хотите более точного контроля над индексированием, используйте:
- Мета-тег robots в HTML: — указывает поисковику не индексировать конкретную страницу.
- HTTP заголовок X-Robots-Tag: работает для не-HTML ресурсов (PDF, изображения).
- Парольная защита (HTTP Auth) или требование авторизации — единственный надёжный способ скрыть содержимое от всех, включая роботов.
Сравнение (кратко):
- robots.txt — даёт инструкции краулерам до получения содержимого.
- meta robots / X-Robots-Tag — дают инструкцию уже внутри ответа страницы или заголовка; надёжнее для управления индексом.
Ментальные модели и эвристики
- Карта и ограждение: robots.txt — ограждение (где не ходить), sitemap — карта (куда идти).
- Фильтр «чистой головы»: сначала думайте, почему нужно запрещать страницу. Частая причина — «шум» в результатах поиска, а не секретность.
- Принцип наименьшего воздействия: запрещайте только то, что действительно нужно.
Руководство: как создать и верифицировать robots.txt (шаги)
- Составьте список URL и директорий, которые хотите исключить.
- Выберите, какие агенты должны соблюдать ограничения (всех или отдельные).
- Сформируйте файл в plain text и сохраните как robots.txt.
- Добавьте ссылку на sitemap, если есть.
- Загрузите файл в корень сайта: https://ваш-домен/robots.txt.
- Тестируйте с помощью инструментов (Google Search Console — Проверка файла robots.txt, Bing Webmaster Tools).
- Мониторьте логи сервера и отчёты индексирования.
- Обновляйте при изменениях структуры сайта.
SOP по внесению изменений в robots.txt
- Оценка влияния: провести анализ страниц, которые может затронуть изменение.
- Тестовая ветка: подготовить новый файл и протестировать локально или на staging-домене.
- Коммуникация: уведомить SEO-специалиста и команду разработки о предстоящем изменении.
- Внедрение: загрузить robots.txt в корень и проверить доступность по URL.
- Верификация: запустить тест в Google Search Console и проанализировать логи за 24–72 часа.
- Откат: если наблюдаются негативные эффекты (рязаное падение индексации нужных страниц), восстановить прежний файл и провести ретроспективу.
Критерии приёмки
- robots.txt доступен по https://<домен>/robots.txt.
- Синтаксис корректен и не содержит опечаток.
- Sitemap указан и доступен.
- Google Search Console не показывает ошибок парсинга.
- Тестовые URL, которые должны быть закрыты, блокируются инструментом проверки.
Роль‑ориентированный чек‑лист
Для владельца сайта:
- Убедиться, что robots.txt отражает бизнес-цели индексации.
- Согласовать блокировки с SEO.
Для SEO-специалиста:
- Проверить, не закрываются ли важные страницы для индекса.
- Обновить sitemap и уведомить поисковые системы после изменений.
Для разработчика:
- Разместить файл в корне и обеспечить правильный Content-Type.
- Сделать проверку на staging перед деплоем.
Для системного администратора:
- Настроить кэширование с учётом быстрого обновления robots.txt.
- Проверять логи на активность краулеров после изменений.
Тесты и приёмочные кейсы
- Проверка доступности:
- Ожидаемый результат: GET /robots.txt возвращает 200 и корректный content-type text/plain.
- Проверка парсинга:
- Ожидаемый результат: Google Search Console не показывает ошибок.
- Проверка блокировок:
- Ожидаемый результат: URL, указанные в Disallow, помечаются инструментом как недоступные для краулера.
- Проверка sitemap:
- Ожидаемый результат: sitemap указан в robots.txt и возвращает 200.
Шаблоны и сниппеты
Мини‑шпаргалка для популярных CMS:
- WordPress (обычный):
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xml- Магазин на платформе (закрыть корзину и личный кабинет от индексации):
User-agent: *
Disallow: /cart/
Disallow: /checkout/
Disallow: /account/
Sitemap: https://example.com/sitemap_products_1.xml- Если нужно временно остановить краулинг (строительство сайта):
User-agent: *
Disallow: /Совместимость и миграция
- Поддомены: robots.txt должен быть у каждого поддомена отдельно (например, https://blog.example.com/robots.txt). Файл на основном домене не действует для поддоменов.
- Префикс протокола: robots.txt на http и https — разные файлы. Используйте тот, который актуален для вашего сайта.
- Перенос на новый домен: перенесите и проверьте robots.txt в первую очередь, чтобы избежать пропадания трафика.
Безопасность и конфиденциальность
- Не публикуйте пути к секретным файлам в robots.txt.
- Если нужно скрыть содержимое от всех — используйте аутентификацию или настройте доступ на уровне сервера.
- Проверьте GDPR/правила приватности: robots.txt не влияет на хранение и обработку персональных данных, но его использование не освобождает от обязанностей по защите данных.
Сценарии отказа и альтернативные решения
- Если нужно гарантированно предотвратить доступ:
- Используйте парольную защиту, IP‑фильтрацию или авторизацию на уровне приложения.
- Если нужно запретить индексирование конкретного файла типа PDF:
- Используйте X-Robots-Tag в HTTP заголовке: X-Robots-Tag: noindex.
- Если robots.txt внезапно блокирует весь сайт:
- Быстрый откат к предыдущей версии и уведомление поисковых систем через консоль.
Матрица сравнения: robots.txt vs meta robots vs X-Robots-Tag
- Уровень контроля: meta/X-Robots-Tag даёт локальный контроль, robots.txt — глобальный (до получения контента).
- Работает для не-HTML: X-Robots-Tag даёт больший охват (PDF, изображения).
- Момент применения: robots.txt до запроса; meta — после получения HTML.
Факты и числа (факт‑бокс)
- Расположение: обязательно /robots.txt в корне домена.
- Формат: plain text, UTF-8.
- Поддомены: требуют отдельного robots.txt.
- Sitemap: может быть несколько sitemap, каждая ссылка в новом ряду.
Факт: robots.txt — это рекомендация, а не броня. Используйте его в сочетании с другими мерами защиты.
Решение в виде схемы (Mermaid)
flowchart TD
A[Нужно ли скрывать содержимое?]
A -- Да, временно --> B[Disallow: /путь/]
A -- Да, навсегда --> C[Защита на уровне сервера или авторизация]
A -- Нет, просто управлять индексом --> D[Добавить sitemap + Allow/Disallow]
B --> E[Тестировать в Search Console]
C --> E
D --> E
E --> F[Мониторинг индексации]Критерии приёмки
- robots.txt доступен и корректно парсится инструментами поисковых систем.
- Никакие важные страницы не закрыты по ошибке.
- Sitemap указан и валиден.
- Логи краулинга не показывают резкого роста ошибок после изменений.
Рекомендации по поддержке
- Пересматривайте robots.txt при крупных изменениях структуры сайта.
- Включите проверку файла в процесс релиза.
- Документируйте изменения и кто их утвердил.
Заключение
robots.txt — простой и эффективный инструмент управления тем, как поисковые системы видят сайт. Он незаменим для фильтрации служебных разделов, оптимизации краулинга и указания расположения sitemap. Однако помните, что он не защищает от злоумышленников и не всегда применяется всеми ботами. Комбинируйте robots.txt с мета-тегами, HTTP‑заголовками и средствами аутентификации для полного контроля.
Поделитесь: какие правила вы используете в robots.txt на своих проектах? Замечали ли вы эффект от изменений в индексации?
Глоссарий (одно предложение на термин)
- Краулер — программа, которая автоматически обходит интернет и собирает страницы для индекса.
- User-agent — строка, идентифицирующая робота (напр., Googlebot).
- Disallow — директива в robots.txt, запрещающая сканирование определённых URL.
- Allow — директива, разрешающая сканирование поддиректорий при наличии общего запрета.
- Sitemap — файл, список URL сайта, помогающий поисковикам понять структуру.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone