Как настроить robots.txt в WordPress для закрытия дублей и лишних страниц

На WordPress robots.txt часто правят «на глаз»: закрывают всё подряд, потом удивляются, почему поисковик не видит важные страницы или продолжает индексировать мусорные URL. На практике задача обычно проще: убрать из обхода служебные разделы, не трогая то, что должно ранжироваться.

Ниже разберём, какие строки действительно нужны, как понять, что у вас проблема именно в robots.txt, и как проверить результат после правки.

Когда robots.txt вообще нужен

Файл robots.txt не удаляет страницы из индекса сам по себе. Он только управляет обходом. Если страница уже попала в поиск, одна строка Disallow не гарантирует её исчезновение. Для этого нужны редирект, noindex или удаление контента.

В WordPress robots.txt полезен в трёх типовых случаях:

  • в индексе появляются служебные URL: /wp-admin/, /wp-login.php, /wp-json/, /xmlrpc.php;
  • поисковик тратит обход на архивы, которые не дают ценности: теги, авторы, дата-архивы, внутренний поиск;
  • нужно аккуратно закрыть дубли, но не сломать CSS, JS и изображения.

Диагностика: что именно у вас не так

Перед правкой проверьте, что проблема действительно в robots.txt, а не в мета-тегах, каноникалах или настройках темы.

Что смотреть в первую очередь

  • Откройте /robots.txt в браузере и убедитесь, что файл вообще отдается.
  • Проверьте, не закрыты ли папки с CSS и JS. Если в robots.txt есть слишком широкий Disallow: /wp-content/, это уже ошибка.
  • Посмотрите отчёт обхода в Google Search Console: если бот регулярно ходит в служебные URL, robots.txt может быть настроен слабо или конфликтовать с реальной структурой сайта.
  • Проверьте, не генерирует ли SEO-плагин свой robots.txt поверх вашего. В WordPress это частая причина неожиданных правил.

Типичные признаки неправильной настройки

  • в поиске есть страницы внутреннего поиска вида ?s=;
  • индексируются архивы автора на сайте с одним автором;
  • в отчётах видны дубли с параметрами;
  • после правки robots.txt пропадают стили или скрипты в тестах рендера.

Что закрывать, а что не трогать

Ниже — практичный набор правил для большинства обычных сайтов на WordPress. Он не универсален, но безопаснее, чем «закрыть всё лишнее».

ПодходЧто даётРиск
Править robots.txt вручнуюПолный контроль над правиламиЛегко ошибиться и закрыть нужные файлы
Использовать SEO-плагинУдобно для типовых сайтовПлагин может перезаписать правила
Комбинировать robots.txt и noindexЛучше для дублей и архивовНужно понимать, что именно закрываете

Обычно имеет смысл закрыть:

  • /wp-admin/ — кроме admin-ajax.php, если он нужен фронтенду;
  • /wp-login.php — как служебную точку входа;
  • внутренний поиск /?s=;
  • архивы, которые не несут ценности: теги, авторы, даты, если они пустые или дублируют основной контент;
  • технические параметры, если они создают мусорные URL и не нужны для обхода.

Не стоит закрывать:

  • /wp-content/uploads/ — там обычно лежат изображения;
  • /wp-includes/ целиком, если это мешает загрузке ресурсов;
  • CSS и JS, которые нужны для рендеринга страниц;
  • канонические страницы только потому, что они «похожи на дубли».

Пошаговое решение: как настроить robots.txt в WordPress

Если у вас нет отдельного физического файла robots.txt в корне, WordPress может отдавать виртуальный вариант. Но на практике удобнее создать свой файл в корне сайта и контролировать его явно.

Шаг 1. Создайте базовый robots.txt

