wp-lessons.ru wordpress WP-Lessons

Как найти и удалить дубли архивов авторов и таксономий в WordPress

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

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

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

Проблема обычно не в одном URL, а в наборе похожих страниц:

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

Если у вас есть архив автора /author/ivan/, рубрика /category/seo/ и метка /tag/seo/, а на всех трёх страницах выводится один и тот же набор материалов, это уже кандидат на чистку.

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

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

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

  • поиск по site:example.com author, site:example.com tag, site:example.com category;
  • отчёт «Страницы» в Google Search Console;
  • исходный код подозрительных архивов: есть ли rel="canonical" и не указывает ли он на саму же дубль-страницу;
  • HTTP-статус: не отдаются ли архивы как 200 OK, когда должны быть закрыты или перенаправлены.

Если у вас есть доступ к серверу, удобно быстро посмотреть заголовки:

curl -I https://example.com/author/ivan/

Ищите три вещи: статус, X-Robots-Tag и Link: <...>; rel="canonical", если он отдаётся заголовком. Но чаще canonical всё же находится в HTML.

Когда проблема действительно в дублях, а не в индексации

Если страница не индексируется, но продолжает появляться в отчётах как «Просканирована, но не проиндексирована», это не всегда дубль. Иногда причина в слабом контенте, а иногда — в том, что архив технически доступен, но поисковик не видит в нём ценности. В таком случае простое noindex может быть правильнее, чем редирект.

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

Логика простая: оставляем только те архивы, которые реально помогают навигации и имеют самостоятельную ценность. Остальное либо закрываем от индексации, либо перенаправляем на более сильную страницу.

Шаг 1. Определите, какие архивы нужны

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

ВариантКогда подходитКомпромисс
Оставить в индексеАрхив даёт уникальную навигацию и контентНужно следить за качеством и обновлением
noindex,followСтраница нужна пользователю, но не нужна в поискеURL остаётся доступным, но не ранжируется
301-редиректСтраница полностью дублирует другуюПотеря отдельного URL, зато чистая структура

Шаг 2. Закройте лишние архивы от индексации

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

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

    if ( is_tag() ) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }

    return $robots;
} );

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

Шаг 3. Уберите дубли через canonical

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

add_filter( 'get_canonical_url', function( $canonical, $post ) {
    if ( is_tag() ) {
        $term = get_queried_object();

        if ( $term instanceof WP_Term ) {
            $category = get_term_by( 'slug', $term->slug, 'category' );

            if ( $category && ! is_wp_error( $category ) ) {
                return get_term_link( $category );
            }
        }
    }

    return $canonical;
}, 10, 2 );

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

Шаг 4. Сделайте 301-редирект там, где дубль не нужен вообще

Если архив автора на сайте один и тот же для всех материалов, проще перенаправить его на страницу «О сайте» или на главную. Для этого можно использовать template_redirect.

add_action( 'template_redirect', function() {
    if ( is_author() ) {
        wp_redirect( home_url( '/' ), 301 );
        exit;
    }
} );

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

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

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

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

Техническая проверка через curl тоже полезна:

curl -I https://example.com/tag/seo/

Если вы закрывали архив через noindex, но страница всё ещё возвращает 200 OK, это нормально. Если делали редирект, должен быть именно 301 Moved Permanently и заголовок Location.

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

Ставят noindex и забывают про canonical

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

Редиректят всё подряд на главную

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

Закрывают важные рубрики

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

Путают дубли контента и дубли URL

Иногда проблема не в архиве, а в том, что одна и та же запись доступна по нескольким адресам: с www и без, с http и https, со слешем и без. Это уже задача редиректов на уровне домена и постоянных URL, а не архивов таксономий.

Безопасность и производительность: что учесть перед правками

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

  • сначала сделайте резервную копию базы и файлов;
  • не меняйте сразу все архивы — правьте по одному типу и проверяйте результат;
  • если сайт большой, не запускайте массовые редиректы без карты URL;
  • после изменений очистите кеш страницы и объектный кеш, если он есть;
  • не закрывайте от индексации всё подряд только ради «чистоты» отчётов.

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

Когда лучше не трогать архивы руками

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

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее