Что это и где лежит
Обычный текстовый файл в корне сайта, доступный по адресу site.ru/robots.txt. Робот запрашивает его перед обходом и следует указанным правилам.
Важное уточнение: файл управляет обходом, а не индексацией. Закрытая в нём страница может попасть в выдачу, если на неё ведут внешние ссылки — робот просто не будет знать её содержимого.
Базовый синтаксис
User-agent: *
Disallow: /admin/
Disallow: /cart/
Allow: /catalog/
Sitemap: https://site.ru/sitemap.xml
User-agent— к какому роботу относятся правила, звёздочка означает всех.Disallow— что не обходить.Allow— исключение из запрета.Sitemap— адрес карты сайта, указывается полностью.
Что стоит закрывать
| Раздел | Почему |
|---|---|
| Панель управления | Служебный раздел, содержимого для поиска нет |
| Корзина и оформление заказа | Персональные страницы, бесполезны в выдаче |
| Личный кабинет | То же самое |
| Результаты внутреннего поиска | Бесконечное число комбинаций |
| Сравнение товаров | Динамические наборы |
| Технические скрипты и служебные файлы | Не должны попадать в выдачу |
Чего закрывать не нужно
- Стили и скрипты. Робот отрисовывает страницу так же, как браузер. Без стилей он видит её сломанной.
- Изображения товаров, если вы хотите трафик из поиска по картинкам.
- Страницы с параметрами, если на них стоит канонический адрес: закрыв обход, вы помешаете роботу увидеть тег canonical.
- Страницы пагинации, через них робот находит товары.
Самая дорогая ошибка. Строка Disallow: / закрывает весь сайт. Она попадает на боевой сервер вместе с файлом от тестовой версии — и сайт исчезает из выдачи за несколько дней. Проверяйте файл сразу после каждой выкладки.
Disallow или noindex
Два инструмента решают разные задачи, и путаница между ними — вторая по частоте ошибка.
| Задача | Инструмент |
|---|---|
| Не тратить обход на служебный раздел | Disallow в robots.txt |
| Убрать страницу из выдачи | Метатег noindex на странице |
| Склеить версии с параметрами | Канонический адрес |
| Убрать страницу навсегда | Код 404 или 410 |
Комбинация «закрыть в robots.txt и поставить noindex» не работает: робот не зайдёт на страницу и не увидит метатег. Если нужно убрать страницу из выдачи, доступ к ней должен оставаться открытым.
Пример для интернет-магазина
User-agent: *
Disallow: /admin/
Disallow: /cart/
Disallow: /checkout/
Disallow: /personal/
Disallow: /search/
Disallow: /compare/
Disallow: /*?sort=
Disallow: /*?limit=
Allow: /
Sitemap: https://site.ru/sitemap.xml
Две последние строки с параметрами закрывают сортировки и лимиты вывода. О том, какие параметры стоит закрывать, а какие превращать в отдельные страницы, — в материалах про параметры в URL и SEO-страницы фильтров.
Частые ошибки
- Файл недоступен и отдаёт 404 — робот считает, что ограничений нет.
- Закрыты стили и скрипты — страница выглядит для робота сломанной.
- Забыт Sitemap — робот дольше находит новые страницы.
- Правила для несуществующих разделов — файл разрастается и становится нечитаемым.
- Опечатка в пути — правило не работает, но выглядит рабочим.
- Разные правила для разных роботов без реальной необходимости.
Проверять файл стоит после каждого обновления сайта: он маленький, и просмотр занимает минуту.
Как проверить файл
Три способа, от простого к точному:
- Открыть в браузере адрес
site.ru/robots.txt— файл должен отдаваться текстом, а не скачиваться и не выдавать ошибку. - Инструмент проверки в панели вебмастера — покажет, разрешён ли конкретный адрес.
- Краулер с учётом robots.txt — обойдёт сайт так же, как поисковый робот, и покажет, что осталось за бортом.
Второй способ особенно полезен при сомнениях: вводите конкретный адрес и сразу видите, какое правило на него действует.
Тестовые копии сайта
Копия сайта на поддомене — источник неприятных сюрпризов. Если её не закрыть, в индексе окажется полный дубликат проекта.
Закрывать её файлом robots.txt недостаточно: страницы всё равно могут попасть в выдачу по внешним ссылкам. Надёжный вариант — доступ по паролю на уровне сервера: тогда ни робот, ни случайный посетитель до копии не доберутся.
Минимальный файл для обычного сайта
User-agent: *
Disallow: /admin/
Disallow: /search/
Allow: /
Sitemap: https://site.ru/sitemap.xml
Для сайта услуг или блога этого достаточно. Раздувать файл десятками правил «на всякий случай» не нужно: каждое лишнее правило — это то, что придётся проверять при следующем изменении структуры.
Частые вопросы
Гарантирует ли Disallow, что страница не попадёт в выдачу?
Нет. Файл управляет обходом, а не индексацией. Страница может появиться в результатах поиска по внешним ссылкам, просто без описания. Для исключения из выдачи нужен метатег noindex.
Можно ли закрывать стили и скрипты?
Не нужно. Робот отрисовывает страницу как браузер, и без стилей она выглядит сломанной, что мешает оценке содержимого.
Что будет, если файла robots.txt нет?
Робот сочтёт, что ограничений нет, и обойдёт сайт целиком, включая служебные разделы. Файл лучше создать даже с минимальным набором правил.
Готовый адрес можно собрать прямо сейчас: откройте генератор ЧПУ — он транслитерирует фразу по таблице Яндекса, уберёт служебные слова и покажет длину адреса.