В WordPress robots.txt часто правят «на глаз»: закрывают всё подряд или, наоборот, оставляют в индексе служебные страницы, которые не должны конкурировать с основным контентом. В итоге поисковик тратит краулинговый бюджет на архивы, параметры, feed-страницы и системные URL, а в отчётах появляются дубли и мусорные страницы.
Ниже — рабочий сценарий: что именно обычно закрывают, как это сделать без лишнего риска и как проверить, что robots.txt действительно отрабатывает так, как вы задумали.
Какие проблемы обычно видно в диагностике
Сначала стоит понять, что именно мешает индексации. robots.txt не лечит все SEO-проблемы, но помогает убрать из обхода очевидно лишние URL. Проверять нужно не только сам файл, но и то, какие страницы уже попали в индекс.
Типичные сигналы
- в поиске находятся
/wp-admin/,/wp-login.phpили служебные страницы; - в отчётах краулера много URL с параметрами
?replytocom=,?amp,?utm_и похожими хвостами; - поисковик тратит обход на feed-ленты, архивы автора, даты и внутренние служебные маршруты;
- в Search Console есть страницы, которые вы не хотите видеть в индексе, но они продолжают обходиться.
Важно: если страница уже в индексе, один robots.txt не гарантирует её исчезновение. Для этого часто нужен noindex на уровне страницы или заголовков, а иногда и очистка внутренних ссылок.
Что закрывать в robots.txt, а что не трогать
В WordPress обычно имеет смысл ограничить доступ к административным и техническим разделам, но не перекрывать важные публичные URL. Ошибка здесь одна из самых дорогих: закрыли лишнее — и поисковик перестал нормально обходить сайт.
| Подход | Когда подходит | Компромисс |
|---|---|---|
| Правка robots.txt | Нужно убрать из обхода служебные URL | Не удаляет уже проиндексированные страницы |
noindex на странице | Нужно убрать конкретную страницу из индекса | Страница должна быть доступна для обхода |
| Удаление внутренних ссылок | Нужно сократить появление мусорных URL | Требует правок темы, плагинов или контента |
Что обычно можно закрыть
/wp-admin/— административную часть;/wp-login.php— страницу входа;/wp-json/— только если вы точно понимаете последствия; чаще её не закрывают без необходимости;- служебные feed-URL, если они не нужны для вашей модели потребления контента;
- поисковые страницы сайта, если они создают мусорные дубли.
Не стоит бездумно закрывать /wp-content/uploads/, если изображения нужны в поиске, или весь /wp-content/ целиком. Это частая ошибка после копирования чужих robots.txt.
Пошаговая настройка robots.txt в WordPress
Самый безопасный путь — начать с минимального набора правил и проверить, как сайт выглядит для поискового робота. Если у вас уже есть виртуальный robots.txt, его можно переопределить через WordPress-фильтр.
Вариант через фильтр robots_txt
Добавьте код в дочернюю тему или в небольшой mu-plugin. Так вы не потеряете настройку после обновления темы.
add_filter('robots_txt', function ($output, $public) {
$lines = array();
$lines[] = 'User-agent: *';
$lines[] = 'Disallow: /wp-admin/';
$lines[] = 'Allow: /wp-admin/admin-ajax.php';
$lines[] = 'Disallow: /wp-login.php';
$lines[] = 'Disallow: /search/';
$lines[] = 'Disallow: /*?replytocom=';
return implode("\n", $lines) . "\n";
}, 10, 2);Этот пример не пытается «угадать» всё подряд. Он закрывает только то, что чаще всего создаёт технический шум. Если у вас другой формат поиска или другие служебные URL, список нужно адаптировать под конкретный сайт.
Если robots.txt лежит в корне сайта
На некоторых проектах файл ведут вручную в корне сайта. Это нормально, если вы понимаете, что WordPress не будет его генерировать. В таком случае содержимое может выглядеть так:
User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /search/
Disallow: /*?replytocom=
Sitemap: https://example.com/sitemap_index.xmlСсылку на sitemap лучше оставлять, если карта сайта у вас есть и она актуальна. Это помогает поисковику быстрее находить нужные URL после чистки технических страниц.
Как не сломать индексацию при закрытии параметров
Параметры URL — отдельная зона риска. Закрыть их в robots.txt проще всего, но не всегда это лучший вариант. Если параметр используется для навигации или формирования важного контента, блокировка может ухудшить обход страниц.
Когда нужен не robots.txt, а другой подход
- если параметр меняет сортировку, фильтр или выдачу и страница должна оставаться доступной;
- если дубли уже в индексе и их нужно убрать;
- если параметр нужен для работы фронтенда, а не для SEO.
В таких случаях лучше сначала убрать внутренние ссылки на мусорные URL, а затем при необходимости поставить noindex через SEO-плагин или серверный заголовок. robots.txt здесь — только часть решения.
Проверка результата после внедрения
После правки robots.txt не ограничивайтесь открытием файла в браузере. Нужно проверить и доступность, и реакцию поисковых систем.
- Откройте
/robots.txtв браузере и убедитесь, что отдается именно актуальная версия. - Проверьте, что sitemap указан корректно и ведёт на существующий файл.
- В Search Console используйте проверку URL для нескольких страниц: публичной, служебной и страницы с параметром.
- Посмотрите серверные логи или отчёт краулера: служебные URL должны обходиться реже.
Если у вас есть доступ к командной строке, можно быстро проверить ответ сервера:
curl -I https://example.com/robots.txt
curl https://example.com/robots.txtДля более точной проверки полезно сравнить, не закрыли ли вы случайно важные URL. Например, если после правки перестали индексироваться изображения или публичные архивы, значит правило слишком широкое.
Частые ошибки и как их исправить
Закрыли слишком много
Самая частая проблема — правило вида Disallow: / или слишком общий шаблон, который блокирует весь сайт. В результате поисковик видит только запрет и перестаёт обходить полезные страницы. Исправление простое: уберите широкое правило и оставьте только точечные запреты.
Ожидали удаления из индекса только через robots.txt
Если URL уже в поиске, robots.txt не всегда помогает быстро. Для удаления используйте noindex, удаление внутренних ссылок и, если нужно, инструмент удаления URL в панели для вебмастеров.
Смешали виртуальный и физический robots.txt
Иногда в корне лежит реальный файл, а WordPress или плагин пытается отдавать виртуальный. В итоге вы редактируете не тот источник. Проверьте, какой файл реально отдаётся сервером, и оставьте один способ управления.
Забыли про кеш
После изменения robots.txt старый вариант может продолжать отдаваться через кеш плагина, CDN или nginx. Если проверка показывает старое содержимое, очистите кеш на всех уровнях.
Практические советы по безопасности и производительности
robots.txt не защищает админку, он только подсказывает роботам, куда не ходить. Для безопасности этого недостаточно. Если цель — ограничить доступ к /wp-admin/ или /wp-login.php, используйте нормальную защиту на уровне сервера, сложные пароли, 2FA и ограничение попыток входа.
С точки зрения производительности полезно не только закрыть служебные URL, но и убрать внутренние ссылки на мусорные страницы. Чем меньше таких ссылок в шаблонах, виджетах и хлебных крошках, тем меньше шансов, что робот будет тратить обход на ненужные маршруты.
Если на сайте много технического мусора, имеет смысл проверить и другие источники дублей: архивы, теги, страницы автора, параметры поиска, пагинацию. Часто robots.txt решает только часть проблемы, а остальное остаётся в индексе из-за структуры темы или плагинов.
Для проектов, где нужна более системная чистка SEO-мусора и дублей, иногда удобнее использовать инструменты уровня Clearfy Pro, но даже в этом случае базовую логику robots.txt лучше понимать и проверять вручную.