Логотип seo-prodvizhenie-biznesa.ru
+7 (921) 333-77-45

Что такое robots.txt простыми словами

Что такое robots.txt простыми словами
Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога seo-prodvizhenie-biznesa.ru о продвижении и доработке сайтов.

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

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

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

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

Дальше важное разделение, из которого растут почти все ошибки. Файл управляет обходом — тем, будет ли робот скачивать страницу. Он не управляет тем, попадёт ли адрес в результаты поиска. Это две разные задачи, и решаются они разными инструментами. Справка Вебмастера формулирует это прямо: ограниченные в robots.txt страницы могут участвовать в поиске Яндекса.

Второй момент, который стоит запомнить: требования к самому файлу жёсткие, а последствия их нарушения не такие, как думают. По справке файл должен лежать в корневом каталоге, сервер должен отдавать по его адресу код 200, а размер не должен превышать 500 КБ. И дальше ключевая фраза: если файл не соответствует требованиям, сайт считается открытым для индексирования. То есть при кривом файле робот не остановится в растерянности — он пойдёт обходить всё.

Третье: кириллица в файле запрещена — домены записываются в Punycode, адреса страниц в кодировке сайта. Русские буквы в путях работать не будут.

Главное недоразумение: запрет в файле не убирает страницу из поиска

Эта путаница стоит людям месяцев. Логика кажется очевидной: закрыл страницу в robots.txt — значит, её нет в поиске. На практике иначе: если на закрытый адрес ведут ссылки, он может оказаться в результатах поиска — просто без содержимого, потому что робот не смог его скачать. Справка это подтверждает и для крайнего случая: для главной страницы, которую нужно спрятать целиком, Яндекс рекомендует закрывать её авторизацией, потому что запрет в robots.txt не предотвратит попадание в результаты поиска при наличии внешних ссылок.

Отсюда практическое правило, которое экономит много нервов. Если задача — «чтобы робот не тратил время на этот раздел», подходит Disallow. Если задача — «чтобы этой страницы не было в поиске», нужен метатег robots со значением noindex, либо коды ответа 404, 403 или 410 — все эти способы перечислены в справке как рабочие для удаления из базы.

И тут ловушка, на которой спотыкаются почти все: страницу с метатегом noindex нельзя одновременно закрывать в robots.txt. Робот не сможет её скачать, значит, не увидит метатег и не выполнит указание. Страница останется в поиске, а вы будете уверены, что закрыли её дважды. По справке страница удаляется из поисковой базы в течение недели после того, как робот обнаружит ваши указания — но обнаружить он их должен, а для этого ему нужен доступ. Подробный разбор, что выбрать в каждом случае, есть в отдельном материале про то, как закрыть страницу от индексации.

Из чего состоит файл: пять директив, которые нужно понимать

В актуальной справке Вебмастера описаны пять директив: User-agent, Disallow, Allow, Sitemap и Clean-param. Первая обязательна — с неё начинается любой блок правил. Остальное расшифрую в таблице, вместе с тем, как эти строки чаще всего ломают.

Директива Что делает Типичная ошибка
User-agent Указывает, к какому роботу относится блок правил. Обязательная директива Забыли строку — блок правил не относится ни к кому и не работает
Disallow Запрещает обход указанного пути. Пустой Disallow равносилен Allow: / «Disallow: /» без уточнений — закрыт весь сайт целиком
Allow Разрешает обход внутри запрещённого раздела. Пустой Allow робот не учитывает Пишут Allow без соответствующего Disallow — строка ничего не меняет
Sitemap Указывает роботу полный адрес карты сайта Указан старый адрес после переезда на другой домен или на https
Clean-param Велит роботу Яндекса игнорировать перечисленные параметры в адресах Тот же параметр дополнительно закрыт через Disallow — приоритет у Disallow, и директива не работает

Теперь про два символа, из-за которых файлы ведут себя не так, как ожидает автор. Звёздочка означает любую последовательность символов, включая пустую, и по умолчанию приписывается к концу каждого правила: поэтому «Disallow: /shop» закрывает не только раздел, но и всё, что начинается с этих букв. Знак доллара в конце отменяет эту звёздочку — «Disallow: /example$» закроет только сам адрес, но не «/example.html».

И правило разрешения конфликтов, которое стоит знать до того, как вы начнёте спорить с разработчиком. Директивы Allow и Disallow сортируются по длине префикса — от короткого к длинному — и применяются последовательно; робот выбирает последнее подошедшее правило. Если два правила дают одинаковую длину префикса, приоритет у Allow. Порядок строк в файле сам по себе ничего не решает: переставлять их «чтобы заработало» бесполезно.

Clean-param: зачем нужна отдельная директива под параметры

