Как закрыть дубли страниц в WordPress: noindex, canonical и чистка лишних URL

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

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

Что именно считать дублем и где WordPress чаще всего создает лишние URL

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

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

Отдельная история — дубли из-за неправильного canonical. Например, запись доступна по нескольким адресам, а в <link rel="canonical"> указывает на саму себя с параметрами или на неканонический вариант. Тогда поисковик может выбрать не тот URL, который вы ожидаете.

Диагностика: как быстро найти источник дублей

Начинать лучше не с правки кода, а с проверки реальных URL. Откройте несколько типовых страниц и посмотрите исходный HTML: есть ли canonical, не закрыты ли лишние архивы, не генерируются ли одинаковые title и description для разных страниц.

Проверка через Search Console и краулер

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

  • одинаковые title и H1 на разных URL;
  • страницы с параметрами, которые отдают 200 OK;
  • canonical, который указывает на другой URL или содержит параметры;
  • мета robots на страницах, которые должны быть закрыты.

Что смотреть в коде страницы

Минимум три вещи: статус ответа, canonical и robots. Если страница должна быть исключена из индекса, одного noindex мало, если она продолжает плодить внутренние ссылки и альтернативные URL. И наоборот: если страница полезна, но у нее есть параметры сортировки, лучше оставить индексируемой только чистую версию и указать canonical на нее.

<link rel="canonical" href="https://example.com/category/news/" />
<meta name="robots" content="noindex,follow" />

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

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

1. Закройте служебные страницы, которые не должны ранжироваться

К ним обычно относятся результаты поиска по сайту, служебные архивы, страницы с параметрами сортировки и фильтрации, если они не нужны для SEO. Для них безопаснее использовать noindex,follow, чтобы поисковик не индексировал страницу, но мог переходить по ссылкам дальше.

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

2. Для дублей контента ставьте canonical на основную страницу

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

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

<?php
add_action( 'wp_head', function () {
    if ( is_singular( 'post' ) ) {
        echo '<link rel="canonical" href="' . esc_url( get_permalink() ) . '" />' . "\n";
    }
}, 1 );

3. Уберите из индекса параметры, которые не меняют смысл страницы

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

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

Пример кода: закрываем поиск, архивы автора и страницы с параметрами

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

<?php
add_filter( 'wp_robots', function( array $robots ) {
    if ( is_search() || is_author() ) {
        $robots['noindex'] = true;
        $robots['follow']   = true;
    }

    if ( isset( $_GET['replytocom'] ) ) {
        $robots['noindex'] = true;
        $robots['nofollow'] = true;
    }

    return $robots;
} );

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

Сравнение подходов: плагин, код или ручная настройка

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

Если нужен более системный подход к чистке дублей и служебных страниц, можно посмотреть на Clearfy Pro: https://wpshop.ru/plugins/clearfy. Но даже с плагином полезно понимать, какие URL вы реально закрываете, иначе легко спрятать не то, что нужно.

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

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

  • Откройте закрытую страницу и убедитесь, что в исходнике есть noindex или нужный canonical.
  • Проверьте, что основная страница отдает канонический URL без параметров.
  • Прогоните сайт краулером и найдите страницы с одинаковыми title, H1 и description.
  • В Search Console отправьте на переобход несколько измененных URL и посмотрите, как Google их переосмыслил.
  • Если закрывали параметры, проверьте, что внутренние ссылки на них больше не генерируются.

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

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

Ставят noindex на полезную страницу вместо дубля

Такое часто происходит, когда закрывают все архивы подряд без разбора. В итоге из индекса исчезают страницы, которые реально приводили трафик. Исправление простое: сначала проверьте, какие архивы дают переходы и показы, и только потом закрывайте пустые или дублирующие разделы.

Canonical указывает на URL с параметрами

Это ломает склейку. Canonical должен вести на чистую версию страницы, иначе поисковик может считать параметризованный адрес основным. Проверьте шаблон вывода canonical и уберите из него query string, если он не нужен.

Закрыли URL в robots.txt, но дубли остались

robots.txt ограничивает обход, но не решает проблему канонизации и не убирает уже известные поисковику адреса. Если страница уже в индексе, одного запрета в robots.txt мало. Обычно нужно сочетать noindex, canonical и удаление внутренних ссылок.

Не убрали внутренние ссылки на параметры

Это частая причина, почему мусорные URL продолжают появляться. Сайт сам их генерирует в меню, фильтрах, хлебных крошках или блоках похожих материалов. Проверьте шаблоны темы и виджеты, особенно если они добавляют сортировку или UTM внутри сайта.

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

Чем больше лишних URL, тем больше бесполезной нагрузки на обход и тем сложнее поддерживать сайт. Но не стоит превращать чистку дублей в бесконечную ручную настройку.

  • Не правьте SEO-логику напрямую в родительской теме, если она обновляется. Лучше вынести изменения в дочернюю тему или мини-плагин.
  • Перед массовыми изменениями сделайте бэкап базы и файлов.
  • Если используете кэш, очистите его после смены canonical и robots, иначе в проверке увидите старую версию.
  • Не закрывайте от индексации все подряд архивы, если не проверили их трафик и ссылки.
  • Если сайт большой, сначала меняйте шаблоны для самых проблемных типов страниц, а не все сразу.

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

Как закрыть от индексации страницы поискового фильтра в WordPress
12.09.2026
Как закрыть дубли страниц в WordPress: noindex, canonical и чистка лишних URL
05.09.2026
Как скрыть от индексации страницы автора в WordPress без поломки архива и SEO-разметки
08.09.2026