Что вообще такое robots.txt и зачем он нужен
robots.txt — это обычный текстовый файл, который лежит в корне сайта по адресу `https://ваш-сайт.ru/robots.txt`. Его задача — сообщить поисковым роботам (и не только поисковым), какие разделы сайта можно сканировать, а какие лучше обходить стороной.
Важно сразу уяснить один момент, который многие упускают: robots.txt — это рекомендация, а не запрет. Googlebot и YandexBot обычно следуют указаниям в этом файле, но гарантии нет. Если на страницу, закрытую через Disallow, ведут внешние ссылки — Google вполне может её проиндексировать. Вы увидите в Search Console ошибку «Проиндексировано, несмотря на блокировку в файле robots.txt», и это нормальное поведение.
Если нужно гарантированно убрать страницу из индекса — используйте мета-тег `noindex` или закройте раздел паролем. robots.txt для этого не предназначен.
Тогда зачем он? Вот три основные причины:
Первая — управление краулинговым бюджетом. У каждого сайта есть лимит на количество страниц, которые поисковый робот готов обойти за один визит. Если бот тратит время на служебные страницы, корзины, результаты поиска и прочий мусор, до важных страниц он может просто не добраться.
Вторая — снижение нагрузки на сервер. Особенно актуально для сайтов на виртуальном хостинге. Агрессивные боты (а в 2026 году их стало значительно больше из-за AI-краулеров) могут серьёзно нагружать сервер.
Третья — контроль доступа AI-ботов. Это относительно новая задача, о которой расскажем подробнее ниже.
Из чего состоит robots.txt: разбираем директивы
Файл строится из блоков правил. Каждый блок начинается с директивы `User-agent`, за которой идут разрешающие и запрещающие правила. Между блоками — пустая строка. Комментарии начинаются с символа `#`.
User-agent
Указывает, к какому роботу относятся правила. Звёздочка `*` означает «для всех».
User-agent: *Если нужно задать правила для конкретного бота:
User-agent: Googlebot
User-agent: YandexBotDisallow
Запрещает сканирование указанного пути. Самая часто используемая директива.
Disallow: /admin/
Disallow: /wp-admin/
Disallow: /search/Пустой Disallow (`Disallow:`) означает «ничего не запрещено» — то есть сайт полностью открыт для сканирования.
Allow
Разрешает сканирование конкретного пути внутри запрещённой директории. Полезно, когда нужно закрыть папку целиком, но оставить доступ к отдельным файлам.
Disallow: /wp-content/plugins/
Allow: /wp-content/plugins/my-plugin/public/Здесь есть нюанс: Google и Яндекс сортируют правила по длине пути. Чем длиннее правило, тем оно приоритетнее. Порядок строк в файле при этом не играет роли — важна именно длина пути.
Sitemap
Указывает путь к XML-карте сайта. Эту директиву можно размещать в любом месте файла, она не привязана к конкретному User-agent.
Sitemap: https://ваш-сайт.ru/sitemap.xmlClean-param (только для Яндекса)
Директива, которую понимает YandexBot. Позволяет сообщить роботу, что определённые GET-параметры не влияют на содержимое страницы, и их можно игнорировать. Это помогает бороться с дублями.
Clean-param: utm_source&utm_medium&utm_campaign&yclid&fbclidGoogle эту директиву не понимает. Для него параметры настраиваются через Google Search Console.
Crawl-delay (только для Яндекса)
Задаёт минимальный интервал между запросами робота к серверу (в секундах). Google эту директиву игнорирует — скорость сканирования для Googlebot настраивается в Search Console.
User-agent: YandexBot
Crawl-delay: 2Спецсимволы: * и $
Символ `*` заменяет любую последовательность символов:
Disallow: /*?s=Эта запись заблокирует все URL, содержащие `?s=` — типичные страницы результатов поиска на WordPress.
Символ `$` указывает на конец URL:
Disallow: /catalog$Запретит доступ к `/catalog`, но не к `/catalog/shoes` или `/catalog-new`.
Типичные ошибки, которые встречаются на проектах
За время работы собралась целая коллекция ошибок в robots.txt. Вот самые частые.
Закрыли CSS и JS от индексации
Раньше это считалось нормальной практикой, но сейчас и Google, и Яндекс рендерят страницы, и им нужен доступ к стилям и скриптам. Если закрыть CSS/JS, поисковик не сможет корректно отрисовать страницу и может неправильно оценить её содержимое.
# Плохо — не делайте так
Disallow: /wp-content/themes/
Disallow: /wp-includes/Если закрываете папки WordPress целиком, обязательно открывайте доступ к статическим файлам:
Allow: /wp-content/themes/*.css
Allow: /wp-content/themes/*.js
Allow: /wp-includes/*.css
Allow: /wp-includes/*.jsСлучайно заблокировали весь сайт
Одна из самых катастрофических ошибок. Бывает, что сайты месяцами стоят в минус по трафику, потому что кто-то оставил после переноса с тестового сервера такую запись:
User-agent: *
Disallow: /Всего две строки, а эффект — сайт полностью закрыт от сканирования.
Неправильное имя файла
Файл должен называться строго `robots.txt` — в нижнем регистре. Не `Robots.txt`, не `ROBOTS.TXT`, не `robots.TXT`. Это важно.
Пустые строки внутри блока правил
Пустая строка между директивами разрывает блок. Вот так будет ошибка:
User-agent: *
Disallow: /admin/
Disallow: /search/Вторая строка `Disallow: /search/` окажется без привязки к User-agent. Пустые строки ставятся только между разными блоками.
Путали Disallow с noindex
robots.txt не удаляет страницы из индекса — он лишь просит робота не сканировать указанные URL. Если страница уже в индексе, закрытие через Disallow не уберёт её оттуда. Для этого нужен `noindex` в мета-тегах или HTTP-заголовках.
Готовый robots.txt для WordPress
На WordPress-проектах обычно используется такая конфигурация. Она проверена в бою и подходит для большинства блогов и контентных сайтов.
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /wp-register.php
Disallow: /?s=
Disallow: /*?s=
Disallow: /search/
Disallow: /author/
Disallow: */feed
Disallow: */trackback
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: /readme.html
Disallow: *?replytocom=
Disallow: */attachment/
Allow: /wp-admin/admin-ajax.php
Allow: /*.css
Allow: /*.js
Allow: /*.png
Allow: /*.jpg
Allow: /*.jpeg
Allow: /*.gif
Allow: /*.svg
Allow: /*.webp
User-agent: YandexBot
Disallow: /wp-admin/
Disallow: /wp-login.php
Disallow: /?s=
Disallow: /*?s=
Disallow: /search/
Disallow: /author/
Disallow: */feed
Disallow: */trackback
Disallow: */embed
Disallow: /xmlrpc.php
Disallow: /tag/
Disallow: *?replytocom=
Disallow: */attachment/
Allow: /wp-admin/admin-ajax.php
Allow: /*.css
Allow: /*.js
Allow: /*.png
Allow: /*.jpg
Allow: /*.jpeg
Allow: /*.gif
Allow: /*.svg
Allow: /*.webp
Clean-param: utm_source&utm_medium&utm_campaign&utm_content&utm_term&yclid&fbclid&gclid&from&openstat
Sitemap: https://ваш-сайт.ru/sitemap.xmlНесколько пояснений:
`/wp-admin/admin-ajax.php` — этот файл нужен для работы многих тем и плагинов, его нельзя закрывать. Остальную папку `wp-admin` индексировать смысла нет.
Закрывается `/author/` — авторские архивы на большинстве блогов дублируют контент. Если у вас несколько авторов и архивы оптимизированы под SEO — можете не закрывать.
Закрывается `/tag/` для Яндекса — на многих WordPress-сайтах метки создают тонны тонкого контента. Если вы осознанно работаете с тегами, оставьте их открытыми.
Clean-param для Яндекса — перечисляются все UTM-метки и рекламные параметры, чтобы бот не считал каждую ссылку с UTM за отдельную страницу.
WordPress + WooCommerce
Если у вас интернет-магазин, добавьте к базовому файлу:
Disallow: /cart/
Disallow: /checkout/
Disallow: /my-account/
Disallow: /*add-to-cart=*
Disallow: /*orderby=*
Disallow: /*filter_*Корзина, оформление заказа и личный кабинет — это служебные страницы. Параметры сортировки и фильтрации товаров создают массу дублей, их тоже лучше закрыть.
Как настроить robots.txt в WordPress
Есть три способа, и каждый по-своему хорош.
Ручной способ — создаёте файл `robots.txt` в обычном текстовом редакторе (главное — с кодировкой UTF-8), прописываете директивы и загружаете в корневую папку сайта через FTP или файловый менеджер хостинга. Надёжно и предсказуемо.
Через плагин Yoast SEO — в разделе «Инструменты» → «Редактор файлов» можно редактировать robots.txt прямо из админки. Плагин создаёт физический файл на сервере, который остаётся даже после деактивации плагина.
Через плагин Clearfy Pro — создаёт виртуальный robots.txt. Работает корректно, боты его видят, но физического файла на сервере нет. Удобно, если не хотите залезать на FTP.
Ручной способ предпочтительнее. Так у вас полный контроль, никакие обновления плагинов ничего не сломают, и вы точно знаете, что лежит в корне.
Нюансы для Яндекса, о которых важно помнить
Яндекс и Google обрабатывают robots.txt по-разному, и это создаёт головную боль, если вы продвигаетесь в обоих поисковиках.
Яндекс строже следует правилам robots.txt. Если Google может проиндексировать закрытую страницу, когда на неё есть внешние ссылки, то Яндекс в подобных ситуациях ведёт себя консервативнее.
Clean-param — фирменная фишка Яндекса. Google её не поддерживает. Через Clean-param вы сообщаете роботу, что URL вроде `/?utm_source=vk&utm_medium=social` и `/` — это одна и та же страница. Крайне полезная вещь, если у вас активная рекламная кампания в Яндекс Директе или где-то ещё.
Crawl-delay — ещё одна директива, которую понимает Яндекс, но игнорирует Google. Если ваш сайт на слабом хостинге и робот создаёт ощутимую нагрузку — выставьте Crawl-delay: 2 (или больше).
Проверка файла — обязательно проверяйте robots.txt через Яндекс Вебмастер (раздел «Инструменты» → «Анализ robots.txt»). Там можно загрузить файл и проверить, открыт или закрыт конкретный URL. Аналогичный инструмент есть в Google Search Console в разделе «Настройки».
Новая реальность: AI-краулеры в robots.txt
Это тема, которая в 2026 году стала по-настоящему актуальной. Помимо привычных Googlebot и YandexBot, по сайтам теперь активно ходят боты от OpenAI, Anthropic, Meta, Perplexity и других AI-компаний.
Зачем они приходят? Две основные причины: сбор данных для обучения языковых моделей и индексация контента для AI-поиска.
И тут возникает важный выбор. Если полностью заблокировать все AI-краулеры, ваш контент не будет появляться в ответах ChatGPT, Claude, Perplexity и других AI-сервисов. В 2026 году это уже ощутимый источник трафика для многих сайтов.
С другой стороны, если открыть всё — ваш контент может использоваться для обучения моделей без какой-либо компенсации.
Хорошая новость: крупные компании разделили своих ботов на категории. У OpenAI теперь три отдельных краулера — GPTBot (обучение моделей), OAI-SearchBot (индексация для поиска) и ChatGPT-User (запросы от пользователей в реальном времени). У Anthropic аналогичная структура — ClaudeBot (обучение), Claude-SearchBot (поисковый индекс) и Claude-User (пользовательские запросы).
Это позволяет выстроить гибкую стратегию. Вот пример конфигурации, которая блокирует сбор данных для обучения, но оставляет сайт видимым в AI-поиске:
# Блокируем ботов для обучения AI-моделей
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
User-agent: Google-Extended
Disallow: /
User-agent: CCBot
Disallow: /
User-agent: Meta-ExternalAgent
Disallow: /
User-agent: Bytespider
Disallow: /
# Оставляем доступ для AI-поисковых ботов
User-agent: OAI-SearchBot
Allow: /
User-agent: ChatGPT-User
Allow: /
User-agent: Claude-SearchBot
Allow: /
User-agent: Claude-User
Allow: /
User-agent: PerplexityBot
Allow: /Стоит ли блокировать AI-ботов — решать вам. На информационных сайтах, где контент — главный актив, блокировка обучающих краулеров может быть оправдана. Для бизнес-сайтов и интернет-магазинов, наоборот, видимость в AI-поиске может приносить клиентов.
Отдельно стоит отметить: robots.txt работает только для добросовестных ботов. Некоторые краулеры (особенно от менее известных компаний) могут его игнорировать. Если нужна более серьёзная защита — настраивайте правила через WAF (например, Cloudflare), блокируйте по User-Agent через `.htaccess` или используйте специализированные решения.
Как проверить robots.txt
После настройки файл нужно проверить. Вот три инструмента.
Яндекс Вебмастер — раздел «Инструменты» → «Анализ robots.txt». Загружаете файл, вводите URL для проверки и видите, разрешён он или нет. Самый удобный инструмент для проверки под Яндекс.
Google Search Console — раздел «Настройки» → «Сканирование» → «Открыть отчёт» рядом с robots.txt. Позволяет проверить, как Google видит ваш файл.
Ручная проверка — просто откройте `https://ваш-сайт.ru/robots.txt` в браузере. Если видите содержимое файла — он на месте. Если 404 — файл отсутствует. Если страница пустая — возможно, файл есть, но ничего не содержит (что равносильно полному разрешению).
Рекомендуется проверять robots.txt каждый раз после обновления CMS, установки новых плагинов или переезда на другой хостинг. Некоторые плагины и CMS могут перезаписывать файл, и ваши настройки просто пропадут.
Минимальный robots.txt для простого сайта
Если у вас одностраничник или простой сайт без CMS, достаточно лаконичной конфигурации:
User-agent: *
Disallow:
Sitemap: https://ваш-сайт.ru/sitemap.xmlЭто буквально говорит: «Всем можно всё, вот карта сайта». Для маленьких сайтов этого достаточно.
О чём помнить
robots.txt — это не тот файл, который настраивается один раз и забывается навсегда. Ландшафт поисковых и AI-ботов меняется, появляются новые краулеры, старые user-agent'ы устаревают. В 2024 году Anthropic использовал Claude-Web и Anthropic-AI, а в 2026 это уже три отдельных бота с разными задачами. OpenAI прошёл тот же путь.
Проверять и обновлять robots.txt стоит примерно раз в квартал. Анализируйте серверные логи, смотрите, какие боты приходят и что делают, и корректируйте правила.
Главное правило: лучше чуть-чуть перестраховаться и закрыть лишнее, чем случайно открыть служебные страницы. Закрытый от Disallow контент можно потом открыть — а разгребать последствия некорректной индексации куда сложнее.