robots.txt: как настроить файл для поисковых роботов
Содержание
robots.txt - это текстовый файл в корне сайта с инструкциями для поисковых роботов: какие разделы можно обходить, а какие не стоит. Главное, что важно понять: robots.txt управляет обходом, а не индексацией - директива Disallow закрывает страницу от обхода, но не удаляет её из выдачи (для этого нужен мета-тег noindex), а приватные данные через публичный robots.txt прятать вообще нельзя. В файле задают правила директивами User-agent, Disallow, Allow и указывают адрес карты сайта; проверяют результат в Яндекс Вебмастере.
Что такое robots.txt и зачем он нужен
robots.txt - это текстовый файл в корне сайта (по адресу вида site.ru/robots.txt) с инструкциями для поисковых роботов: какие разделы сайта можно обходить, а какие не стоит. Робот, придя на сайт, первым делом читает robots.txt и дальше действует по нему.
Зачем это нужно: направить робота на полезные страницы и увести со служебных - корзины, страниц фильтров и сортировок, результатов внутреннего поиска, админки, технических дублей с параметрами. На больших сайтах это ещё и экономия краулингового бюджета - робот обходит ограниченное число страниц за визит, и незачем тратить его на мусор. Заодно в robots.txt указывают адрес карты сайта. Маленькому сайту файл тоже полезен как гигиена, но чем крупнее и сложнее сайт, тем важнее robots.txt.
Важно: robots.txt управляет обходом, а не индексацией
Это самое частое и дорогое заблуждение. Директива Disallow говорит роботу «не заходи сюда» - но это не команда «убери из выдачи». Если на закрытую в robots страницу ведут ссылки, поисковик может показать её в результатах без описания. Более того: закрыв страницу в robots.txt, вы не дадите роботу увидеть на ней мета-тег noindex - и он не сможет её корректно исключить из индекса.
Отсюда простое правило:
- чтобы страницу не обходили (не тратили на неё робота) -
Disallowв robots.txt; - чтобы страница не попадала в выдачу - мета-тег
noindexна самой странице (и не закрывать её при этом в robots, иначе робот не прочитает noindex); - для приватных данных robots.txt не годится вообще: файл публичный, любой откроет site.ru/robots.txt и увидит, что вы прячете. Такое закрывают паролем или авторизацией.
Основные директивы robots.txt
| Директива | Что делает |
|---|---|
User-agent |
для какого робота правила ниже: * - для всех, Yandex, Googlebot, GPTBot - для конкретного |
Disallow |
запретить обход раздела или страницы: Disallow: /admin/ |
Allow |
явно разрешить обход внутри запрещённого раздела: Allow: /admin/help/ |
Sitemap |
абсолютный адрес карты сайта: Sitemap: https://site.ru/sitemap.xml |
Clean-param |
у Яндекса - убрать незначащие GET-параметры, чтобы не плодить дубли адресов |
Host |
устарел: раньше указывал главное зеркало, теперь не нужен (зеркала склеиваются иначе) |
Синтаксис простой: одна директива - одна строка; путь чувствителен к регистру; строки, начинающиеся с #, - комментарии.
Как составить robots.txt: пошагово
- Проверьте, есть ли файл: откройте
site.ru/robots.txt. Нет - создайте обычный текстовый файлrobots.txt. - Задайте, для кого правила: обычно
User-agent: *(для всех роботов). - Закройте служебное: админку, корзину, оформление заказа, результаты внутреннего поиска, страницы фильтров и сортировок, дубли с параметрами.
- Не закрывайте лишнего: файлы CSS, JS и картинки нужны роботу, чтобы правильно увидеть страницу, - их блокировать нельзя.
- Укажите карту сайта:
Sitemap: https://site.ru/sitemap.xml(абсолютным адресом). - Положите файл в корень сайта (именно
site.ru/robots.txt, не в подпапку). - Проверьте результат в Яндекс Вебмастере или Google.
Пример рабочего robots.txt
Базовый ориентир для типового сайта (в примере - на WordPress). Это не «копировать вслепую», а образец логики: под свой движок и структуру список правят.
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /cart/
Disallow: /checkout/
Disallow: /?s=
Clean-param: utm_source&utm_medium&utm_campaign
Sitemap: https://site.ru/sitemap.xml
robots.txt и ИИ-боты
Через robots.txt управляют не только поисковыми роботами, но и краулерами нейросетей: GPTBot (OpenAI), PerplexityBot, ClaudeBot, Google-Extended и другими. Хотите, чтобы нейросети могли обходить и цитировать сайт, - не блокируйте их; не хотите - закройте по User-agent. Но помните: доступ через robots.txt - лишь одно из условий попадания в ответы ИИ, и недобросовестные боты robots.txt просто игнорируют - серьёзный контроль доступа делается на уровне сервера. Подробно - в разборе как пустить нейросети на сайт.
Частые ошибки
- Закрыли лишнее. Случайная строка
Disallow: /закрывает от обхода весь сайт - классическая катастрофа после переноса с тестового сервера, где так было задумано. - Понадеялись на robots для скрытия. Закрытая в robots страница всё равно может оказаться в выдаче, а приватные данные из публичного файла только подсвечиваются.
- Заблокировали CSS и JS. Робот видит «сломанную» страницу и может занизить её оценку.
- Забыли строку
Sitemap- лишили робота удобной карты. - Опечатки и кириллица в путях без кодирования - правило молча не срабатывает.
Как проверить robots.txt
- Яндекс Вебмастер - инструмент «Анализ robots.txt»: показывает, какие URL закрыты, а какие открыты, и находит ошибки в синтаксисе.
- Google Search Console - отчёт и тестер robots.txt.
- Просто откройте
site.ru/robots.txtв браузере - файл должен отдаваться с кодом 200 и читаться. Google, к слову, учитывает только первые 500 КБ файла - раздувать robots.txt не нужно.
Правило на будущее: после любой правки robots.txt проверьте, что не закрыли ничего нужного, - одна лишняя строка способна убрать сайт из поиска.
Что дальше
robots.txt работает в паре с картой сайта sitemap.xml - вместе они управляют обходом. Как робот вообще находит и заносит страницы - в узле индексация и обход. Проверить свой сайт по всем пунктам техники - в чек-листе технического аудита.
Частые вопросы
Нужен ли robots.txt небольшому сайту?
Желательно - как техническая гигиена. Даже маленькому сайту полезно увести робота со служебных страниц (админка, внутренний поиск) и указать карту сайта. Чем крупнее и сложнее сайт, тем важнее robots.txt, но и на небольшом он лишним не будет.
Закроет ли robots.txt страницу от индексации?
Нет. robots.txt управляет обходом, а не индексацией. Директива Disallow говорит роботу не заходить на страницу, но если на неё ведут ссылки, она может оказаться в выдаче без описания. Чтобы страница не попадала в выдачу, нужен мета-тег noindex на самой странице, и при этом её нельзя закрывать в robots (иначе робот не увидит noindex).
Где должен лежать файл robots.txt?
Строго в корне сайта, по адресу site.ru/robots.txt. В подпапке (site.ru/folder/robots.txt) он не работает. У каждого поддомена - свой robots.txt.
Как временно закрыть весь сайт от поиска на время разработки?
Строки User-agent: * и Disallow: / закрывают сайт от обхода. Но надёжнее использовать мета-тег noindex и закрыть сайт паролем - и обязательно снять запрет при запуске. Забытый Disallow: / после переноса с теста - частая причина того, что сайт пропал из поиска.
Нужен ли отдельный robots.txt для WordPress?
WordPress отдаёт базовый robots.txt автоматически, но его стоит дополнить под свои служебные разделы: закрыть корзину и оформление заказа в магазине, страницы внутреннего поиска, добавить строку Sitemap. Готовый файл в корне переопределяет виртуальный.
Нужен разбор под ваш сайт?
Пройдите короткий тест и подберите формат: обучение один на один, если хотите вести SEO сами, или аудит с планом правок, если нужно сделать за вас.
