Коротко
- Robots.txt лежит в корне сайта по адресу
site.ru/robots.txt. Яндекс поддерживает директивы User-agent, Disallow, Allow, Sitemap и Clean-param. - Директивы Host и Crawl-delay Яндекс больше не учитывает: главное зеркало задаётся редиректом, скорость обхода — в Вебмастере.
- Если страница закрыта в robots.txt, метатег noindex на ней не сработает: робот его просто не увидит.
- Sitemap — список страниц для индексации. В одном файле до 50 000 адресов и до 50 МБ без сжатия.
- Проверять оба файла нужно после каждого запуска, переезда, смены CMS и обновления плагинов.
Что такое robots.txt и как его читает Яндекс
Robots.txt — текстовый файл с правилами для поисковых роботов. Робот читает его до обхода сайта и не заходит в разделы, которые закрыты.
Требования из справки Вебмастера о robots.txt:
- файл называется
robots.txtи лежит в корне сайта; - сервер отдаёт его с кодом 200 OK;
- размер не больше 500 КБ;
- кириллица в файле не допускается: адреса с кириллицей нужно кодировать, а кириллические домены записывать в Punycode;
- регистр в адресах и именах файлов учитывается, в названиях директив — нет.
Если файл недоступен, справка говорит, что сайт считается открытым для индексирования. То есть отсутствие robots.txt не закрывает сайт — но и не защищает от индексации мусора.
Важно понимать, чего robots.txt не делает. Он запрещает обход, а не гарантирует, что адрес не появится в поиске, и не защищает данные. Личный кабинет и документы клиентов закрывают паролем, а не строкой в robots.txt.
Директивы robots.txt: что они значат
| Директива | Что делает | Пример |
|---|---|---|
| User-agent | Для какого робота правила ниже. * — для всех |
User-agent: * |
| Disallow | Запрещает обход адресов, начинающихся с указанного пути | Disallow: /admin/ |
| Allow | Разрешает обход, даже если раздел выше закрыт | Allow: /admin/uploads/ |
| Sitemap | Адрес файла Sitemap | Sitemap: https://site.ru/sitemap.xml |
| Clean-param | Какие параметры в адресе не меняют содержание страницы | Clean-param: sort&view /catalog/ |
Как Яндекс решает, какое правило применить, если подходят сразу несколько. По справке о Disallow и Allow директивы сортируются по длине пути от короткого к длинному, и для страницы применяется последнее подходящее правило — то есть самое конкретное. Порядок строк в файле не важен.
Спецсимволы:
*— любая последовательность символов, в том числе пустая. По умолчанию звёздочка как будто стоит в конце каждого правила.$— отменяет эту неявную звёздочку.Disallow: /example$закроет только/example, аDisallow: /example— ещё и/example.html,/example/pageи всё, что начинается так же.
Устаревшие директивы
Host раньше указывала главное зеркало сайта: с www или без. Яндекс отказался от неё в 2018 году — главное зеркало определяется 301-редиректом со всех неглавных адресов на главный. Строка Host в файле ничего не ломает, но и не работает.
Crawl-delay задавала паузу между запросами робота. Яндекс её тоже не учитывает. Если робот нагружает сервер, скорость обхода настраивается в Вебмастере.
Пример robots.txt для сайта услуг
Условный пример для сайта на типичной CMS. Подставьте свои разделы.
``` User-agent: * Disallow: /admin/ Disallow: /search/ Disallow: /cart/ Disallow: /?print= Disallow: /&sort= Allow: /admin/uploads/
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term&yclid Clean-param: sort&view /catalog/
Sitemap: https://site.ru/sitemap.xml ```
Что здесь происходит:
- закрыты админка, поиск по сайту, корзина, версии для печати и сортировки — это страницы без пользы для поиска;
- картинки из папки загрузок открыты обратно через Allow, потому что их используют страницы сайта;
- Clean-param говорит Яндексу, что адреса с метками и параметрами сортировки — копии основной страницы;
- указан адрес Sitemap.
Чего в этом файле нет и не должно быть: запрета на CSS, JavaScript и картинки, которые нужны для отображения страниц. Если робот не может загрузить стили и скрипты, он видит страницу не так, как человек, и может неверно оценить её содержание.
Clean-param: как убрать дубли с параметрами
Параметры в адресе — всё, что после знака ?: UTM-метки из рекламы, сортировка, идентификаторы сессий. Для робота site.ru/uslugi/ и site.ru/uslugi/?utm_source=direct — разные адреса с одинаковым содержанием. Это дубли.
- синтаксис:
Clean-param: параметр1&параметр2 [путь]; путь можно не указывать — тогда правило действует на весь сайт; - длина правила — до 500 символов;
- регистр учитывается;
- директиву можно ставить в любом месте файла;
- распространённые служебные параметры —
utm_source,ysclid,yrclidи подобные — поисковые алгоритмы убирают автоматически, но явное правило не помешает.
Clean-param удобнее, чем Disallow для параметров: Яндекс не просто пропускает адреса, а понимает, что это копия основной страницы. Подробнее о других способах борьбы с копиями — в статье про дубли страниц на сайте.
Частые ошибки, которые закрывают сайт
| Ошибка | Что происходит | Как заметить |
|---|---|---|
Disallow: / осталась после разработки |
Весь сайт закрыт для обхода | Страницы пропадают из поиска, в Вебмастере — «Запрещено в robots.txt» |
| Тестовая копия сайта открыта для индексации | Копия попадает в поиск и конкурирует с основным сайтом | Поиск по site: находит тестовый домен |
| Закрыты папки со стилями и скриптами | Робот видит «голую» страницу | Проверка страницы в Вебмастере показывает ошибки загрузки ресурсов |
Disallow: /uslugi без слеша |
Закрываются и /uslugi/, и /uslugi-ceny/, и всё, что начинается так же |
Анализ robots.txt в Вебмастере на конкретных адресах |
| Noindex на странице, закрытой в robots.txt | Робот не видит noindex, адрес может остаться в поиске | Страница числится в поиске, хотя должна быть убрана |
| Robots.txt отдаёт ошибку 5xx или редирект | Правила не читаются | Проверка ответа сервера для /robots.txt |
| Плагин SEO перезаписал файл после обновления | Пропали нужные правила или появился лишний запрет | Сравнить файл с сохранённой копией |
Первая строка таблицы — самая частая и самая обидная. Разработчик закрывает сайт на время работ, запуск проходит, а запрет остаётся. Через месяц владелец замечает, что заявок из поиска нет. Если у вас недавно был запуск, редизайн или переезд сайта, откройте site.ru/robots.txt прямо сейчас — это 10 секунд.
Если файл длиннее пары десятков строк и непонятно, что в нём значит каждая, лучше показать его специалисту: одна лишняя звёздочка закрывает целый раздел.
Что такое sitemap.xml и что в него включать
Sitemap — файл со списком адресов сайта, которые вы хотите видеть в поиске. Он не заменяет ссылки между страницами, но помогает роботу быстрее находить новые и обновлённые страницы.
Требования по справке Вебмастера о Sitemap:
- форматы — XML (рекомендуемый) или TXT со списком адресов;
- в одном файле — до 50 000 адресов и до 50 МБ без сжатия;
- длина адреса — до 2 048 символов;
- если адресов больше, файл делят на несколько и объединяют в файл-индекс Sitemap;
- в XML обязателен тег
locс адресом, тегlastmodс датой изменения — по желанию, но полезен: он помогает роботу понять, что обходить в первую очередь.
Что включать:
- все страницы, которые должны быть в поиске: услуги, категории, товары, статьи, главную;
- только канонические адреса, с тем же протоколом и написанием, что и на сайте.
Что не включать:
- страницы, закрытые в robots.txt или метатегом noindex;
- адреса с редиректами и ошибками;
- дубли и адреса с параметрами;
- служебные страницы: корзину, поиск, личный кабинет.
Противоречие между Sitemap и robots.txt — частая находка при аудите: страница одновременно «пожалуйста, проиндексируй» в Sitemap и «не заходи» в robots.txt. Вебмастер покажет такие адреса как ошибки.
Как обновлять Sitemap
Sitemap должен меняться вместе с сайтом. Правильный вариант — файл формирует CMS автоматически: опубликовали страницу — она появилась в файле, удалили — пропала. Почти все современные CMS и конструкторы так умеют, иногда через плагин.
Плохой вариант — файл, сгенерированный один раз при запуске. Через полгода в нём половина адресов устарела, а новых страниц нет.
После добавления Sitemap в Вебмастер обработка, по справке, занимает до двух недель. Повторно отправлять файл после каждого изменения не нужно: робот перечитывает его сам. Для срочных страниц есть отдельный инструмент переобхода, о нём — в статье почему страницы не индексируются.
Проверка в Вебмастере: пошагово
- Откройте файл в браузере.
site.ru/robots.txtдолжен открываться, а не скачиваться и не перенаправлять. То же дляsite.ru/sitemap.xml. - Проверьте robots.txt в инструменте анализа. В Вебмастере есть анализ robots.txt: он покажет ошибки синтаксиса и позволит проверить, разрешены ли конкретные адреса.
- Вставьте в проверку 5–10 ключевых адресов. Главную, основные услуги, пару статей. Все должны быть разрешены. Вставьте и пару служебных — они должны быть запрещены.
- Добавьте Sitemap в Вебмастер. В разделе индексирования есть отчёт о файлах Sitemap: добавьте адрес файла и проверьте статус обработки.
- Проверьте Sitemap на ошибки. Вебмастер покажет, если в файле есть адреса с редиректами, ошибками или запретами.
- Посмотрите исключённые страницы. Если среди исключённых есть нужные страницы с причиной «запрещено в robots.txt» — правило написано слишком широко.
- Сохраните копию файлов. После обновления CMS или плагинов сравните текущие файлы с копией.
Если сайт только появился в Вебмастере, начните с добавления сайта в Вебмастер: там же подтверждение прав и первые настройки.
Условный пример: сколько стоит забытая строка
Условный пример, не кейс студии. Студия ремонта квартир в Екатеринбурге запустила новый сайт. В старом из поиска приходило около 40 заявок в месяц. Разработчик закрыл новый сайт строкой Disallow: / на время работ и не убрал её при запуске.
Через три недели страницы начали выпадать из поиска. Через шесть недель поисковых заявок стало 8. Владелец решил, что виноват сезон, и ещё месяц ничего не менял.
Посчитаем потери. Средний договор — 450 000 ₽, в договор превращается примерно каждая десятая заявка. За два месяца недосчитались около 60 заявок — это около шести договоров, 2,7 млн ₽ выручки. Исправление заняло одну минуту: удалить строку и отправить ключевые страницы на переобход. Восстановление позиций — ещё несколько недель.
Поэтому проверку robots.txt мы включаем в приёмку любого сайта. Как принимать сайт у разработчика целиком, рассказываем в статье про приёмку сайта.
Когда нужна помощь
Обычно сайт услуг настраивается по этой статье за час. Сложнее с интернет-магазинами и каталогами: там фильтры, сортировки и пагинация порождают тысячи адресов, и правила нужно писать под конкретную CMS. Если не уверены в своём файле или видите в Вебмастере нужные страницы среди запрещённых, оставьте контакты — посмотрим robots.txt и Sitemap и скажем, что исправить.
Частые вопросы
Где находится robots.txt и как его открыть?
В корне сайта, по адресу site.ru/robots.txt. Его можно открыть в любом браузере. Если файла нет, Яндекс считает сайт открытым для обхода. Изменить файл можно через CMS, SEO-плагин или напрямую на хостинге.
Нужна ли директива Host в robots.txt?
Нет. Яндекс отказался от неё в 2018 году. Главное зеркало (с www или без, http или https) определяется 301-редиректом со всех неглавных адресов на главный. Старая строка Host не мешает, но и не работает.
Чем Disallow отличается от noindex?
Disallow в robots.txt запрещает роботу заходить на страницу. Noindex в метатеге разрешает зайти, но запрещает добавлять страницу в поиск. Если страницу нужно убрать из поиска, используйте noindex и не закрывайте её в robots.txt — иначе робот не увидит метатег.
Сколько страниц можно указать в sitemap.xml?
До 50 000 адресов и до 50 МБ без сжатия в одном файле. Если страниц больше, их делят на несколько файлов и объединяют файлом-индексом. Для сайта услуг одного файла хватает с огромным запасом.
Нужно ли отправлять Sitemap в Вебмастер, если он указан в robots.txt?
Достаточно одного из способов, но добавление в Вебмастер удобнее: там видно статус обработки и ошибки в файле. По справке Яндекса обработка занимает до двух недель.
Как закрыть от индексации тестовую копию сайта?
Надёжнее всего закрыть её паролем на уровне сервера. Строка Disallow: / в robots.txt тестовой копии тоже поможет, но при переносе на основной домен её легко забыть. Поэтому после запуска всегда проверяйте robots.txt боевого сайта.




