Как настроить robots.txt

Анатолий Кузнецов
Анатолий Кузнецов
SEO-оптимизатор с 20-летним стажем. Автор блога hozyindachi.ru о продвижении и доработке сайтов.

Как настроить robots.txt

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

Что robots.txt делает и чего он не делает

robots.txt лежит в корне домена и содержит рекомендации для поисковых роботов о том, какие адреса не нужно обходить. Ключевое слово — обходить. Файл управляет доступом краулера к странице, а не присутствием страницы в выдаче.

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

Второй важный момент: файл распространяется только на свой домен и протокол. У каждого поддомена свой robots.txt, и запрет на основном сайте на них не действует.

Синтаксис директив

Файл состоит из блоков. Блок начинается с указания робота и содержит правила для него. Пустая строка разделяет блоки, всё после решётки — комментарий.

Директива Назначение Пример значения
User-agent Кому адресован блок правил *, Yandex, Googlebot
Disallow Запрет обхода адресов по маске /admin/
Allow Исключение из запрета /admin/public/
Sitemap Абсолютный адрес карты сайта полный адрес с протоколом
Clean-param Незначащие параметры (только Яндекс) utm_source&sort /catalog/

Правила работы с масками: * заменяет любую последовательность символов, $ обозначает конец адреса. Запись Disallow: /search закроет и /search, и /search-results/, и /searchengine.html — потому что совпадение идёт по началу строки. Если нужен именно раздел, пишите со слешем: Disallow: /search/. Если нужна ровно одна страница — используйте $.

Пустое значение Disallow: означает «не запрещено ничего». Строка Disallow: / закрывает весь сайт. Разница между ними — один символ, и цена ошибки максимальная.

При конфликте правил применяется более длинное и конкретное, а не то, что стоит выше. То есть Allow: /catalog/shoes/ перекроет Disallow: /catalog/ для обуви. Опираться на порядок строк не нужно — опирайтесь на длину маски.

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

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

Что закрывать имеет смысл

Категория Примеры Зачем
Служебные разделы Панель управления, системные каталоги Не нужны в поиске, тратят бюджет обхода
Личные кабинеты Профиль, история заказов Персональные данные, бесконечная генерация
Процесс покупки Корзина, оформление, сравнение Страницы бесполезны вне сессии пользователя
Внутренний поиск Страницы результатов поиска по сайту Плодят бесконечные низкокачественные адреса
Технические файлы Скрипты обработки форм, экспорт Не являются страницами
Мусорные параметры Метки рекламных кампаний, сессии Создают дубли основной страницы

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

