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

Файл robots.txt для сайта

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

Файл robots.txt для сайта занимает пару десятков строк, и одна из них способна убрать из поиска весь ресурс целиком. Забытый с этапа разработки запрет находят в среднем через полгода — когда владелец наконец спрашивает, почему заявок нет, а сайт вроде бы сделали красивый.

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

Как работает файл

Перед обходом сайта робот запрашивает адрес вида site.ru/robots.txt. Файл лежит строго в корне — вложенные копии в подпапках не работают. Если файла нет и сервер отдаёт 404, робот считает, что запретов нет, и обходит всё подряд. Если файл есть, робот читает правила и следует им.

Важная деталь про поддомены: каждый поддомен — самостоятельный сайт с точки зрения этого файла. Правила из site.ru/robots.txt на shop.site.ru не распространяются, там нужен свой файл. То же с протоколом и с версией с www: формально это разные хосты, и файл должен быть доступен по каждому адресу, по которому робот может к вам прийти.

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

Обход и индексация: разница, которая стоит дорого

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

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

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

Директивы: что чем управляется

Синтаксис у файла минимальный, и все возможности умещаются в короткую таблицу.

Директива Что делает Пример записи
User-agent Открывает блок правил для конкретного робота User-agent: Yandex
Disallow Запрещает обход адресов, начинающихся с указанного пути Disallow: /wp-admin/
Allow Разрешает исключение внутри запрещённого раздела Allow: /wp-content/uploads/
Sitemap Указывает полный адрес карты сайта Sitemap: https://site.ru/sitemap.xml
Clean-param Склеивает адреса с параметрами, понимает только Яндекс Clean-param: utm_source&utm_medium

Несколько правил синтаксиса, на которых спотыкаются регулярно.

