robots.txt для сайта: как составить, настроить и проверить

Автор: Опубликовано: 9 минут чтения

Файл robots.txt задаёт правила обхода сайта поисковыми роботами: какие разделы открыты, какие закрыты и где лежит карта сайта. В руководстве — синтаксис директив, готовые примеры для популярных CMS и веб-серверов, способы проверки и разбор ошибок, из-за которых сайт может выпасть из выдачи.

robots.txt для сайта: как составить, настроить и проверить
Содержание
  1. Что такое robots.txt и зачем он нужен
  2. Как устроен файл: синтаксис и директивы
  3. Пошаговая настройка
  4. Примеры для популярных CMS и серверов
  5. Как проверить robots.txt
  6. Частые ошибки

Коротко: как настроить robots.txt для сайта

  1. Составьте список разделов. Выпишите адреса, которые не нужны в поиске: админка, корзина, оформление заказа, внутренний поиск, фильтры и сортировки. Отдельно отметьте то, что закрывать нельзя: статьи, карточки товаров, изображения, CSS и JS.
  2. Создайте файл. Соберите черновик в текстовом редакторе или в генераторе robots.txt, сохраните в UTF-8 без BOM. Имя файла — строго robots.txt, строчными буквами.
  3. Загрузите в корень сайта. Файл должен лежать рядом с главной страницей (часто это public_html, www или httpdocs), а не в подкаталоге и не в папке шаблона.
  4. Добавьте карту сайта. Укажите полный адрес sitemap.xml с протоколом отдельной директивой Sitemap. Если карт несколько, перечислите каждую отдельной строкой.
  5. Проверьте доступность. Откройте https://ваш-домен/robots.txt в браузере: должен вернуться код 200 и текст файла, а не HTML-шаблон, страница ошибки или запрос пароля.
  6. Прогоните правила в панелях. В Яндекс.Вебмастере используйте «Анализ robots.txt», в Google Search Console — отчёт robots.txt и «Проверку URL». Убедитесь, что важные страницы открыты, а служебные закрыты.

Что такое robots.txt и зачем он нужен

robots.txt — обычный текстовый файл, который лежит в корне сайта и открывается по адресу https://ваш-домен/robots.txt. В нём описаны правила обхода: каким роботам можно смотреть страницы, а какие разделы лучше не трогать.

Файл решает несколько практических задач:

  • закрывает от обхода служебные разделы — админку, корзину, внутренний поиск, личный кабинет, страницы оформления заказа;
  • снижает нагрузку на сервер, не пуская роботов в бесконечные фильтры, сортировки и календари;
  • убирает дубли от GET-параметров (метки UTM, идентификаторы сессий);
  • указывает адрес карты сайта, чтобы робот нашёл её без дополнительных подсказок;
  • закрывает тестовые копии и рабочие поддомены, которые не должны попасть в выдачу.

Важно понимать границы возможностей. robots.txt — это рекомендация, а не запрет доступа. Файл не защищает данные: страница, закрытая в robots.txt, всё равно открывается в браузере по прямой ссылке, если нет авторизации. Кроме того, robots.txt не удаляет страницу из выдачи мгновенно: если она уже проиндексирована, роботу нужно заново её обойти и получить сигнал на удаление, например noindex. Часть роботов — почтовые, SEO-краулеры, парсеры — файл вообще игнорирует, для них работает только серверное ограничение доступа.

Если нужен именно запрет индексации, а не обхода, используют метатег noindex или HTTP-заголовок X-Robots-Tag; для полного закрытия сайта от посетителей — пароль. Эти инструменты сочетаются, но решают разные задачи.

Как устроен файл: синтаксис и директивы

Правила простые:

  • имя файла — строго robots.txt, строчными буквами;
  • файл лежит только в корне домена; https://example.com/blog/robots.txt поисковики не читают;
  • кодировка — UTF-8 без BOM, тип содержимого — text/plain;
  • для каждого поддомена и протокола (http и https) файл свой;
  • крупные файлы читаются не полностью (Google берёт первые 500 КиБ), поэтому лишние строки в файл не добавляют;
  • символ # начинает комментарий до конца строки.