Чего закрывать нельзя

  • Стили и скрипты оформления. Робот рендерит страницу так же, как браузер. Закрыв каталоги с оформлением, вы показываете ему разломанную вёрстку, и оценка мобильной пригодности летит следом.
  • Изображения товаров и статей. Они дают трафик из поиска по картинкам и участвуют в оценке страницы.
  • Страницы с каноникалом или noindex. Чтобы увидеть эти указания, робот должен прочитать страницу. Запрет обхода делает их невидимыми, и указания не сработают.
  • Страницы пагинации целиком. Через них робот доходит до карточек. Закрыв пагинацию, вы отрезаете часть каталога от обхода.
  • Разделы, на которые ведут внешние ссылки. Закрытие не убирает их из выдачи, а лишает нормального сниппета.
  • Карту сайта. Звучит абсурдно, но встречается: маска Disallow: /*.xml закрывает и её.

Clean-param и Sitemap

Директива Clean-param — специфика Яндекса и хороший инструмент против дублей по параметрам. Она сообщает, что определённые параметры не меняют содержимое страницы, поэтому адреса с ними и без них — одна и та же страница. Робот сводит их к чистому адресу и не тратит обход на копии.

Синтаксис: перечень параметров через амперсанд, затем через пробел префикс адресов, к которым правило применяется. Второй аргумент необязателен — без него правило действует на весь сайт. Это принципиально удобнее, чем Disallow с маской параметра: при запрете обхода вес ссылок на такие адреса теряется, а при склейке через Clean-param он передаётся основной странице.

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

robots.txt против noindex: когда что применять

Задача Правильный инструмент Почему
Убрать страницу из выдачи Метатег noindex, страница открыта для обхода Робот должен прочитать указание
Сэкономить бюджет обхода Disallow в robots.txt Робот не тратит запросы на эти адреса
Склеить дубли по параметрам Clean-param или каноникал Сохраняется накопленный вес
Закрыть конфиденциальный раздел Авторизация на сервере robots.txt публичен и ничего не защищает
Убрать страницу навсегда Удаление с кодом 404 или 410 Однозначный сигнал поисковику

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

Типичные ошибки

  • Файл с тестового сервера в продакшене. Строка Disallow: / уезжает вместе с релизом. Проверка robots.txt должна быть обязательным пунктом после каждого выката.
  • Кириллица в адресах без кодирования. Адреса в файле пишутся в процентном кодировании, домен в директиве Sitemap — в punycode.
  • Неверное расположение. Файл читается только по адресу /robots.txt в корне домена. Ни в подкаталоге, ни под другим именем он не работает.
  • Отдаётся не текст. Файл должен отдаваться с кодом 200 и типом обычного текста. Если сервер возвращает HTML-страницу с ошибкой, поведение робота непредсказуемо.
  • Слишком длинные и сложные маски. Чем изощрённее регулярное выражение, тем выше шанс закрыть лишнее. Простые правила надёжнее.
  • Забытые правила. Раздел давно переименован, а запрет остался и теперь закрывает что-то другое.

Как проверить файл

Проверка состоит из трёх частей, и пропускать ни одну нельзя.

Синтаксис. В панелях вебмастеров обоих основных поисковиков есть инструмент анализа robots.txt: он подсвечивает нераспознанные директивы и опечатки.

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

Результат в индексе. Через две-три недели после изменений посмотрите в панели вебмастера раздел исключённых страниц. Если там появились нужные страницы со статусом запрета в robots.txt — правило задело лишнее.

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

Чего делать не стоит

  • Копировать чужой robots.txt. Структура адресов у каждого сайта своя, и чужие маски закроют у вас не то.
  • Прятать в файле конфиденциальные пути. Файл открыт для всех, и вы просто публикуете карту служебных разделов.
  • Закрывать разделы, которые «пока не готовы». Лучше не публиковать их вовсе или закрыть авторизацией.
  • Править файл напрямую на боевом сайте без резервной копии предыдущей версии.
  • Использовать директивы, которые перестали поддерживаться. Управление частотой обхода и указание главного зеркала давно решаются другими средствами.
  • Считать, что запрет обхода мгновенно убирает страницы из выдачи. Процесс занимает недели.

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

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

Как быстро поисковик увидит изменения? Файл перечитывается регулярно, обычно в пределах суток. А вот последствия — выпадение или возврат страниц — проявляются в течение недель, потому что зависят от расписания обхода.

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

Что делать с UTM-метками? Для Яндекса корректнее Clean-param, для остальных — каноникал на чистый адрес. Массовый запрет через Disallow с маской параметра работает грубее и теряет ссылочный вес.

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

Чеклист

  • Файл доступен по адресу в корне домена и отдаёт код 200 в виде обычного текста.
  • Отдельный robots.txt существует для каждого поддомена, включая тестовые.
  • Строки Disallow: / на боевом сайте нет.
  • Служебные разделы, корзина, личный кабинет и внутренний поиск закрыты.
  • Стили, скрипты и изображения открыты для обхода.
  • Страницы с каноникалом и noindex не заблокированы.
  • Пагинация и разделы каталога доступны роботу.
  • Директива Sitemap указывает на актуальный абсолютный адрес.
  • Для Яндекса настроен Clean-param по мусорным параметрам.
  • Каждое правило прогнано через инструмент проверки на выборке реальных адресов.
  • Проверка файла включена в регламент после каждого релиза.

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

Если нужно продвижение сайтов от Анатолия Кузнецова — помогу вывести сайт в топ Яндекса и удержать позиции.

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

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

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

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

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

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

19 комментариев к “Как настроить robots.txt”

  1. Регина

    Забрала правила: не закрывать CSS и JS, указывать Sitemap, использовать Clean-param для параметров, для надёжного исключения — noindex, а не robots, и всегда проверять в валидаторе. Спасибо за конкретику.

  2. Геннадий

    Именно в Вебмастере: отчёт по страницам, исключённым из-за robots, плюс инструмент проверки конкретного URL — доступен он роботу или закрыт. Так видно и лишние запреты, и случайно закрытое нужное.

  3. Милана

    А как понять, что robots настроен правильно, кроме валидатора? Смотреть в Вебмастере, какие страницы исключены из-за запрета в robots? Или есть ещё способы проверить?

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

  4. Валерий

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

  5. Спасибо, robots всегда казался мелочью, а тут оказывается — один символ и полсайта из индекса. Пойду проверю свой в Вебмастере и уберу лишние Disallow, накопившиеся за годы.

  6. Семён

    А боты нейросетей и AI-краулеры — их пускать или блокировать в robots? Сейчас это отдельная дилемма: и в AI-выдаче хочется быть, и контент отдавать не всем.

  7. Галина

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

  8. Антон

    Отдельная секция User-agent: Yandex имеет смысл, если для Яндекса и Google нужны разные правила. Но чаще хватает общей секции. Не усложняйте без необходимости, чем проще robots, тем меньше шансов ошибиться.

  9. Марина

    У нас в robots были правила ещё от старого движка, закрывавшие нужные разделы. Никто годами не смотрел. Почистили — часть страниц вернулась в индекс. Проверьте свой файл, вдруг там наследие.

  10. Фёдор

    Clean-param — мощная штука именно для Яндекса, отсекает параметры вроде utm и сессий, экономит краулинговый бюджет. Канониклы и Clean-param не взаимоисключают, а дополняют друг друга. Я использую оба.

  11. Ксения

    А директива Clean-param для Яндекса реально помогает с дублями от utm и фильтров? Или проще канониклами разруливать? Запуталась, когда что применять.

    1. Ксения, Clean-param — мощная штука именно для Яндекса, отсекает параметры вроде utm и сессий и экономит краулинговый бюджет. Она не взаимоисключает с канониклами, а дополняет: канониклы разруливают дубли для индекса, Clean-param — для обхода. Я использую оба, каждый на своём месте.

  12. Роман

    Обязательно указывайте директиву Sitemap в robots — путь к карте сайта. Мелочь, а помогает роботу быстрее находить страницы. Многие забывают эту строку, а она бесплатно ускоряет индексацию.

  13. Жанна

    Частая ошибка — закрыть в robots папку со скриптами и стилями. Тогда робот не может отрендерить страницу и оценивает её как кривую. CSS и JS закрывать нельзя, это бьёт по ранжированию.

  14. Ключевой нюанс: robots запрещает обход, но не гарантирует отсутствие в индексе. Если на страницу есть ссылки, она может попасть в поиск даже под Disallow. Для надёжного исключения — meta noindex, а не только robots.

  15. Алина

    А что вообще нужно закрывать в robots? Админку, корзину, поиск по сайту? И правда ли, что закрывать через robots от индексации ненадёжно и лучше noindex?

    1. Алина, закрывайте служебное: админку, корзину, внутренний поиск, технические дубли с параметрами. И да, robots запрещает обход, но не гарантирует отсутствие в индексе — если на страницу есть ссылки, она может попасть в поиск. Для надёжного исключения используйте meta noindex, а не только robots.

  16. Виктор

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

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

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

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

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