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

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

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

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

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

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

Проверка начинается с поиска в поиске Google и в логике самого сайта. Полезно посмотреть, какие URL уже попали в индекс:

site:example.com intitle:tag
site:example.com inurl:author
site:example.com inurl:?replytocom
site:example.com inurl:/page/

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

Что считать дублем, а что нет

Не каждый похожий URL нужно закрывать. Например, пагинация рубрики часто нужна для обхода и может оставаться открытой, если у неё нормальный canonical и она не плодит тонкие страницы. А вот страницы поиска по сайту, внутренние фильтры и вложения изображений почти всегда лишние в индексе.

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

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

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

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

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

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

2. Закройте служебные страницы через robots meta

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

Пример для темы или мини-плагина:

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

    if ( is_author() && ! is_multi_author() ) {
        $robots['noindex'] = true;
        $robots['follow']   = true;
    }

    return $robots;
} );

Этот способ предпочтительнее, чем вручную вставлять мета-тег в шаблон, потому что он опирается на штатный фильтр WordPress wp_robots.

3. Настройте canonical для похожих URL

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

Пример: у вас есть страница рубрики и её версия с параметром сортировки. Канонический URL должен вести на чистую версию без параметра:

<?php
add_filter( 'get_canonical_url', function( $canonical, $post ) {
    if ( is_singular() && ! empty( $canonical ) ) {
        return $canonical;
    }

    if ( is_archive() ) {
        return remove_query_arg( array( 'orderby', 'filter', 'sort' ), home_url( add_query_arg( array(), $GLOBALS['wp']->request ) ) );
    }

    return $canonical;
}, 10, 2 );

Здесь важно не переусердствовать: canonical должен указывать на реально существующую и релевантную страницу, а не на случайный URL. Иначе поисковик просто проигнорирует его.

4. Уберите вложения изображений из индекса

Страницы вложений часто индексируются отдельно, хотя по сути это пустые страницы с картинкой. Для большинства сайтов это лишний шум. В WordPress можно перенаправлять attachment page на сам файл или на родительскую запись, если она есть.

<?php
add_action( 'template_redirect', function() {
    if ( is_attachment() ) {
        $parent = wp_get_post_parent_id( get_the_ID() );

        if ( $parent ) {
            wp_safe_redirect( get_permalink( $parent ), 301 );
            exit;
        }

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

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

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

Иногда проблема не в индексации, а в том, что WordPress или плагин создаёт лишние URL вообще без пользы. Тогда noindex — это костыль. Лучше убрать причину.

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

Например, если у вас в URL постоянно появляется ?replytocom, это часто связано с комментариями и их настройками. В таком случае лучше отключить источник параметра, а не просто закрывать его от индексации.

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

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

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

Быстрая проверка через curl:

curl -I https://example.com/sample-attachment/
curl -I https://example.com/category/news/?orderby=popular

Если вы закрывали страницу через robots meta, в ответе заголовка этого не будет — тогда смотрите HTML. Если делали редирект, в заголовках должен быть 301 Moved Permanently и новый Location.

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

Закрыли рубрики, но оставили теги

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

Поставили noindex, но не убрали страницу из sitemap

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

Сделали редирект на главную для всех дублей

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

Сломали пагинацию архивов

Иногда после жёсткой чистки архивы перестают листаться или canonical указывает только на первую страницу. Проверяйте, что страницы /page/2/, /page/3/ открываются корректно и не получают случайный редирект на первую страницу.

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

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

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

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

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

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