Подробнее об этом — в статье «Мета-тег Robots и файл robots.txt».

  • Блоки разделяются пустой строкой. Если между блоком для одного робота и блоком для другого пустой строки нет, они слипаются, и правила применяются не туда, куда задумывалось.
  • Регистр в путях важен. Disallow: /Catalog/ и Disallow: /catalog/ — разные запреты.
  • Символ * означает любую последовательность, символ $ — конец адреса. Запись Disallow: /*?* закрывает все адреса с параметрами, а Disallow: /catalog$ — только сам раздел, но не то, что внутри.
  • Директива Host устарела и давно не учитывается: главное зеркало определяется редиректом и настройками в Вебмастере. Подробности — в отдельном разборе про директиву host.
  • Crawl-delay Яндексом больше не поддерживается. Скорость обхода настраивается в Вебмастере, а не в файле.

Clean-param вместо запрета меток

Адреса с рекламными метками вида ?utm_source= и ?from= создают копии одной и той же страницы. Первое, что приходит в голову, — закрыть их через Disallow: /*utm*. Это ошибка, и вот почему.

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

Помогу с продвижением: SEO-продвижение от Анатолия Кузнецова — вывожу сайты в топ Яндекса белыми методами.

Правильный инструмент для Яндекса — Clean-param. Он говорит роботу: параметры из этого списка не влияют на содержимое, отбрось их и считай адреса одной страницей. Страница остаётся в индексе, дубли склеиваются, ссылочные сигналы суммируются. Для Google той же цели служит атрибут canonical в коде страницы — его стоит настроить в любом случае, потому что Clean-param Google не понимает.

Что закрывать нужно

Список короткий и почти одинаковый для всех сайтов.

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

Логика при составлении списка одна: закрываем то, что не должно приводить посетителей из поиска и при этом отнимает ресурс обхода. Всё остальное трогать не нужно.

Что закрывать нельзя ни в коем случае

Здесь ошибки дороже, потому что они не выглядят ошибками — файл получается «аккуратный», а сайт теряет позиции.

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

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

Тему разбирал отдельно: «Постраничный Robots: полное руководство и как это влияет на продвижение сайта».

Страницы с noindex. Уже описанная ловушка: робот не заходит, запрета не видит, адрес остаётся в выдаче.

Пагинацию, если она настроена правильно. Страницы вида /page/2/ обычно должны обходиться и индексироваться со ссылкой на себя в canonical — иначе робот не доберётся до товаров и статей, которые есть только на второй и третьей странице списка. Про современный подход к постраничной навигации я писал отдельно — пагинация без rel next.

Раздел с отзывами, вопросами и пользовательским содержимым. Его закрывают «чтобы не было дублей», а теряют живой текст с формулировками запросов, которого нет у конкурентов.

Связь с квотой обхода

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

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

Если нужна помощь по теме — разработка сайта под ключ.

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

Проверка после каждой правки

Любое изменение проверяется в тот же день, а не «когда-нибудь потом». Порядок занимает минут пятнадцать.

Смежный материал по теме — «Индексация сайта от А до Я: robots.txt, sitemap, краулинговый бюджет».

  1. Откройте site.ru/robots.txt в браузере. Файл должен открыться как текст и отдаться с кодом 200, без редиректа.
  2. Проверьте, что содержимое — то самое, что вы загрузили. На части CMS файл генерируется движком, и правка загруженного файла ни на что не влияет.
  3. В Яндекс.Вебмастере откройте инструмент анализа robots.txt и прогоните через него десяток важных адресов: главную, две-три страницы услуг, карточку товара, статью блога, страницу контактов. Каждая должна быть разрешена.
  4. Отдельно прогоните адреса, которые вы закрывали, — они должны быть запрещены.
  5. Проверьте, что файл карты сайта указан полным адресом с протоколом и открывается по этой ссылке.
  6. Через неделю вернитесь в Вебмастер и посмотрите, не выросло ли число исключённых страниц с причиной «запрещено в robots.txt».

Отдельно про подрядчиков и переносы. Файл проверяется после каждого переезда сайта, после смены хостинга, после обновления движка и после любых работ на тестовой копии. Это ровно те моменты, когда закрывающая строка возвращается на место сама собой.

Частые ошибки и во что они обходятся

Ошибка Последствие Как обнаружить
Disallow: / остался после разработки Сайт полностью выпадает из поиска Открыть файл в браузере, первая же строка видна
Файл отдаётся редиректом или ошибкой Правила не применяются вообще Проверка кода ответа для адреса файла
Закрыты CSS и JS Робот видит сломанную вёрстку, страдает мобильная оценка Инструмент проверки отрисовки страницы в Вебмастере
Метки закрыты через Disallow вместо Clean-param Страницы с внешними ссылками выпадают из обхода Рост исключённых с причиной «запрещено в robots.txt»
Sitemap ведёт на старый домен Карта не обрабатывается, новые страницы находятся медленно Открыть адрес карты из файла вручную
Нет пустой строки между блоками Правила слипаются и работают не для тех роботов Анализ файла в Вебмастере
Файл для поддомена отсутствует Тестовая копия сайта индексируется как отдельный сайт Поиск по оператору site: с адресом поддомена

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

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

Нужен ли файл вообще, если закрывать нечего?
Пустой файл с указанием карты сайта лучше, чем отсутствие файла. Во-первых, робот перестанет получать 404 при каждом обходе. Во-вторых, у любой CMS есть служебные адреса, которые лучше не отдавать в обход, — они появятся по мере роста сайта. Минимальный рабочий вариант: блок для всех роботов с запретом административной части и строка с адресом карты сайта.

Можно ли взять готовый файл из интернета для своей CMS?
Как основу — да, как готовое решение — нет. Шаблонные файлы для популярных движков часто содержат запреты, которые давно вредны: закрытые каталоги со стилями и скриптами, закрытые загрузки, устаревшие директивы. Взяв такой файл, обязательно пройдитесь по каждой строке и спросите себя, что именно она закрывает на вашем сайте. Порядок настройки под конкретный движок я расписывал в материале как настроить robots.txt.

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

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

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

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

Показываю, как читать отчёты Вебмастера и находить такие проблемы на живом сайте:

Коротко

  • Файл управляет обходом, а не индексацией: чтобы убрать страницу из поиска, нужен метатег noindex, и тогда закрывать её в robots.txt нельзя.
  • Файл лежит в корне, отдаётся с кодом 200 без редиректов, и у каждого поддомена он свой.
  • Рекламные метки склеивают через Clean-param и canonical, а не через Disallow — запрет выбивает страницу из обхода целиком.
  • Картинки, стили, скрипты, пагинацию и пользовательские отзывы закрывать нельзя: робот должен видеть страницу такой же, как посетитель.
  • На больших каталогах файл распределяет квоту обхода — проверять, что робот берёт карточки товара, а не комбинации фильтров, нужно по статистике обхода в Вебмастере.
  • Забытый Disallow: / после разработки — самая дорогая ошибка: файл проверяется после каждого переезда, обновления движка и работ подрядчика.

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

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

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

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

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

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

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

Комментарии

Алексей Лобов

Нашёл у себя Disallow: / — сайт был закрыт четыре месяца после переезда на новый хостинг. Открыл. Что делать дальше, чтобы вернуться быстрее?

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

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

Кристина Логинова

У нас магазин на 12 тысяч товаров, в индексе 3 тысячи. В статистике обхода вижу, что робот берёт в основном адреса с фильтрами. Закрыть их сразу все?

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

Сразу все — рискованно, потому что среди фильтров почти наверняка есть комбинации, под которые уже есть спрос и позиции: «красные диваны», «обувь 43 размера». Сделайте по шагам. Сначала выгрузите список адресов с фильтрами, по которым были переходы из поиска за полгода, — это те, что трогать нельзя. Остальное разделите на две группы: комбинации из двух и более фильтров и сортировки — их закрываем, одиночные фильтры оставляем и настраиваем им canonical на раздел. После правки следите за статистикой обхода недели три: доля карточек товара должна вырасти. И параллельно проверьте, что в карте сайта перечислены все 12 тысяч карточек — иногда причина не в фильтрах, а в том, что робот просто не знает про остальные товары.

Виктор Ложкин

Правлю файл через FTP, а на сайте по адресу robots.txt отдаётся совсем другое содержимое. Мистика какая-то. Куда смотреть?

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

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

Софья Лопатина

Подрядчик закрыл у нас в файле каталог с загрузками, объяснив, что так экономится квота обхода. Судя по статье, это вредно. Насколько всё плохо?

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

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

Михаил Лосев

Вопрос про тестовый поддомен. У нас копия сайта на dev.site.ru проиндексировалась целиком, теперь в поиске два одинаковых сайта. Как правильно убирать?

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

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

Екатерина Лукина

Нужно ли прописывать отдельные блоки для Яндекса и Гугла, если правила у меня одинаковые? Видела файлы, где один и тот же список продублирован трижды.

Станислав Лушников

Закрыл внутренний поиск строкой с маской, а вместе с ним отвалилась половина каталога — там адреса тоже с параметром. Как писать маски аккуратнее?

Маргарита Лыкова

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

Олег Лямин

Правда ли, что через robots.txt злоумышленники видят структуру сайта? Мне безопасник запретил указывать там пути к админке.

Инна Ливанова

Сколько строк Clean-param можно указать? У нас параметров под тридцать штук, боюсь, что файл станет нечитаемым.

Аркадий Лифанов

В Вебмастере пишет, что карта сайта не обрабатывается, хотя строка Sitemap в файле есть и адрес открывается. С чего начать разбор?

Нина Лощилова

Мы перевели сайт с http на https полгода назад. Файл robots.txt при этом никто не трогал, в нём остался старый адрес карты сайта. Это могло повлиять?

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

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

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

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