Пример безопасной стартовой версии:

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /wp-login.php
Disallow: /search/
Disallow: /*?s=
Disallow: /*?replytocom=
Disallow: /tag/
Disallow: /author/
Disallow: /date/

Sitemap: https://example.com/sitemap_index.xml

Здесь важно не копировать правила вслепую. Например, если у вас на сайте авторские архивы нужны и они содержат уникальный контент, закрывать /author/ не нужно.

Шаг 2. Уберите дубли через SEO-плагин или настройки темы

Если проблема не только в обходе, но и в индексации архивов, robots.txt одного недостаточно. Для страниц, которые уже доступны по URL, лучше использовать noindex или отключение архивов в SEO-плагине. Это надёжнее, чем надеяться на Disallow.

Например, если у вас один автор и дата-архивы не нужны, их можно отключить в SEO-плагине, а не только закрыть в robots.txt. Тогда поисковик получит явный сигнал, а не догадку.

Шаг 3. Если нужен код, добавьте фильтр для robots.txt

Когда сайт управляется кодом или вы не хотите держать отдельный файл, можно использовать фильтр robots_txt. Это штатный механизм WordPress.

<?php
add_filter('robots_txt', function ($output, $public) {
    $lines = [
        'User-agent: *',
        'Disallow: /wp-admin/',
        'Allow: /wp-admin/admin-ajax.php',
        'Disallow: /wp-login.php',
        'Disallow: /*?s=',
        'Disallow: /*?replytocom=',
        'Sitemap: ' . home_url('/sitemap_index.xml'),
    ];

    return implode("\n", $lines) . "\n";
}, 10, 2);

Такой вариант удобен, если вы храните настройки в теме или в небольшом must-use плагине. Но не смешивайте одновременно физический robots.txt и генерацию через фильтр без необходимости: потом сложно понять, какой вариант реально отдается.

Проверка результата после внедрения

После правки не ограничивайтесь открытием файла в браузере. Нужно проверить, как его видит бот и не сломались ли ресурсы.

  • Откройте /robots.txt и убедитесь, что там нет лишних правил, закрывающих CSS/JS.
  • Проверьте URL в Google Search Console через инструмент проверки robots.txt, если он доступен в вашем аккаунте.
  • Посмотрите исходный код страниц и убедитесь, что важные ресурсы не заблокированы.
  • Проверьте, не появились ли ошибки обхода в логах сервера после изменения правил.

Если вы закрывали внутренний поиск или параметры, проверьте несколько URL вручную: /search/term/, ?s=test, ?replytocom=1. Они должны либо не обходиться, либо не создавать новых индексируемых дублей.

Частые ошибки и как их исправить

Закрыли слишком много

Самая частая ошибка — Disallow: / или слишком широкий запрет на папки с ресурсами. В результате поисковик не может нормально отрендерить страницу. Исправление простое: уберите широкое правило и проверьте доступ к CSS/JS.

Путают robots.txt и noindex

Если страница уже в индексе, robots.txt не всегда поможет. Для удаления из поиска нужен noindex, редирект или удаление страницы с корректным кодом ответа. Robots.txt — это про обход, а не про гарантированное удаление.

Оставили конфликт с SEO-плагином

Некоторые плагины умеют генерировать robots.txt сами. Если вы правите файл вручную, а плагин продолжает отдавать свои правила, результат будет непредсказуемым. Проверьте настройки плагина и отключите генерацию, если используете свой файл.

Закрыли архивы, которые нужны для навигации

На контентных сайтах архивы категорий и тегов иногда дают трафик. Если закрыть их без анализа, можно потерять полезные страницы. Сначала проверьте, есть ли у архива уникальный текст, входящий трафик и нормальная структура.

Практические советы по безопасности и производительности

Robots.txt не защищает сайт от атак. Он не скрывает админку и не заменяет ограничение доступа. Для /wp-admin/ и /wp-login.php нужны отдельные меры: сложные пароли, ограничение попыток входа, 2FA, при необходимости — защита на уровне сервера.

С точки зрения производительности robots.txt полезен только косвенно: он снижает лишний обход. Но если сайт генерирует много дублей из-за параметров, лучше решать причину на уровне URL, каноникалов и настроек плагинов. Для чистки дублей и технических мелочей в WordPress часто удобнее использовать инструменты вроде Clearfy Pro, если вам нужен именно набор типовых SEO- и cleanup-настроек, а не ручная сборка всего по частям.

Мини-чек-лист перед публикацией

  • robots.txt открывается по /robots.txt без 404;
  • не закрыты CSS и JS;
  • служебные URL закрыты точечно, а не «всё подряд»;
  • для уже индексируемых дублей добавлен noindex или редирект;
  • в sitemap указан актуальный адрес;
  • после правки проверены Search Console и исходный код страниц.

Если после изменений поисковик всё ещё видит мусорные URL, не расширяйте robots.txt дальше. Сначала найдите источник дублей: шаблон темы, параметры фильтрации, архивы таксономий или внутренний поиск. В WordPress это обычно решается не одним файлом, а связкой из robots.txt, canonical, noindex и нормальной структуры ссылок.

Как временно отключить WooCommerce без потери данных
21.05.2026
Как использовать WP-Cron для автоматического удаления неактивных пользователей в WordPress
03.05.2026
Автоматическое отключение товаров в WooCommerce при отсутствии на складе
27.06.2026
Как автоматически удалять товары из корзины WooCommerce после успешной оплаты
13.05.2026
Автоматическое отключение товаров в WooCommerce при отсутствии на складе
06.08.2026