Robots.txt — текстовый файл в корневом каталоге сайта с инструкциями для роботов поисковых систем: какие разделы можно сканировать, а какие нет. Одна лишняя строка в нём способна убрать сайт из поиска. Разберём, как устроен файл, как его настроить и проверить и какие ошибки чаще всего закрывают сайт от индексации. Статья для владельца сайта, который правит файл сам, и для того, кто принимает сайт после разработчика.
Содержание
- Что такое robots.txt и зачем он нужен
- Где находится robots.txt и как его создать
- Настройка robots.txt: синтаксис и директивы
- Пример правильного robots.txt
- Как закрыть сайт или страницу от индексации
- Как не закрыть сайт от индексации по ошибке
- Проверка robots.txt в Вебмастере и Search Console
- Частые вопросы
Что такое robots.txt и зачем он нужен
Это первое, что запрашивает поисковый робот на сайте. В файле перечислены директивы: каким роботам и какие URL обходить не нужно. Поисковые системы эти директивы соблюдают, но важно понимать, чем именно управляет файл.
Robots.txt управляет сканированием, а не индексацией. Директива Disallow говорит роботу «не заходи сюда», но не гарантирует, что страницы не будет в поиске. Если на закрытый URL ведут ссылки, Google может показать его в выдаче без описания. В Search Console такие страницы попадают в статус «Проиндексировано, несмотря на блокировку в файле robots.txt». Чтобы убрать страницу из индекса, нужен другой инструмент — о нём ниже.
Что обычно запрещают к обходу:
- служебные разделы: административную панель, страницы входа;
- результаты поиска по сайту;
- корзину, оформление заказа, личный кабинет;
- дубли страниц сайта с параметрами в URL: сортировки, фильтры, UTM-метки.
Чем меньше поисковый робот тратит обход на мусорные URL, тем быстрее он находит и обновляет важные страницы сайта.

