Прежде чем обходить сайт, робот запрашивает один и тот же адрес: ваш-сайт/robots.txt. Если файл есть, робот читает правила и дальше их соблюдает. Если файла нет — обходит всё подряд.

Зачем это знать

Ради одной строки, которой ломают сайты чаще всего. Файл пишется за минуту, а ошибка в нём убирает сайт из поиска целиком — и заметить это можно через месяц, когда посещаемость уже упала. Разобраться дешевле, чем чинить.

Из чего он состоит

Правила пишутся блоками. Блок начинается со строки User-agent — для какого робота правила, дальше идут запреты и разрешения.

robots.txt обычного сайта
User-agent: *
Disallow: /manager/
Disallow: /assets/cache/
Disallow: /*?print=
Allow: /assets/

Sitemap: https://eazy-logic.ru/sitemap.xml
Что означает каждая строка
Строка Смысл
User-agent: * Правила для всех роботов. Вместо звёздочки может стоять имя конкретного
Disallow: /manager/ Не заходить в этот раздел и всё, что внутри
Allow: /assets/ Исключение из запрета: сюда можно
Sitemap: Где лежит карта сайта. Пишется полным адресом

Звёздочка внутри пути означает «любые знаки»: правило /*?print= закрывает все адреса с этим параметром, где бы он ни встретился.

Чего этот файл не делает

Тут два заблуждения, из-за которых случаются неприятности.

  • Это не защита. Файл открыт всему интернету: любой может посмотреть, что вы прячете, и зайти туда. Строка Disallow: /secret-admin/ — это указатель со стрелкой, а не замок. Закрывают разделы паролем, а не просьбой не заходить.
  • Это не удаление из поиска. Запрет означает «не заходи на страницу», а не «убери её из выдачи». Если на закрытую страницу кто-то ссылается, она может остаться в поиске — без описания, одним адресом. Чтобы убрать страницу из выдачи, нужен метатег noindex на самой странице, а доступ к ней у робота должен остаться: иначе он просто не увидит этого тега.

Строка, которая убивает сайт

Disallow: / закрывает весь сайт целиком. Её ставят на время разработки и забывают снять при публикации — это самая частая беда при переносе сайта на хостинг. Проверять после каждого переезда, обязательно.

Правила оформления

  • Файл лежит строго в корне: сайт/robots.txt, и нигде больше.
  • Имя только маленькими буквами, кодировка UTF-8, никакого HTML внутри.
  • Пустая строка разделяет блоки правил — не ставьте её посреди блока.
  • Комментарий начинается со знака # и полезен: через год вы не вспомните, зачем закрывали раздел.
  • Стили, скрипты и картинки закрывать нельзя: робот должен видеть страницу такой же, как человек.
  • Устаревшие строки вроде Host и Crawl-delay сегодня не нужны: главное зеркало задаётся переадресацией, а скорость обхода настраивается в Вебмастере.
  • Одна строка — одно правило. Перечислять несколько путей через запятую нельзя, такую строку робот просто пропустит.

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

Блоков может быть несколько: один общий и по одному на конкретного робота. Имя робота пишется вместо звёздочки, например User-agent: Yandex. Важная тонкость: робот читает только один блок — свой, а если своего нет, то общий. Правила из двух блоков не складываются, поэтому в личный блок нужно переписать и всё то, что уже есть в общем.

В последние годы появился новый повод заглянуть в этот файл: сайты обходят не только поисковики, но и роботы, собирающие тексты для обучения нейросетей. У каждого своё имя, и если вы не хотите отдавать им содержимое, для них заводится отдельный блок с запретом. Решение тут ваше: одни хотят попасть в ответы ассистентов, другие — нет.

Что просить у нейросети

Мой запрос

Составь robots.txt для сайта-справочника на Evolution CMS. Домен eazy-logic.ru, карта сайта лежит в корне.

Нужно закрыть служебные разделы движка и папку кеша, оставив открытыми стили, скрипты, шрифты и картинки. Страницу поиска по сайту и адреса с параметрами сортировки тоже закрой.

К каждой строке дай комментарий, зачем она. Отдельно перечисли, чего этот файл не делает, чтобы я не считал его защитой. И скажи, как проверить готовый файл перед публикацией.

Как проверить, что получилось

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

Что стоит запомнить

  • Файл лежит в корне сайта и открывается по прямому адресу
  • Disallow запрещает заходить, но не убирает из поиска
  • Это не защита: файл виден всем и указывает, где что лежит
  • Стили, скрипты и картинки закрывать нельзя
  • После публикации сайта первым делом проверить, что нет Disallow: /