Самая недооценённая строка в файле. Речь про адреса вида «?utm_source=…», «?ref=…», «?sort=price» — один и тот же товар открывается по десяти разным ссылкам. Для робота это десять адресов с одинаковым содержимым.

Справка описывает назначение прямо: используя эту директиву, робот Яндекса не будет многократно перезагружать дублирующуюся информацию. Формат — «Clean-param: параметр» либо несколько параметров через амперсанд, с необязательным указанием пути, к которому правило применяется. Ограничения тоже есть: до 500 символов на одно правило, регистр символов учитывается, и работает директива только для робота Яндекса.

Почему не решить ту же задачу через Disallow. Потому что запрет обхода отбирает у робота возможность увидеть, что это дубль: он просто не скачивает адрес и не может свести его с основным. Clean-param же объединяет адреса с разными значениями параметра в один основной. Задачи похожие, а результат разный, и выбор между этим инструментом, canonical и редиректом разобран отдельно — что куда ставить при дублях с параметрами.

И помните про приоритет: если параметр закрыт через Disallow и одновременно указан в Clean-param, сработает Disallow, а вторая строка останется мёртвой.

Что обычно закрывают и зачем

Здесь нет универсального файла, который подойдёт всем: набор зависит от движка. Но есть типовые группы адресов, которые роботу действительно незачем обходить, и таблица ниже — про них.

Что закрываем Зачем Чем грозит ошибка в этой строке
Админка и служебные каталоги движка Робот не тратит обход на страницы, которых нет в поиске Слишком широкий путь закрывает заодно папку с картинками или скриптами
Внутренний поиск по сайту Бесконечное число адресов с результатами не попадает в обход Закрыт весь путь с вопросительным знаком — заодно отрезаны нужные страницы с параметрами
Корзина, оформление заказа, личный кабинет Страницы без содержимого для поиска, часто с персональными данными Правило задевает каталог товаров, если адреса пересекаются
Технические адреса: сортировки, сессии, метки Уменьшается число дублей, обход идёт на нужные страницы Для параметров лучше Clean-param; Disallow здесь мешает роботу распознать дубль
Тестовая копия сайта на поддомене Копия не попадает в поиск и не конкурирует с основным сайтом Файл переносят на рабочий домен вместе с копией — и закрывают живой сайт

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

Что закрывать нельзя: стили, скрипты и картинки

Это правило появилось не сразу, поэтому в старых инструкциях из интернета до сих пор попадаются советы закрыть папки с оформлением. Так делать нельзя. Яндекс прямо рекомендовал владельцам и разработчикам сайтов, которые ранее закрывали файлы с JavaScripts и CSS для индексирующего робота, открыть их в robots.txt — роботу нужен доступ к скриптам и стилям, чтобы увидеть страницу так, как её видит человек в браузере.

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

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

Как посмотреть свой файл и проверить его в Вебмастере

Первое действие занимает десять секунд: откройте адрес своего сайта и добавьте к нему «/robots.txt». Уже на этом шаге поищите глазами три вещи: строку «Disallow: /» без продолжения, упоминания папок с оформлением и адрес карты сайта — не остался ли он от старого домена.

Второе действие — проверка в Яндекс Вебмастере. Инструмент лежит в разделе «Инструменты» → «Анализ robots.txt», и открыть его можно даже без добавления сайта в панель, по адресу webmaster.yandex.ru/tools/robotstxt/. Он показывает, какие правила робот учитывает, и отдельно список ошибок обработки с пояснениями. Ниже результатов есть блок для проверки конкретных адресов: вставляете полный адрес или путь от корня сайта и видите, открыт он для обхода или закрыт.

Третье, чем почти никто не пользуется: сервис сам следит за изменениями файла и хранит его версии за последние шесть месяцев, до ста версий. Если трафик упал и вы подозреваете, что «кто-то что-то поменял», это единственный способ увидеть, что именно поменялось и когда. Пошаговый порядок такой проверки, включая сверку с реальным поведением робота, разобран отдельно — как проверить robots.txt на сайте.

Ещё проверьте строку Sitemap: после переезда на https или на новый домен она устаревает первой. Как эту карту получить, если её нет вовсе, — сделать карту сайта sitemap.xml.

Одна лишняя строка — и сайта нет в поиске, но не сразу

Механика отложенная, и это самое коварное. Файл правят сегодня, а падение видно через одну-три недели, когда робот успел переобойти сайт и убрать страницы из базы. К этому моменту связь между причиной и следствием потеряна, и виноватыми оказываются «алгоритмы».

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

Кто должен править файл. Технически — разработчик или тот, кто отвечает за сервер, потому что файл лежит в корне и правится через панель хостинга или систему управления сайтом. Содержательно — человек, который понимает, какие разделы нужны в поиске. Если движок не даёт доступ к файлу или каждое изменение требует программиста, это отдельная задача — доработка сайта в части, которая касается управления индексацией.

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