Где находится robots.txt и как его создать
Файл лежит в корне сайта и открывается по адресу https://site.ru/robots.txt. Требования к нему простые:
- имя — строго
robots.txt, в нижнем регистре; - формат — обычный текстовый файл в кодировке UTF-8;
- размер — не больше 500 КБ: и Яндекс, и Google называют этот предел, всё, что дальше, Google игнорирует;
- сервер отвечает на запрос файла кодом 200.
Правила действуют только для того хоста, протокола и порта, где лежит файл: у поддомена blog.site.ru должен быть свой файл.
Посмотреть его у любого сайта можно, дописав /robots.txt к URL главной. Копировать чужой файл целиком не стоит: у каждого сайта своя структура разделов.
Как создать файл вручную
- Откройте любой текстовый редактор (Блокнот, VS Code) и напишите правила — пример ниже.
- Сохраните файл под именем
robots.txtв кодировке UTF-8. - Загрузите его в корневую папку сайта через FTP или файловый менеджер в панели хостинга — туда же, где лежит главный
index.phpилиindex.html. - Откройте
https://site.ru/robots.txtв браузере и убедитесь, что видите свой текст.
Настройка в WordPress, Tilda и Битрикс
WordPress. Если физического файла в корне нет, WordPress отдаёт виртуальный с минимальными правилами. Настройка проще всего через SEO-плагин: в Yoast SEO и Rank Math есть редактор файла. Настоящий файл в корне имеет приоритет над виртуальным. Какие плагины мы ставим для SEO на WordPress — в статье «Набор плагинов для WordPress под SEO».
Tilda. Платформа формирует файл автоматически, возможности правки ограничены — подробности в справке Tilda.
1С-Битрикс. В модуле «Поисковая оптимизация» есть редактор файла, править можно и вручную в корне сайта.
Настройка robots.txt: синтаксис и директивы
Настройка robots.txt сводится к директивам, собранным в группы. Каждая группа начинается с директивы User-agent — для кого она, — за ней идут директивы Disallow и Allow. Одна директива — одна строка. Всё, что после символа #, считается комментарием.
User-agent
Директива указывает, к какому поисковому роботу относится группа. Звёздочка означает «все роботы».
User-agent: *
Disallow: /admin/
User-agent: Yandex
Disallow: /admin/
Disallow: /search/
Важная деталь: если в файле есть группа User-agent: Yandex, директивы из User-agent: * робот Яндекса не учитывает. Google тоже берёт одну, самую конкретную группу и не объединяет её с общей. Поэтому отдельная группа должна содержать все нужные директивы, а не только отличия.
Disallow и Allow
Директива Disallow запрещает обход URL, которые начинаются с указанного пути, Allow — разрешает. Путь всегда начинается с / и чувствителен к регистру: /Catalog/ и /catalog/ — разные пути.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Если директивы противоречат друг другу, выигрывает более длинное, то есть более точное. При равной длине и Яндекс, и Google выбирают менее строгое правило — Allow. В примере выше папка /wp-admin/ закрыта, но один файл в ней открыт.
Пустой Disallow: без пути означает «разрешено всё». А Disallow: / с одной косой чертой — «запрещено всё». Разница в один символ, и именно на ней чаще всего ошибаются.
Спецсимволы:
*— любая последовательность символов, в том числе пустая:Disallow: /*?sort=закроет все URL с параметром сортировки;$— конец URL:Disallow: /*.pdf$закроет файлы PDF, но не страницу/pdf-catalog/.
Sitemap
Показывает, где лежит карта сайта. Ставится в любом месте файла, адрес — полный:
Sitemap: https://site.ru/sitemap.xml
Как составить саму карту сайта — тема отдельной статьи.
Clean-param
Директива только для Яндекса: какие параметры в URL не меняют содержимое страницы, например UTM-метки. Яндекс перестаёт считать такие URL разными страницами.
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term
Параметры перечисляются через &, после них можно указать путь, к которому относится директива. Длина одной директивы — до 500 символов. Google эту директиву не читает.
Устаревшие директивы Crawl-delay и Host
В старых инструкциях по настройке встречаются ещё две директивы. Сейчас обе можно не писать:
- Crawl-delay задавал паузу между запросами робота. Google прямо пишет, что не поддерживает её, а в списке директив в справке Яндекса её больше нет. Скорость обхода для Яндекса настраивается в Вебмастере.
- Директива Host указывала главное зеркало сайта для Яндекса. В справке её тоже нет: главное зеркало определяется 301-редиректом на основной адрес (например, с
httpнаhttpsи сwwwна безwww).
Пример правильного robots.txt для сайта
Базовый файл для сайта-визитки или блога на WordPress. Это пример логики, а не шаблон: у вашего сайта могут быть другие служебные разделы.
User-agent: *
# служебная часть WordPress закрыта, но AJAX открыт — на нём работают формы
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
# результаты поиска по сайту
Disallow: /?s=
Disallow: /search/
# UTM-метки: для Яндекса — не отдельные страницы
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term
Sitemap: https://site.ru/sitemap.xml
Обратите внимание, чего здесь нет: не закрыты папки с темой и плагинами (/wp-content/) и /wp-includes/. В них лежат стили и скрипты, без которых поисковик не увидит страницу такой, какой её видит посетитель.

Как закрыть сайт или страницу от индексации
Весь сайт. Две строки закрывают сайт для всех роботов:
User-agent: *
Disallow: /
Так закрывают тестовую копию или сайт в разработке. На рабочем сайте эти строки означают, что поисковики перестанут его обходить.
Раздел или страница. Укажите путь: Disallow: /private/ закроет папку со всем содержимым, Disallow: /page.html$ — одну страницу.
Robots.txt или noindex. Если задача — запретить индексацию страницы, robots.txt не подходит: он запрещает обход, но не индексацию. Для этого нужен мета-тег <meta name="robots" content="noindex"> в коде страницы или HTTP-заголовок X-Robots-Tag: noindex. И главное: такая страница не должна быть закрыта в файле. Иначе робот не зайдёт на неё и не увидит noindex.
Тестовый сайт. Копию сайта надёжнее закрыть паролем на уровне сервера: этот файл — просьба, а не замок, его соблюдают поисковики, но не все роботы.
Как не закрыть сайт от индексации по ошибке
Большинство проблем с индексацией сайта возникает не из-за незнания синтаксиса, а при переносе сайта, смене CMS или «быстрой правке». Вот ошибки, которые мы чаще всего находим при техническом аудите.
1. Disallow: / переехал с тестовой копии. Сайт делали на тестовом домене, закрыли его от индексации, а при запуске перенесли вместе с этим файлом.
Как заметить: при проверке robots.txt в Вебмастере главная страница помечена как запрещённая; в Search Console растёт число страниц «Заблокировано в файле robots.txt»; через несколько дней падают показы.
Как исправить: удалить строку, запросить повторное сканирование файла в Search Console, отправить важные страницы на переобход в Вебмастере. После запуска или переноса сайта первым делом открывайте site.ru/robots.txt.
2. Закрыты стили и скрипты. Строки вроде Disallow: /wp-content/ или Disallow: /wp-includes/ закрывают CSS и JS.
Как заметить: в Search Console в проверке URL посмотрите скриншот страницы — она выглядит «голой», без оформления.
Как исправить: открыть папки со стилями и скриптами или добавить для них Allow.
3. Одна косая черта. Хотели написать «разрешить всё» — пустой Disallow:, — а написали Disallow: /.
Как заметить и исправить: проверка robots.txt в Вебмастере покажет, что запрещены все URL; убрать /.
4. Файл отвечает редиректом или ошибкой сервера. Яндекс ждёт от файла код 200. Google проходит до пяти редиректов, а дальше считает, что файла нет. Если сервер отвечает ошибкой 5xx, Google первые 12 часов приостанавливает сканирование сайта, затем до 30 дней использует последнюю сохранённую копию файла.
Как заметить: в Вебмастере появляется сообщение «Сервер отвечает редиректом на запрос /robots.txt»; отчёт о файлах robots.txt в Search Console показывает статус «Не получен».
Как исправить: файл должен открываться напрямую по основному адресу сайта; редирект допустим, только если он ведёт на файл, который отдаёт код 200.
5. Закрыта страница с noindex. Страницу хотели убрать из поиска, поставили noindex и на всякий случай закрыли в robots.txt. Робот noindex не видит, страница остаётся в индексе.
Как исправить: оставить только noindex, а когда страница выпадет из поиска — при желании закрыть её в robots.txt.
6. Регистр, кириллица и лишняя звёздочка. Пути чувствительны к регистру, кириллица в файле запрещена — пути нужно указывать в закодированном виде, домены в Punycode. Правило Disallow: /*catalog закроет не только каталог, но и все URL, где встречается это слово.
Как исправить: проверять каждое правило на списке реальных страниц сайта (как — ниже).
7. Отдельная группа для Яндекса без общих правил. Добавили User-agent: Yandex с одной строкой Clean-param — и робот Яндекса перестал видеть все запреты из User-agent: *.
Как исправить: либо держать все правила в одной общей группе (Clean-param можно писать в любом месте файла), либо полностью дублировать правила в группе Яндекса.
Настройка вступает в силу не сразу: поисковые системы хранят копию файла, Google — обычно до 24 часов.

Проверка robots.txt в Вебмастере и Search Console
Яндекс Вебмастер
Инструмент называется «Анализ robots.txt» и находится в разделе «Инструменты». Он показывает ошибки в синтаксисе, а в блоке «Доступ к страницам» можно вставить список URL и увидеть, какие из них разрешены, а какие запрещены и каким правилом. Проверить можно и сайт, который не добавлен в Вебмастер, — подтверждать права не нужно.

Google Search Console
В Search Console есть отчёт о файлах robots.txt. Он показывает, какие файлы нашёл Google, когда проверял их в последний раз, получен ли файл, его размер, ошибки и предупреждения. Если вы исправили серьёзную ошибку, из этого отчёта можно запросить повторное сканирование файла. Доступность конкретной страницы проверяется в инструменте проверки URL.

После каждой правки проверяйте главную и 3–5 ключевых страниц: услуги, каталог, популярные статьи.
Частые вопросы
Нужно ли указывать директиву Host?
Нет, главное зеркало определяется 301-редиректом.
Какой максимальный размер файла?
500 КБ, остальное Google игнорирует. Обычно файл занимает несколько сотен байт.
Что будет, если robots.txt нет?
Google считает, что ограничений нет. Файл всё равно стоит создать — ради карты сайта и закрытия служебных разделов.
Как закрыть от индексации поддомен?
Разместить отдельный файл в корне поддомена.
Как временно закрыть сайт на время работ?
Не через robots.txt — это грозит потерей показов. Для короткой паузы страницы должны отдавать код 503: поисковики поймут, что сайт недоступен временно.
Итог
Robots.txt — короткий файл, но от него зависит, увидят ли поисковики сайт. Настроить его несложно: закрыть служебные разделы и дубли, не трогать стили и скрипты, указать карту сайта и проверять каждую правку.
Его мы проверяем одним из первых при техническом аудите сайта. Что ещё в него входит — в статье «Что такое технический аудит сайта».
