В WordPress robots.txt часто правят «на глаз»: закрывают всё подряд или, наоборот, оставляют открытыми служебные URL, которые потом всплывают в индексе. Типичный результат — в поиске появляются страницы авторов, архивы, параметры сортировки, служебные каталоги плагинов и дубли, которые не нужны ни пользователю, ни поисковику.
Если задача не в том, чтобы «сделать SEO лучше вообще», а в том, чтобы убрать из обхода конкретные технические разделы, robots.txt — нормальный инструмент. Но только если понимать его ограничения: он управляет обходом, а не гарантирует удаление из индекса. Для уже проиндексированных URL часто нужен отдельный план: noindex, редирект или удаление страницы.
Что именно стоит закрывать в WordPress
Сначала полезно разделить URL на две группы: то, что должно индексироваться, и то, что нужно только для работы сайта. В robots.txt обычно закрывают не контент, а технические области, которые создают шум в отчётах и расходуют краулинговый бюджет.
Типовые кандидаты на закрытие
/wp-admin/— административная часть сайта;/wp-login.php— страница входа;/wp-json/— если у вас есть осознанная причина ограничить обход отдельных REST-эндпоинтов, но не закрывайте это вслепую;- служебные каталоги плагинов и тем, если они отдают публичные файлы без необходимости;
- параметры поиска, сортировки и фильтрации, если они создают дубли.
А вот закрывать в robots.txt CSS, JS и изображения обычно не стоит. Поисковику нужны ресурсы страницы, чтобы корректно её отрендерить и понять, как она выглядит. Если закрыть слишком много, можно получить проблемы с рендерингом и неверной оценкой страницы.
Диагностика: почему robots.txt работает не так, как ожидается
Перед правкой откройте текущий файл по адресу /robots.txt и проверьте, кто его формирует. В WordPress это может быть:
- виртуальный robots.txt, который отдаёт сам WordPress;
- физический файл в корне сайта;
- robots.txt, который переопределяет SEO-плагин или хостинг.
Если вы меняете файл, а в браузере видите старое содержимое, значит редактируете не тот источник или мешает кэш. Это частая причина, почему правки «не работают».
Ещё один важный момент: директива Disallow не удаляет URL из индекса мгновенно. Если страница уже известна поисковику, он может показывать её в выдаче без сниппета или с устаревшим описанием. Для таких случаев robots.txt — только часть решения.
Пошаговая настройка robots.txt без лишнего риска
Ниже — рабочий базовый вариант. Он не претендует на универсальность, но подходит для большинства обычных сайтов на WordPress, где нужно закрыть админку и служебные области, не ломая индексацию контента.
User-agent: *
Disallow: /wp-admin/
Disallow: /wp-login.php
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xmlЗдесь важно две вещи. Во-первых, Allow: /wp-admin/admin-ajax.php нужен, если тема или плагины используют AJAX-запросы на фронтенде. Во-вторых, строку Sitemap лучше указывать явно, чтобы поисковик быстрее находил карту сайта.
Если на сайте есть служебные URL с параметрами, которые создают дубли, можно закрыть только конкретные шаблоны. Например, для внутреннего поиска:
User-agent: *
Disallow: /?s=
Disallow: /search/
Disallow: /*?orderby=
Disallow: /*?filter=
Disallow: /wp-admin/
Disallow: /wp-login.php
Allow: /wp-admin/admin-ajax.php
Sitemap: https://example.com/sitemap_index.xmlНо не копируйте такие правила без проверки. Если у вас фильтры или сортировка используются как полноценные посадочные страницы, их закрытие навредит. Сначала посмотрите, какие URL реально индексируются и дают трафик.
Когда лучше править не robots.txt, а мета-robots
Если страница должна быть доступна пользователю, но не должна попадать в индекс, robots.txt — не лучший инструмент. В этом случае нужен noindex на самой странице. Так поисковик сможет зайти на URL, увидеть директиву и убрать страницу из индекса корректнее.
| Подход | Когда использовать | Минус |
|---|---|---|
| robots.txt | Закрыть обход технических разделов | Не удаляет уже проиндексированные URL |
| meta robots noindex | Скрыть страницу из индекса, но оставить доступной | Нужно, чтобы поисковик мог страницу обойти |
| Редирект 301 | Заменить ненужный URL на правильный | Подходит не для всех сценариев |
Для WordPress это особенно важно для архивов, страниц поиска и служебных таксономий. Если они должны открываться пользователю, но не индексироваться, закрывайте их через noindex в SEO-плагине или кодом, а не через robots.txt.
Пример: как задать robots.txt через код темы или плагина
Если физический файл не нужен, WordPress позволяет отдать содержимое robots.txt через фильтр robots_txt. Это удобно, когда вы хотите управлять правилами из кода и не зависеть от ручного редактирования файла на сервере.
add_filter('robots_txt', function ($output, $public) {
$lines = [];
$lines[] = 'User-agent: *';
$lines[] = 'Disallow: /wp-admin/';
$lines[] = 'Disallow: /wp-login.php';
$lines[] = 'Allow: /wp-admin/admin-ajax.php';
$lines[] = '';
$lines[] = 'Sitemap: ' . home_url('/sitemap_index.xml');
return implode("\n", $lines);
}, 10, 2);Такой вариант подходит, если вы ведёте сайт как проект с контролем изменений в Git и не хотите править корневые файлы вручную. Но если на сервере уже лежит физический robots.txt, он может иметь приоритет в зависимости от конфигурации. Это нужно проверить отдельно.
Проверка результата после внедрения
После правки не ограничивайтесь открытием файла в браузере. Проверьте три вещи:
- robots.txt отдаётся с нужным содержимым именно в рабочем домене;
- в нём нет случайных запретов на важные разделы и ресурсы;
- поисковик видит sitemap и не сообщает о критических ошибках обхода.
Минимальный чек-лист проверки:
- открыть
https://ваш-домен.ru/robots.txtи убедиться, что файл доступен без редирект-цепочек; - проверить, не закрыт ли
/wp-content/uploads/, если изображения должны индексироваться; - сравнить список заблокированных URL с тем, что реально есть в Search Console или Яндекс Вебмастере;
- посмотреть серверные логи или отчёты краулера, если нужно понять, продолжает ли бот ходить в закрытые разделы.
Если у вас есть доступ к Google Search Console, используйте проверку robots.txt и инспекцию конкретного URL. Для уже проиндексированных страниц полезно отдельно проверить, не нужен ли noindex или 301-редирект.
Частые ошибки и как их исправить
Закрыли слишком много
Самая неприятная ошибка — запретить доступ к CSS, JS, изображениям или важным публичным разделам. В результате поисковик видит страницу не так, как пользователь, и может ухудшить оценку качества. Исправление простое: уберите лишние Disallow и проверьте, что ресурсы фронтенда доступны.
Путают robots.txt и noindex
Если URL уже в индексе, robots.txt не всегда поможет быстро. Для удаления из выдачи нужен другой механизм. Не пытайтесь «вылечить» всё одной директивой — это частая причина, почему страница месяцами остаётся в поиске.
Редактируют не тот robots.txt
На WordPress-сайте может существовать и физический файл, и виртуальный вывод через плагин. Если изменения не видны, проверьте оба варианта и отключите кэш на время теста.
Забывают про sitemap
Если карта сайта не указана в robots.txt и SEO-плагин её не публикует корректно, поисковик может дольше находить новые страницы. Это не критическая ошибка, но лишняя задержка в индексации часто появляется именно из-за такой мелочи.
Практические советы по безопасности и производительности
robots.txt не защищает сайт от атак. Он не скрывает админку от злоумышленников и не заменяет ограничение доступа на уровне сервера. Поэтому не рассчитывайте, что Disallow: /wp-login.php решит вопрос безопасности.
Для производительности полезнее не закрывать всё подряд, а убрать из обхода только шумные технические URL. Чем меньше мусорных страниц бот обходит, тем меньше лишней нагрузки на сайт и серверные логи. Но это работает только тогда, когда правила составлены аккуратно.
Если на сайте много дублей, параметров и служебных страниц, имеет смысл дополнительно проверить SEO-настройки плагина. Например, в Clearfy Pro есть инструменты для чистки дублей и технической оптимизации, которые помогают не держать часть таких настроек вручную. Это не замена пониманию robots.txt, но удобный способ не расползаться по десятку мест конфигурации.
Главный принцип простой: robots.txt должен быть коротким, понятным и проверяемым. Если правило нельзя объяснить одной конкретной проблемой, скорее всего, оно лишнее.