Нужен ли robots.txt вообще, если у меня маленький сайт?

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

Я закрыл раздел, а он всё равно в поиске. Почему?

Потому что запрет обхода и отсутствие в поиске — разные вещи, и справка это фиксирует прямо. Если на раздел ведут ссылки, адрес может показываться в результатах без содержимого. Чтобы убрать страницы из поиска, нужен метатег noindex или код ответа 404, 403, 410 — и при этом страница должна быть открыта для обхода, иначе робот не увидит указание.

Можно ли удалить страницы из поиска через панель Вебмастера?

Да, там есть инструмент удаления: по справке до 500 отдельных адресов в сутки и до 20 префиксов в сутки. Но у него есть условие, о котором узнают в момент отказа: робот удалит указанные страницы только если для них прописана директива Disallow в файле robots.txt либо страница отдаёт соответствующий код ошибки. Сначала запрет, потом заявка на удаление — не наоборот.

Можно ли скопировать готовый файл у конкурента или из статьи?

Посмотреть — полезно, скопировать — нет. Пути к служебным каталогам зависят от движка и от того, как сайт собирали. Чужие правила у вас либо не сработают вообще, либо закроют нужное. Особенно это касается подборок «универсальный файл для любого сайта»: они собраны под конкретную систему управления и конкретный год.

Когда этот файл не решит задачу и когда нужен человек

Файл бессилен в трёх ситуациях. Первая: страница уже в поиске, и её нужно оттуда убрать — здесь работает noindex или код ошибки, а запрет обхода только помешает. Вторая: на сайте дубли с параметрами, и нужно не спрятать их, а склеить с основным адресом — это Clean-param, canonical или редирект. Третья: страницу нужно скрыть от людей, а не от роботов, — тогда нужна авторизация, и справка рекомендует именно её.

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

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

Коротко

Файл robots.txt — текстовый файл в корне сайта с правилами обхода для роботов. Он должен отдаваться с кодом 200 и весить не больше 500 КБ, кириллица в нём запрещена. Если файл не соответствует требованиям, сайт считается открытым для индексирования.

Запрет в этом файле управляет обходом, а не присутствием в поиске: справка Вебмастера прямо говорит, что ограниченные в robots.txt страницы могут участвовать в поиске Яндекса. Убирают страницы из поиска метатегом noindex или кодами 404, 403, 410 — и для этого страница должна оставаться открытой для обхода.

В актуальной справке описаны пять директив: User-agent, Disallow, Allow, Sitemap, Clean-param. Правила сортируются по длине префикса, при равной длине приоритет у Allow, а звёздочка по умолчанию дописывается в конец каждого правила.

Стили и скрипты закрывать нельзя — Яндекс рекомендует открыть их в файле, иначе робот не увидит страницу так, как её видит посетитель. Картинки целой папкой тоже не закрывают, иначе теряется поиск по изображениям.

Проверять файл нужно в двух местах: глазами в браузере по адресу «/robots.txt» и в разделе «Инструменты» → «Анализ robots.txt» в Вебмастере, где можно прогнать конкретные адреса и посмотреть историю версий за шесть месяцев. Если после проверки картина не складывается и часть страниц по непонятной причине не в индексе, приходите на разбор сайта — разберём обход целиком. Все директивы и требования всегда можно сверить в справке Яндекс Вебмастера.

Увеличьте позиции и продажи вашего сайта

Профессиональное SEO-продвижение с гарантией результата. Выберите подходящую услугу:

Анатолий Кузнецов — SEO-оптимизатор

Остались вопросы по продвижению?

Меня зовут Анатолий Кузнецов, я SEO-оптимизатор с 20-летним стажем. Разберу ваш сайт, отвечу на вопросы и подскажу, что улучшить для роста позиций в Яндексе и Google.

Связаться со мной →

Комментарии

Станислав

Открыл свой файл после вашей статьи — а там первой строкой «Disallow: /» и ниже десяток Allow под конкретные разделы. Сайт в поиске есть, трафик идёт. Это нормально или мне срочно всё переделывать?

Анатолий Кузнецов автор

Это рабочая, хотя и рискованная схема: закрыли всё и вручную открываете нужное. Работает она потому, что правила сортируются по длине префикса, и более длинный Allow перебивает короткий Disallow. Опасность в другом: любая новая страница или новый раздел по умолчанию окажутся закрытыми, и вы узнаете об этом через месяц. Срочно переделывать не нужно, но сделайте две вещи. Прогоните через проверку в Вебмастере десяток адресов из разных разделов, включая свежие страницы. И заведите правило: появился новый раздел — сразу проверили, открыт ли он. Если сайт растёт и разделы добавляются часто, я бы всё-таки перешёл на обратную логику: открыто по умолчанию, закрыто перечислением.

