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

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

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

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

Сначала полезно понять, что именно вы хотите убрать. Не все «похожие» URL надо закрывать одинаково. Одни страницы лучше оставить доступными, но убрать из индекса. Другие — вообще не показывать поисковикам. Третьи — склеить каноникалами.

Типовые источники дублей

  • архивы тегов, если они дублируют рубрики или не несут самостоятельной ценности;
  • архивы авторов на сайтах с одним автором;
  • архивы по датам без редакционной пользы;
  • страницы вложений медиафайлов;
  • страницы поиска по сайту;
  • пагинация архивов, если она индексируется без нужды;
  • URL с параметрами сортировки, фильтров и UTM, если они создают отдельные страницы;
  • версии с ?replytocom и другие технические параметры.

Диагностика: как понять, что проблема именно в дублях

Не начинайте с массового noindex. Сначала посмотрите, какие URL реально попали в индекс и откуда они взялись. Для этого достаточно нескольких проверок.

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

  • отчёт «Страницы» в Google Search Console;
  • поиск по сайту через site:example.com и фильтрация по типам URL;
  • исходный код подозрительных страниц: есть ли canonical, noindex, robots;
  • логи краулера, если используете Screaming Frog или аналог;
  • список URL из sitemap.xml — не попали ли туда служебные страницы.

Если в индексе есть, например, /tag/, /author/ или /page/2/, это уже не абстрактная проблема, а конкретный набор шаблонов, который можно закрыть точечно.

Что лучше: noindex, canonical или robots.txt

У этих способов разная задача. Ошибка многих сайтов — закрыть всё через robots.txt, а потом удивляться, что поисковик продолжает держать URL в индексе по внешним ссылкам или не видит каноникал.

СпособКогда использоватьПлюсМинус
noindexСтраница должна открываться, но не индексироватьсяПростой и предсказуемый контрольНужно дождаться переобхода
canonicalЕсть дубли с близким содержимымПомогает склеить сигналыНе всегда убирает URL из индекса быстро
robots.txtНужно ограничить обход служебных путейСнижает нагрузку на краулингНе является способом удаления из индекса

Практически: для архивов и служебных страниц чаще нужен noindex, follow. Для параметров и технических URL — canonical или запрет обхода в robots.txt, если это действительно мусорный путь.

Пошаговое решение без лишнего риска

1. Отключите индексацию ненужных архивов в SEO-плагине

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

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

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

Если вы используете Clearfy Pro, там удобно отключать лишние архивы и служебные элементы без ручного кода. Но даже без плагина можно решить задачу на уровне темы или небольшого mu-plugin.

2. Добавьте noindex для отдельных шаблонов

Когда в админке нет нужной настройки, можно добавить мета-тег через wp_head. Ниже пример для страниц поиска, тегов и авторских архивов. Код лучше положить в мини-плагин или functions.php дочерней темы.

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

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

3. Закройте страницы вложений и пустые архивы

Страницы вложений часто создаются автоматически и почти никогда не нужны в индексе. Их можно перенаправить на сам файл или на родительскую запись. Для этого есть фильтр attachment_link и отдельная логика редиректов, но чаще проще использовать готовую настройку в SEO-плагине.

Если нужен редирект вложений на родительскую запись, проверьте, что у медиа есть post_parent. Иначе вы получите цепочки редиректов или возврат на главную.

<?php
add_action('template_redirect', function () {
    if (!is_attachment()) {
        return;
    }

    global $post;

    if (!empty($post->post_parent)) {
        wp_redirect(get_permalink($post->post_parent), 301);
        exit;
    }

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

4. Уберите мусорные URL из sitemap

Если страница закрыта от индексации, она не должна попадать в sitemap. Иначе вы сами отправляете поисковику противоречивые сигналы: «не индексируй» и одновременно «вот URL, который надо обойти».

Проверьте, что в карту сайта не попадают:

  • страницы поиска;
  • вложения;
  • служебные архивы;
  • страницы с параметрами;
  • черновики и приватные записи.

Если нужен точечный контроль через код

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

<?php
add_action('wp_head', function () {
    if (is_post_type_archive('internal_doc') || is_tax('internal_topic')) {
        echo '<meta name="robots" content="noindex,follow">' . "\n";
    }
}, 1);

Если нужно убрать архив из выдачи полностью, можно дополнительно отключить его из XML-карты сайта через фильтры конкретного SEO-плагина. Но тут важно не смешивать разные системы: у Yoast, Rank Math и других свои хуки, и копировать чужой пример без проверки нельзя.

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

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

Мини-чек-лист проверки

  • в исходном коде есть <meta name="robots" content="noindex,follow"> на нужных шаблонах;
  • каноникал указывает на правильный основной URL;
  • закрытые страницы исчезли из sitemap;
  • в Search Console статус меняется с «Проиндексировано» на «Исключено» или «Обнаружено, но не проиндексировано»;
  • нет массовых 404 после редиректов вложений и архивов;
  • основные посадочные страницы не потеряли внутренние ссылки.

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

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

Закрыли robots.txt вместо noindex

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

Поставили noindex на важные архивы

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

Оставили закрытую страницу в sitemap

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

Сделали редирект вложений на главную

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

Безопасность и производительность

Если закрываете дубли кодом, не вешайте логику на каждый запрос без необходимости. Для простых условий is_search(), is_tag() и is_author() это нормально, но сложные проверки лучше вынести в отдельный плагин или mu-plugin, чтобы не потерять их при смене темы.

Ещё один практический момент: не плодите несколько SEO-плагинов одновременно. Два плагина, которые оба управляют robots meta и canonical, легко создают конфликт. В итоге у страницы может быть два canonical или противоречивые директивы robots.

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

Когда лучше не закрывать страницу

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

  • имеет уникальный заголовок и текст;
  • получает переходы из поиска;
  • помогает пользователю быстро найти нужную подборку;
  • не дублирует основную рубрику один в один,

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

Самый надёжный порядок действий такой: сначала найти конкретный тип дубля, затем выбрать правильный способ закрытия, после этого проверить robots, canonical и sitemap. Если на каждом шаге всё прозрачно, индексация становится управляемой, а не случайной.

Как закрыть от индексации tag archive в WordPress без поломки SEO
18.08.2026
Как закрыть дубли страниц в WordPress от индексации
15.08.2026
Как отключить XML-RPC в WordPress без поломки подключений и мобильных приложений
22.08.2026