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

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

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

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

Если сайт на обычной теме и без жесткой SEO-дисциплины, почти всегда всплывает один из этих сценариев:

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

Не все из этого нужно закрывать одинаково. Иногда достаточно noindex, а иногда лучше вообще убрать генерацию лишних URL или настроить канонический адрес.

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

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

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

  • отчёт «Страницы» в Google Search Console;
  • поиск по сайту через site:example.com с разными типами URL;
  • архивы тегов, авторов, дат;
  • страницы с параметрами ?utm_, ?replytocom, ?amp, если они есть;
  • HTML-код страницы: есть ли <meta name="robots" и какой rel="canonical" указан.

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

Быстрая проверка через консоль

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

grep -E '\?|/tag/|/author/|/page/[0-9]+/' access.log | head -n 50

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

Какой способ закрытия выбрать: noindex, canonical или удаление

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

ПодходКогда использоватьПлюсМинус
noindex,followархивы, теги, авторы, служебные страницыбыстро и безопасноURL может ещё какое-то время обходиться
rel=canonicalпараметры, сортировки, альтернативные версиисохраняет ссылочные сигналыне всегда убирает дубль из индекса сразу
редирект 301явно лишние адреса, старые URL, вложенияжёстко убирает дубльнужно аккуратно не сломать входящий трафик

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

Пошаговое решение для типового сайта на WordPress

1. Закрываем архивы, которые не несут ценности

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

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

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

Этот вариант работает только если тема и плагины не переопределяют robots позднее. После внедрения обязательно проверьте исходный код страницы.

2. Убираем страницы вложений из индекса

Медиафайлы в WordPress часто создают отдельные attachment pages, которые почти никогда не нужны в поиске. Если на них нет уникального контента, лучше редиректить их на сам файл или на родительскую запись.

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

Если у вложения нет родителя, можно вести на главную медиафайла или на архив, но не оставлять пустую страницу в индексе.

3. Настраиваем canonical для параметров URL

Параметры вроде ?utm_source= обычно не должны создавать отдельные страницы. В большинстве случаев каноникал должен указывать на чистый URL без параметров.

Если у вас кастомная логика фильтров или сортировок, проверьте, не ломает ли она canonical. Иногда тема или плагин выводит канонический адрес с параметром, и поисковик начинает считать его отдельной версией.

<?php
add_filter( 'get_canonical_url', function( $canonical, $post ) {
    if ( is_singular() && ! empty( $canonical ) ) {
        return remove_query_arg( array( 'utm_source', 'utm_medium', 'utm_campaign', 'replytocom' ), $canonical );
    }
    return $canonical;
}, 10, 2 );

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

4. Отключаем лишние архивы, если они не нужны

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

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

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

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

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

Для быстрой проверки ответа сервера удобно использовать curl:

curl -I https://example.com/sample-post/
curl -I https://example.com/sample-post/?utm_source=test
curl -I https://example.com/image-attachment/

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

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

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

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

Исправление простое: сравните шаблоны robots meta на типовых страницах и восстановите индексацию там, где страница должна ранжироваться.

Используют canonical вместо реального решения

Каноникал не заменяет редирект, если у вас реально есть лишний URL, который не должен жить отдельно. Если оставлять мусорные адреса и надеяться только на canonical, они могут ещё долго обходиться ботом.

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

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

Не учитывают карту сайта

Если URL закрыт от индексации, но продолжает попадать в sitemap, вы посылаете поисковику противоречивые сигналы. Карта сайта должна содержать только те адреса, которые вы действительно хотите индексировать.

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

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

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

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

  • проверить, какие типы страниц реально нужны в индексе;
  • сверить robots meta на рубриках, тегах, авторах и записях;
  • убрать или редиректить attachment pages;
  • очистить canonical от параметров, если они не должны индексироваться;
  • обновить sitemap после изменений;
  • проверить 3–5 URL в Search Console через инспекцию страницы;
  • посмотреть, не появились ли ошибки 404 или лишние редиректы.

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

Как закрыть XML sitemap от индексации в WordPress без потери доступа для поисковиков
30.08.2026
Как закрыть дубли страниц от индексации в WordPress без поломки SEO
22.08.2026
Как отключить emoji в WordPress и убрать лишние скрипты из head
02.09.2026
Как закрыть от индексации строковые параметры в WordPress без поломки SEO
26.08.2026