Тамара

Спасибо за пункт про тестовую копию. У нас именно так и вышло в прошлом году: разработчик перенёс папку целиком, и полтора месяца никто не понимал, куда делся сайт. Теперь этот пункт первый в чек-листе приёмки.

Юлия

А как быть с utm-метками? Мне подрядчик добавил их в Disallow, и вроде дубли ушли. Вы пишете, что так делать хуже. Что именно я теряю?

Анатолий Кузнецов автор

Дубли могли уйти из виду, а не из базы — это разные вещи. При запрете обхода робот не скачивает адрес с меткой и поэтому не может понять, что это та же страница, что и без метки. Он просто перестаёт её видеть. Если на такой адрес есть внешние ссылки, он может остаться в поиске без содержимого — а это хуже обычного дубля. Clean-param решает задачу иначе: робот заходит, видит параметр, игнорирует его и сводит адрес с основным. Замените Disallow на Clean-param для меток и через пару недель посмотрите в Вебмастере, как изменилась картина по дублям. И проверьте, что старый запрет действительно убрали: при одновременном наличии обеих строк приоритет у Disallow, и Clean-param останется мёртвым.

Эльдар

Вопрос про удаление. Подал в Вебмастере на удаление сотни мусорных адресов, получил отказ по всем. Формулировку не понял вообще. Что я сделал не так?

Анатолий Кузнецов автор

Почти наверняка не выполнено условие инструмента: удаление срабатывает только для адресов, у которых уже прописан запрет в robots.txt или которые отдают код ошибки. Порядок такой. Сначала добавляете правило в файл и убеждаетесь через проверку в Вебмастере, что нужные адреса закрыты. Затем подаёте заявку на удаление — по префиксу, если адреса однотипные, так экономнее по лимитам. Если адресов очень много, помните про суточные ограничения и разбивайте работу на дни. И не забудьте потом проверить, что правило не задело живые страницы: широкий путь в таких правках задевает лишнее чаще, чем кажется.

Устинья

Полезно про историю версий, не знала, что она есть. У нас файл правят три человека, и теперь наконец видно, кто что добавил и когда начались проблемы.

Филипп

Добавлю от себя: проверяйте файл не только на основном домене, но и на каждом поддомене отдельно. У нас на поддомене с блогом лежал свой файл, закрытый целиком со времён разработки, и мы искали причину в основном сайте два месяца.

Яков

У меня сайт на конструкторе, доступа к файлу нет, в настройках только галочка «разрешить индексацию». Что в такой ситуации вообще можно сделать?

Анатолий Кузнецов автор

Сначала откройте адрес «ваш-домен/robots.txt» и посмотрите, что конструктор генерирует автоматически — файл почти наверняка есть, просто вы его не редактируете. Дальше прогоните через проверку в Вебмастере несколько своих страниц и убедитесь, что они открыты. Если платформа закрывает что-то нужное и настройками это не лечится, остаются инструменты уровня страницы: метатег robots, если конструктор даёт вставлять код в заголовок, и канонические адреса. А если не даёт ни того ни другого — это ограничение платформы, и решается оно только переездом. Проверьте заодно, не закрыл ли конструктор папки с оформлением: у некоторых платформ это встречается.

Тимур

Мне кажется, вы преувеличиваете значение этого файла. За двадцать лет работы с сайтами я ни разу не видел, чтобы правильный robots.txt кому-то поднял позиции. Это гигиена, а не инструмент роста.

Софья

Тимур, так в статье это и написано — что файл ничего не поднимает, а только не мешает. У нас он как раз мешал: была закрыта папка с оформлением, и мобильная версия для робота выглядела как простыня текста. Открыли — и через месяц ситуация выправилась. Роста не было, просто перестали терять.

Харитон

Не согласен с советом не копировать готовые файлы. Для типовых движков сборки вполне рабочие, и начинающему проще взять готовое, чем разбираться месяц. Свой первый файл я именно так и сделал, ничего не сломалось.

Анатолий Кузнецов автор

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

Эмма

А через сколько после исправления файла страницы возвращаются в поиск? У нас была закрыта половина каталога, исправили неделю назад, пока ничего не изменилось. Волнуюсь, может, что-то ещё не так.

Янина

Эмма, неделя — рано, у нас возвращалось почти три недели и неравномерно: сначала страницы, на которые больше внутренних ссылок. Заодно проверьте в файле строку Sitemap — у нас там был адрес с http, хотя сайт давно на https, и карту робот просто не забирал. Поправили — пошло быстрее.

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

 Нажимая «оставить комментарий» вы принимаетеправила конфиденциальности 

Прокрутить вверх