Как закрыть дубли страниц от индексации в WordPress

В WordPress дубли чаще всего появляются не из-за «плохого SEO», а из-за штатной логики CMS: архивы рубрик, теги, страницы авторов, пагинация, вложения медиа, результаты поиска и технические URL. Если их не контролировать, поисковик тратит краулинговый бюджет на мусорные страницы, а в индексе остаются не те версии контента, которые вы хотите продвигать.

Ниже — рабочий сценарий: сначала находим, какие типы дублей реально есть на сайте, потом закрываем лишнее от индексации без поломки навигации и внутренней перелинковки.

Какие дубли в WordPress встречаются чаще всего

Типовая ошибка — пытаться закрыть всё подряд через noindex или удалять архивы насовсем. Так можно случайно убрать полезные посадочные страницы. Сначала нужно понять, что именно у вас дублируется.

Что обычно индексируется лишним

  • страницы тегов, если они дублируют рубрики или почти пустые;
  • архивы авторов на сайте с одним автором;
  • страницы вложений медиафайлов;
  • страницы пагинации архивов, если они не несут самостоятельной ценности;
  • внутренний поиск WordPress;
  • служебные страницы вроде /feed/, /trackback/, /embed/ в зависимости от темы и плагинов.

Как быстро диагностировать проблему

Начните с поиска в Google и проверки индексации. Это не заменяет полноценный аудит, но быстро показывает масштаб.

site:example.com inurl:tag/
site:example.com inurl:author/
site:example.com inurl:?s=

Если в выдаче много страниц, которые не должны ранжироваться, значит, проблема не в одном URL, а в шаблоне генерации страниц.

В Search Console полезно открыть отчёт по страницам и посмотреть, какие URL попадают в индекс без явной пользы: теги, архивы, параметры, вложения. Если на сайте есть доступ к логам сервера, можно дополнительно проверить, как часто бот ходит по этим адресам.

Пошаговое решение: что закрывать, а что оставить

Лучше идти по типам страниц, а не по принципу «всё noindex». Для каждого типа нужен свой ответ: оставить в индексе, закрыть от индексации или убрать совсем.

1. Закройте страницы вложений

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

Если используете Yoast SEO, Rank Math или аналог, у них есть штатная настройка редиректа attachment-страниц. Если делаете кодом, можно перенаправлять вложения на родительский пост:

add_action('template_redirect', function () {
    if (is_attachment()) {
        $parent = wp_get_post_parent_id(get_the_ID());
        if ($parent) {
            wp_redirect(get_permalink($parent), 301);
            exit;
        }

        wp_redirect(home_url('/'), 301);
        exit;
    }
});

Это не «магическое SEO-улучшение», а способ убрать бесполезные страницы из индекса и не плодить дубли.

2. Ограничьте индексацию архивов тегов и авторов

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

Вариант через SEO-плагин обычно проще и безопаснее: там можно задать noindex для тегов, авторов и архивов дат. Если нужен код, можно добавить мета-тег на уровне шаблона:

add_action('wp_head', function () {
    if (is_tag() || is_author() || is_search()) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
});

Этот вариант рабочий, но у него есть минус: он не управляет canonical и не заменяет полноценную SEO-настройку. Если сайт уже использует SEO-плагин, лучше не дублировать логику в теме.

3. Проверьте пагинацию архивов

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

Здесь важно не сломать обход сайта. Поисковик должен видеть ссылки на следующие страницы, даже если они не индексируются.

4. Настройте внутренний поиск

Страницы поиска WordPress почти всегда создают мусорные URL вида ?s=. Их обычно закрывают от индексации, потому что результаты поиска зависят от запроса пользователя и не являются стабильной посадочной страницей.

Если у вас кастомная тема, проверьте, не генерирует ли она отдельные шаблоны для поиска с индексируемым заголовком и canonical на саму себя. Это частая причина случайного попадания поисковых страниц в индекс.

Сравнение подходов: плагин, код или оба сразу

На практике лучше не смешивать несколько инструментов без необходимости. Иначе один плагин ставит canonical, второй — noindex, а третий ещё и редиректит URL. В итоге диагностика становится сложнее, чем сама проблема.

ПодходКогда подходитПлюсМинус
SEO-плагинНужно быстро закрыть теги, авторов, архивыМеньше риска сломать шаблонНе всегда хватает гибкости
Код в теме/плагинеНужна точечная логика для конкретного сайтаПолный контрольЛегко ошибиться и задублировать правила
Плагин + кодЕсть нестандартные типы страницМожно закрыть редкие кейсыНужна строгая проверка конфликтов

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

Как проверить, что решение сработало

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

  • откройте страницу в браузере и проверьте исходный код на наличие noindex или корректного canonical;
  • посмотрите HTTP-статус для attachment, поиска и архивов;
  • в Search Console отправьте URL на повторную проверку;
  • проверьте, исчезли ли лишние URL из отчёта по страницам;
  • сравните количество запросов бота к техническим страницам в логах до и после изменений.

Для быстрой проверки canonical можно использовать любой просмотр исходного кода или команду через curl:

curl -I https://example.com/sample-page/

Если вы делали редирект attachment-страниц, статус должен быть 301, а конечный URL — родительская запись или главная, в зависимости от вашей логики.

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

Ставят noindex на всё подряд

Так часто закрывают рубрики, которые реально собирают трафик. Исправление простое: сначала оцените, есть ли у страницы поисковый спрос и уникальный контент. Если есть — не закрывайте её только потому, что это архив.

Дублируют правила в плагине и в теме

Например, SEO-плагин уже ставит canonical, а в functions.php добавлен ещё один. В результате поисковик может увидеть конфликтующие сигналы. Оставьте один источник правды: либо плагин, либо свой код.

Закрывают страницу, но оставляют её в меню и внутренних ссылках

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

Удаляют архивы без редиректа

Если страница уже ранжировалась, удаление без 301-редиректа часто обнуляет накопленные сигналы. Лучше сначала настроить редирект на релевантную замену, а потом уже чистить шаблоны.

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

Любые изменения в индексации лучше вносить не прямо в активную тему, а через дочернюю тему или небольшой mu-plugin. Так вы не потеряете настройки после обновления.

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

Если сайт большой, полезно сначала закрывать самые шумные типы URL: поиск, вложения, пустые теги, авторские архивы. Это даёт более предсказуемый эффект, чем попытка сразу переписать всю SEO-структуру.

Когда дубли уже убраны, имеет смысл посмотреть на соседние задачи: нормализацию canonical, очистку старых редиректов и удаление лишних архивов, которые создают похожую проблему, но в другом месте шаблона.

Как отключить XML-RPC в WordPress и не сломать нужные интеграции
18.08.2026
Как отключить XML-RPC в WordPress и оставить нужные запросы
24.08.2026
Как закрыть старый PHP-код в WordPress после обновления темы или плагина
30.08.2026
Как закрыть дубли страниц от индексации в WordPress
14.08.2026
Как отключить XML Sitemap в WordPress и оставить свою карту сайта
06.09.2026