Robots.txt: как настроить файл и не закрыть сайт от Яндекса
Пошаговая настройка robots.txt: User-agent, Disallow, Allow, Sitemap, Clean-param, проверка в Яндекс Вебмастере и восстановление после случайной блокировки.
В этой статье
Коротко. Robots.txt — текстовый файл в корне сайта, который сообщает поисковым роботам, какие URL можно обходить. Минимальный безопасный вариант содержит User-agent: * и не содержит общего Disallow: /. Перед загрузкой проверьте файл анализатором Яндекс Вебмастера и протестируйте 5 типов URL: главную, статью, поиск, корзину и админку.
Ошибка в одной строке способна закрыть от обхода весь сайт, раздел или важные стили. Поэтому robots.txt редактируют после списка URL, а не по универсальному шаблону из интернета. Структуры CMS, параметры и поисковые роботы отличаются.
По официальной справке Яндекса файл управляет обходом. Закрытая страница всё равно может участвовать в поиске, если робот знает её адрес. Для удаления используют noindex в HTML или HTTP-заголовке, при этом роботу нужно разрешить получить страницу и увидеть указание.
Что такое robots.txt
Robots.txt — файл правил для поисковых роботов по стандарту Robots Exclusion Protocol. Он доступен по адресу вида https://example.ru/robots.txt и действует только для соответствующего протокола, хоста и порта.
| Задача | Подходит robots.txt | Что использовать иначе |
|---|---|---|
| Снизить обход служебных URL | Да | — |
| Указать XML-карту | Да | Sitemap в Вебмастере |
| Удалить страницу из поиска | Нет гарантии | noindex или удаление URL |
| Закрыть личные данные | Нет | Авторизация и права доступа |
| Склеить дубли | Нет | canonical или редирект |
Правила добровольно соблюдаются роботами. Вредоносный сборщик может их игнорировать, поэтому пароли, документы и закрытые кабинеты защищают на сервере.
Где должен лежать файл robots.txt
Файл размещают в корне хоста и называют строчными буквами robots.txt. Яндекс требует доступность для робота и ответ 200 OK; по его справке допустим редирект на другой robots.txt, который отвечает 200.
- https://example.ru/robots.txt — правила для HTTPS-хоста example.ru;
- https://www.example.ru/robots.txt — отдельный хост;
- http://example.ru/robots.txt — другой протокол;
- https://shop.example.ru/robots.txt — отдельный поддомен.
Проверьте адрес в приватном окне без авторизации. HTML-страница ошибки с кодом 200 не становится корректным robots.txt: откройте ответ и заголовок Content-Type.
Какие требования у Яндекса
По официальной справке Яндекс Вебмастера, размер файла не должен превышать 500 КБ, он располагается в корне и доступен с ответом 200. Яндекс поддерживает User-agent, Disallow, Allow, Sitemap и Clean-param.
| Директива | Назначение | Пример |
|---|---|---|
| User-agent | Выбрать робота | User-agent: * |
| Disallow | Запретить путь | Disallow: /admin/ |
| Allow | Разрешить исключение | Allow: /catalog/public/ |
| Sitemap | Указать карту | Sitemap: https://example.ru/sitemap.xml |
| Clean-param | Игнорировать параметры | Clean-param: ref /catalog/ |
Яндекс учитывает регистр в путях, а в названиях директив — нет. Для кириллического домена в справке указан Punycode; пути с кириллицей кодируют в соответствии со структурой сайта.
Как создать минимальный robots.txt
Если весь публичный сайт можно обходить, не нужен длинный список. Начните с разрешения обхода и карты:
User-agent: *
Disallow:
Sitemap: https://example.ru/sitemap.xml
Пустое значение Disallow не запрещает пути. Строка Disallow: / делает обратное — закрывает от выбранного робота весь хост.
- Создайте обычный текстовый файл без форматирования.
- Добавьте группу User-agent: *.
- Перечислите только проверенные служебные пути.
- Укажите абсолютный URL Sitemap.
- Проверьте синтаксис анализатором.
- Загрузите файл в корень сайта.
- Проверьте ответ 200 и содержимое извне.
- Протестируйте конкретные URL.
Как работают User-agent, Disallow и Allow
User-agent начинает группу правил. Если Яндекс находит специальную группу User-agent: Yandex, он использует её вместо общей User-agent: * — это прямо указано в справке о User-agent.
User-agent: *
Disallow: /search/
Disallow: /cart/
Disallow: /admin/
Allow: /search/help/
Sitemap: https://example.ru/sitemap.xml
Такой пример закрывает внутренний поиск, корзину и админку, но разрешает справочную страницу внутри /search/. Пути условные: если CMS использует другие адреса, правило не поможет или затронет лишнее.
| Строка | Результат | Риск |
|---|---|---|
| Disallow: / | Закрыт весь хост | Критический |
| Disallow: /catalog | Закрыты пути с началом | Может задеть каталог |
| Disallow: /search/ | Закрыт раздел поиска | Проверьте полезные страницы |
| Disallow: | Нет запрета | Низкий |
| Allow: /file | Разрешено исключение | Сверить приоритет правил |
Не закрывайте CSS и JavaScript, которые нужны для отображения страницы. Google отдельно советует разрешать важные ресурсы, чтобы робот видел страницу как пользователь.
Что закрывать от обхода
Закрывают URL, которые создают бесполезный обход и не должны становиться поисковыми страницами: внутренний поиск, корзину, технические фильтры, результаты сортировки, тестовые маршруты. Решение принимают после выгрузки адресов и логов.
- внутренний поиск с бесконечными запросами;
- корзина и этапы оформления;
- служебная админка, дополнительно защищённая входом;
- технические параметры сортировки и печати;
- календарь с бесконечной навигацией;
- дубли фильтров без поискового спроса;
- временная тестовая среда — лучше закрытая авторизацией.
Не закрывайте важную страницу только потому, что она дублируется. Для дублей обычно выбирают основной URL через canonical, редирект, параметры или изменение структуры.
Можно ли закрыть страницу от поиска через robots.txt
Robots.txt запрещает обход, но URL может остаться в выдаче без прочитанного содержания, если на него ведут ссылки. Яндекс прямо предупреждает: для удаления страницы нужно noindex, а в robots.txt её не закрывают, чтобы робот получил указание.
| Цель | Инструмент | Комментарий |
|---|---|---|
| Не обходить служебный раздел | robots.txt | Снижает обход |
| Не индексировать HTML | HTML-директива robots noindex | Робот должен прочитать страницу |
| Защитить личный кабинет | Авторизация | Не полагаться на робот |
| Удалить навсегда | 404 или 410 | Если страницы больше нет |
| Перенести адрес | 301 | Проверить новую цель |
Не сочетайте Disallow и noindex вслепую: запрет обхода способен помешать увидеть noindex. Сначала сформулируйте желаемый конечный статус.
Как добавить Sitemap и Clean-param
Sitemap указывают абсолютным адресом. Если карт несколько, можно дать несколько строк. Подробная структура XML и индекса карты будет в следующей статье U318; ссылка появится после её выхода.
Sitemap: https://example.ru/sitemap.xml
Sitemap: https://example.ru/sitemap-images.xml
Clean-param — расширение Яндекса для параметров, которые не меняют содержание. Прежде чем добавлять параметр, проверьте, что он действительно служебный на указанном пути. Параметр цвета, города или категории может менять важное содержание.
User-agent: Yandex
Clean-param: utm_source&utm_medium&utm_campaign /catalog/
Для других поисковиков действие Clean-param может отличаться или отсутствовать. Канонический URL и внутренняя перелинковка должны оставаться последовательными.
Как проверить robots.txt в Яндекс Вебмастере
В инструменте «Анализ robots.txt» добавьте содержимое и проверьте правила. Затем вводите конкретные адреса, чтобы увидеть, разрешён ли их обход.
- Откройте Яндекс Вебмастер и выберите подтверждённый сайт.
- Перейдите в «Инструменты» → «Анализ robots.txt».
- Загрузите текущий файл или вставьте черновик.
- Проверьте синтаксис.
- Добавьте URL главной, статьи, категории, фильтра и админки.
- Сравните результат с таблицей ожидаемого доступа.
- После загрузки проверьте ответ сервера и повторите тест.
Анализатор проверяет правила для Яндекса. Для Google используйте его официальную документацию и проверку URL в Search Console. Источник о назначении robots.txt — Google Search Central.
Почему важная страница закрыта
Шаг 1. Доступен ли robots.txt?
- Нет или отдаёт ошибку — проверить корень, сервер и CDN.
- Да, ответ 200 — шаг 2
Шаг 2. Есть ли Disallow для URL?
- Да — определить группу User-agent и совпавший путь.
- Нет — шаг 3
Шаг 3. Страница всё равно не индексируется?
- Проверить noindex, canonical, редирект, HTTP-код и содержание.
- Проверить внутренние ссылки и Sitemap.
- Открыть диагностику URL в Вебмастере.
Фраза «заблокировано robots.txt» относится к обходу. Отсутствие в поиске может иметь другие причины: дубль, слабое содержание, ошибка сервера или отсутствие ссылок.
Как восстановить сайт после Disallow: /
- Сохраните ошибочную версию и время её публикации.
- Удалите общий запрет из нужной группы.
- Проверьте важные URL анализатором.
- Загрузите исправленный файл и убедитесь в ответе 200.
- Проверьте noindex и canonical на страницах.
- Обновите Sitemap.
- Отправьте приоритетные URL на переобход доступным способом.
- Следите за обходом и индексированием в Вебмастере.
Результат не возвращается мгновенно: робот должен снова получить файл и страницы. Не меняйте структуру и адреса одновременно с восстановлением — так труднее найти причину.
Какие ошибки встречаются чаще всего
- Disallow: / в боевой версии. Остался после тестовой среды.
- Чужой шаблон. Пути другой CMS закрыли каталог.
- Файл не в корне. /seo/robots.txt не управляет хостом.
- Правила для не той группы. Специальный User-agent переопределил общую.
- Закрыли ресурсы. Робот не видит страницу целиком.
- Пытаются спрятать секрет. Адрес остаётся публичным.
- Disallow вместе с noindex. Робот не читает запрет индексации.
- Не тестируют URL. Синтаксис верный, бизнес-логика ошибочна.
- Нет владельца файла. CMS, плагин и разработчик перезаписывают друг друга.
Микроразметка и robots.txt решают разные задачи: первая помогает понять содержание, второй управляет обходом. Основы разметки есть в статье про Schema.org.
Перед первой правкой выгрузите текущий файл и поставьте дату в журнале. Запишите причину каждой директивы и владельца раздела. Комментарий «закрыли мусор» через полгода не объяснит, почему закрыт /catalog/filter/ и можно ли удалить правило.
Соберите контрольный набор URL в отдельном файле: главная, страница услуги, статья, категория, карточка товара, внутренний поиск, корзина, фильтр, файл CSS и изображение. После каждого изменения прогоняйте один и тот же набор. Такой регрессионный тест ловит побочный запрет раньше падения трафика.
На конструкторе сайта сначала ищите штатную SEO-настройку. Ручной файл может быть недоступен или перезаписываться при публикации. Как устроены ограничения бесплатных конструкторов, разобрано в статье о создании сайта бесплатно. Для небольшого проекта список публичных страниц помогает сверить материал про сайт-визитку.
На тестовом поддомене не полагайтесь только на Disallow: /. Защитите среду паролем или сетевым доступом. Иначе адреса попадут в логи, сторонние сервисы и ссылки, а после снятия общего запрета станут доступны. Закрытие на сервере проверяйте из внешней сети и без сохранённой сессии.
CDN и кэш способны отдавать старую версию robots.txt. После загрузки запросите файл из нескольких точек, проверьте заголовки Cache-Control и фактическое содержимое. При срочном исправлении очистите кэш именно для /robots.txt, не сбрасывая весь сайт без необходимости.
Переезд между http и https проверяйте по каждому хосту. Старый robots.txt не должен блокировать роботу доступ к редиректам и важным адресам, которые требуется перенести. В журнале оставьте карту: старый хост, новый хост, ответ robots и конечный URL.
UTM-параметры не стоит закрывать широким шаблоном, который одновременно затрагивает значимые фильтры. Сначала стандартизируйте ссылки; схема разметки есть в статье про UTM-метки. Затем используйте Clean-param только для проверенных служебных параметров и путей.
Для сайта с региональными версиями проверяйте каждую отдельно. Правило /spb/ на основном хосте и robots поддомена spb.example.ru — разные вещи. Составьте список хостов из сертификата, DNS и системы аналитики, затем откройте /robots.txt на каждом.
Если робот создаёт нагрузку, сначала подтвердите её по серверным логам: User-agent, частота, пути, коды и время ответа. Запрет всего сайта скрывает симптом и убирает полезный обход. Закройте бесконечный источник URL, настройте сервер и отдельно разберите нежелательного робота.
Белые списки сети и правила robots.txt не связаны. Первый механизм управляет доступом пользователей и инфраструктуры при ограничениях, второй — поведением crawler. Разницу в сетевом доступе объясняет статья о белых списках интернета.
При редакционном обновлении проверяйте источники и дату. Директивы поисковиков меняются реже интерфейсов, но справка конкретной системы важнее старой памятки. Методика проверки источников собрана в статье о фактчекинге, а структуру воспроизводимой инструкции помогает собрать материал как написать инструкцию.
После правки наблюдайте три слоя: доступность файла, обход контрольных URL и их статус в индексе. Эти события происходят не одновременно. Запишите время изменения, следующего скачивания robots и следующего обхода страницы, чтобы не делать вывод по одному дню.
Если страница участвует в нейроответах, robots также определяет возможность её получить конкретным роботом. Не открывайте закрытые данные ради цитирования. Общая работа с понятными источниками и доступностью разобрана в статье о GEO-продвижении.
Согласуйте изменения с разработчиком, SEO-специалистом и владельцем продукта. Разработчик знает технические маршруты, SEO — индексируемые страницы, продукт — полезные фильтры. Одностороннее решение чаще всего закрывает URL, ценность которого видит другая команда.
Автоматическую генерацию тестируйте как код. Изменение настройки CMS, плагина или окружения должно собирать файл в тесте и сравнивать контрольные строки. Ручную правку на сервере генератор способен стереть при ближайшем деплое.
Раз в квартал удаляйте правила для исчезнувших разделов и проверяйте новые маршруты. Длинный robots.txt без владельца сложнее анализировать, а пересекающиеся шаблоны скрывают ошибку. Цель файла — небольшой понятный набор правил, а не энциклопедия всех URL сайта.
Чек-лист
- Файл доступен по /robots.txt с ответом 200.
- Для каждого User-agent понятна применяемая группа.
- На боевом сайте нет случайного Disallow: /.
- Главная, категории, статьи и ресурсы разрешены.
- Служебные URL закрыты только после проверки списка.
- Sitemap указан абсолютным адресом.
- Секретные данные защищены авторизацией.
- Пять типов URL проверены анализатором.
- Изменение записано и имеет план отката.
Остался вопрос по теме статьи? Напишите его в предложку блога — отвечаю лично: задать вопрос в MAX. Частые вопросы разбираю отдельными статьями и присылаю ссылку тому, кто спросил.
Частые вопросы
Что такое robots.txt?
Это текстовый файл в корне сайта с правилами обхода URL для поисковых роботов. Он управляет сканированием, но не служит защитой данных.
Где находится robots.txt?
По адресу /robots.txt в корне каждого протокола и хоста, например https://example.ru/robots.txt. Файл должен быть доступен роботу.
Что означает Disallow: /?
В выбранной группе это запрет обхода всего хоста. На боевом сайте такую строку проверяют особенно тщательно.
Можно ли удалить страницу из поиска через robots.txt?
Не гарантированно. URL может остаться в поиске без содержимого; для удаления используют noindex, 404/410 или другой подходящий способ, разрешив роботу увидеть ответ.
Нужно ли добавлять Sitemap в robots.txt?
Это удобный способ сообщить роботу абсолютный адрес XML-карты. Карту также добавляют в Яндекс Вебмастере.
Как проверить robots.txt?
Используйте «Анализ robots.txt» Яндекс Вебмастера и тестируйте конкретные URL: главную, статью, категорию, фильтр и служебную страницу.
Можно ли хранить пароль в закрытом robots-разделе?
Нет. Robots.txt публичен, а правила могут игнорироваться. Закрытые данные защищают авторизацией и серверными правами доступа.
Читайте дальше
-
Canonical: как указать канонический URL и убрать дубли
Как выбрать каноническую страницу, поставить rel=canonical в HTML и HTTP-заголовке, обработать параметры и проверить…
-
Sitemap.xml: как создать карту сайта и проверить её в Яндексе
Как собрать Sitemap.xml, какие URL включить, когда нужен индекс карт и как добавить файл в Яндекс Вебмастер, проверить…
-
Как пожаловаться в MAX: на человека, сообщение, группу, канал и мошенников
Где кнопка «Пожаловаться» у сообщения, канала, бота и истории на телефоне и в веб-версии, какую причину выбрать…