Строки складываются в группы. Группа начинается с одной или нескольких директив User-agent и продолжается правилами. Пустая строка разделяет группы.

Директива Что делает Кто понимает
User-agent указывает робота, к которому относится группа; * — все остальные все
Disallow запрещает обход путей все
Allow разрешает путь внутри закрытого раздела Яндекс, Google
Sitemap задаёт полный адрес карты сайта Яндекс, Google, Bing
Clean-param исключает GET-параметры из индекса Яндекс
Crawl-delay задаёт паузу между запросами Яндекс (не рекомендует), Google игнорирует
Host указывал главное зеркало; устарел —

Правила работы с путями:

  • путь всегда начинается с / и чувствителен к регистру: /Cart/ и /cart/ — разные адреса;
  • поддерживаются спецсимволы * (любая последовательность) и $ (конец адреса);
  • пустой Disallow: означает «всё разрешено» и часто используется как заглушка;
  • если к адресу подходят и Allow, и Disallow, приоритет у более точного, то есть более длинного правила;
  • при отсутствии файла (код 404) робот считает, что обходить можно всё; при кодах 5xx обход может быть приостановлен.

Базовый пример

User-agent: *
Disallow:
Sitemap: https://example.com/sitemap.xml

Пример с закрытием служебных разделов

User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /search
Disallow: /*?sessionid=
Disallow: /*?replytocom=

Allow: /admin/help/

Clean-param: utm_source&utm_medium&utm_campaign&yclid&gclid /

Sitemap: https://example.com/sitemap.xml

Здесь страница помощи в админке открыта исключением Allow, а рекламные метки вырезаны из индекса директивой Яндекса.

Правила для отдельных роботов

User-agent: Googlebot
Disallow: /compare/

User-agent: Yandex
Disallow: /compare/
Clean-param: from /

User-agent: *
Disallow: /compare/
Sitemap: https://example.com/sitemap.xml

Полный запрет обхода

User-agent: *
Disallow: /

Такой файл закрывает весь сайт от обхода. Применять его стоит только на тестовом стенде и лучше вместе с паролем, иначе страницы всё равно доступны по ссылкам и могут попасть в индекс из внешних источников.

Пошаговая настройка

  1. Составьте список разделов. Выпишите адреса, которые не нужны в поиске: админка, корзина, оформление заказа, поиск, сортировки и фильтры, пагинация с параметрами, тестовые каталоги. Отдельно отметьте то, что закрывать нельзя: статьи, карточки товаров, изображения, файлы стилей и скриптов.
  2. Создайте файл. Подойдёт любой текстовый редактор, сохраняющий UTF-8 без BOM. Быстрее собрать черновик в генераторе robots.txt, а затем вычитать правила вручную.
  3. Загрузите в корень. Файл должен оказаться в той же папке, что и главная страница сайта (часто это public_html, www или httpdocs). Не в подкаталог /blog/ и не в папку с шаблоном.
  4. Добавьте Sitemap. Укажите полный адрес карты с протоколом. Если карт несколько (например, отдельные для товаров и статей), перечислите их отдельными строками Sitemap:. О формате — в материале про sitemap.xml.
  5. Откройте файл в браузере. Адрес https://ваш-домен/robots.txt должен отдавать код 200 и ваш текст, а не страницу ошибки 404, не HTML-шаблон и не форму авторизации.
  6. Проверьте правила в панелях. Прогоните в Яндекс.Вебмастере и Google Search Console несколько важных адресов и убедитесь, что нужные страницы открыты, а служебные закрыты.
  7. Обновляйте файл при изменениях. Новый раздел, перенос каталога, смена адресов — повод пересмотреть правила. После правок робот применяет их при следующем обращении к файлу, обычно в течение нескольких дней.

Примеры для популярных CMS и серверов

WordPress

Движок умеет отдавать robots.txt виртуально, без файла на диске. Как только в корне появляется настоящий robots.txt, приоритет у него. Редактировать виртуальную версию через код темы не стоит: проще создать физический файл или воспользоваться редактором в SEO-плагине — Yoast SEO, Rank Math и подобные, набор настроек зависит от версии плагина.

Типичный набор правил:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /search/
Disallow: /*?replytocom=
Disallow: /feed/
Sitemap: https://example.com/sitemap_index.xml

admin-ajax.php закрывать нельзя: через него работают многие функции сайта и плагинов.

1С-Битрикс

Файл лежит в корне сайта и правится через файловый менеджер или раздел SEO в административной панели; в поставке обычно есть готовый шаблон со служебными путями. Проверьте, что закрыты /bitrix/, служебные скрипты и каталог с фильтрами, если он плодит дубли, но открыты папки с изображениями — например /upload/ с картинками товаров, иначе они не попадут в индекс изображений. Если раздел SEO формирует файл автоматически и на сайте включён композитный кеш, после правок очистите кеш.

Tilda

robots.txt на Tilda формируется автоматически, адрес карты сайта добавляется в него при публикации. Настройка находится в параметрах сайта в разделе SEO: там можно задать собственное содержимое файла. Интерфейс и набор полей зависят от текущей версии конструктора, поэтому после сохранения откройте https://ваш-домен/robots.txt и убедитесь, что правила применились. Отдельный нюанс: у страниц конструктора бывают служебные адреса с параметрами, и если вы используете метки для рекламы, для Яндекса поможет Clean-param, а для Google — канонический адрес на самой странице.

nginx

robots.txt — статический файл, поэтому достаточно, чтобы он лежал в корне и отдавался с правильным типом содержимого:

server {
    server_name example.com;
    root /var/www/example.com;

    location = /robots.txt {
        default_type text/plain;
        try_files $uri =404;
    }
}

Для тестового стенда удобно отдавать заглушку прямо из конфигурации:

location = /robots.txt {
    default_type text/plain;
    return 200 "User-agent: *\nDisallow: /\n";
}

Apache

Статический файл работает без дополнительных настроек. Для закрытия тестовой копии надёжнее не robots.txt, а заголовок или пароль в .htaccess:

<IfModule mod_headers.c>
    Header set X-Robots-Tag "noindex, nofollow"
</IfModule>

Заголовок действует и на не-HTML файлы (PDF, изображения), но обход не запрещает. Если нужно закрыть стенд полностью, ставьте Basic-авторизацию.

Как проверить robots.txt

Быстрая проверка занимает несколько минут:

  1. Прямой запрос. Откройте https://ваш-домен/robots.txt в браузере в режиме инкогнито. Должен быть код 200 и текст файла.
  2. Заголовки ответа. Проверьте их командой:
curl -I https://example.com/robots.txt

Ожидается HTTP/1.1 200 OK и Content-Type: text/plain. 3. Яндекс.Вебмастер. Раздел «Инструменты» → «Анализ robots.txt»: сервис показывает содержимое файла, подсвечивает ошибки и позволяет ввести адрес страницы, чтобы увидеть, какое правило к нему применилось. 4. Google Search Console. Отчёт «robots.txt» в разделе настроек показывает статус файла и ошибки разбора; «Проверка URL» позволяет протестировать конкретную страницу и посмотреть загруженные ею ресурсы. 5. Выборочный тест. Возьмите 5–10 адресов — главная, категория, карточка товара, статья, служебная страница — и прогоните через обе панели. Так вы поймаете лишние запреты до того, как страницы выпадут из индекса.

Анализ пригодится и для чужого сайта: чтобы понять логику обхода у конкурента, достаточно открыть его robots.txt в браузере, файл публичный. Так же проверяют, не закрыт ли случайно весь сайт: если по прямому адресу отдаётся HTML-страница вместо текста, сервер настроен неверно.

Частые ошибки

  • Disallow: / на рабочем сайте. Самая частая причина выпадения сайта из выдачи после переноса или настройки. Проверяйте файл после каждой миграции.
  • Файл не в корне. В подкаталоге или в папке шаблона он бесполезен: роботы читают только https://домен/robots.txt.
  • Ошибка 404 или 500 вместо файла. Если сервер отдаёт страницу ошибки, робот считает правила отсутствующими (404) либо приостанавливает обход (5xx).
  • Забытая директива User-agent. Правила без указания робота не применяются.
  • Блокировка CSS и JS. Закрытые скрипты и стили мешают роботу корректно отрисовать страницу и оценить её содержание.
  • Надежда на noindex в закрытом разделе. Если URL запрещён в robots.txt, робот не загрузит страницу и не увидит метатег. Сначала снимают запрет, дожидаются переобхода, потом ставят noindex.
  • robots.txt как защита. Файл не скрывает содержимое: документы, персональные данные и служебные панели закрывают авторизацией.
  • Мусорные GET-параметры без Clean-param и канонических адресов. Сортировки и фильтры порождают тысячи дублей. Для Яндекса работает Clean-param, для Google — атрибут canonical и настройки параметров.
  • Crawl-delay «на всякий случай». Google директиву игнорирует, а Яндекс не рекомендует её использовать: скорость обхода настраивается в панели вебмастера.
  • Устаревшая директива Host. Она больше не используется, склеивание зеркал настраивается редиректом — об этом в материале про 301-редирект.
  • Кириллица и BOM. Файл в UTF-8 с BOM может разбираться некорректно; сохраняйте без BOM.
  • Правки без проверки. После любого изменения прогоняйте файл через анализ в панелях: опечатка в пути тихо отключает правило и открывает раздел, который вы хотели закрыть. Дополнительно стоит сверить правила с картой сайта — материал про sitemap.xml — и убедиться, что закрытые адреса не попали в карту.

Частые вопросы

Где должен лежать файл robots.txt?

Только в корне домена — по адресу https://ваш-домен/robots.txt. Файл в подкаталоге, например /blog/robots.txt, поисковые роботы не читают. Для каждого поддомена и протокола нужен отдельный файл.

Как посмотреть robots.txt чужого сайта?

Достаточно открыть в браузере адрес https://нужный-домен/robots.txt. Файл публичный, никаких инструментов не требуется. Если вместо текста отдаётся HTML-страница или ошибка, значит, файл не настроен или сервер отвечает неверно.

Чем Disallow отличается от noindex?

Disallow в robots.txt запрещает роботу обходить адрес, но не убирает страницу из выдачи и не скрывает её от посетителей. Метатег noindex или заголовок X-Robots-Tag запрещают индексацию. Использовать их одновременно нельзя: закрытую в robots.txt страницу робот не загрузит и noindex не увидит.

Как запретить индексацию всего сайта через robots.txt?

Две строки: User-agent: * и Disallow: /. Такой файл подходит для тестового стенда, но не защищает содержимое — страницы остаются доступны по прямым ссылкам. Для полного закрытия используйте пароль или ограничение доступа на сервере.

Что такое Clean-param в robots.txt?

Директива Яндекса, которая исключает указанные GET-параметры (UTM-метки, идентификаторы сессий) из индекса, чтобы не появлялись дубли. Google её не понимает и опирается на атрибут canonical и настройки параметров в Search Console.

Почему изменения в robots.txt не применяются сразу?

Робот обращается к файлу при следующем обходе, поэтому обновление правил занимает от нескольких часов до нескольких дней. Если правка не сработала, проверьте, не отдаётся ли файл из кеша CDN и нет ли в корне второго файла robots.txt.

Материал подготовлен редакцией справочника Торох и носит справочный характер: интерфейсы программ и настройки серверов зависят от версии. Нашли неточность? Напишите нам.

Читайте также

Другие разделы