Как отключить дубли контента в WordPress от тегов, архивов и вложений

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

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

Что именно даёт дубли в WordPress

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

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

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

Диагностика: что закрывать, а что оставить

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

Проверка через поисковую выдачу и карту сайта

Сначала посмотрите, какие архивы уже доступны поисковикам. Для этого достаточно:

  • проверить результаты по запросам вида site:example.ru tag, site:example.ru /author/, site:example.ru /attachment/;
  • открыть XML-карту сайта и понять, попадают ли туда архивы тегов и авторов;
  • сравнить количество полезных страниц и количество служебных URL в индексе.

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

Пошаговое решение без поломки навигации

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

ПодходКогда подходитМинус
SEO-плагинНужно быстро закрыть архивы и управлять meta robotsНе всегда удобно для точечной логики
Код в теме или mu-pluginНужна точная настройка без лишних интерфейсовТребует аккуратного тестирования после обновлений
КомбинацияЧасть архивов закрывается глобально, часть — выборочноНужно следить, чтобы правила не конфликтовали

1. Закройте ненужные архивы через robots meta

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

Если нужен кодовый вариант, можно добавить фильтр в functions.php дочерней темы или в отдельный mu-plugin. Пример ниже отключает индексацию архивов тегов, дат и вложений, но не трогает рубрики и записи:

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

    return $robots;
} );

Этот вариант работает на современных версиях WordPress, где используется фильтр wp_robots. Он не удаляет страницы физически, а только меняет поведение для поисковиков.

2. Отключите страницы вложений и сделайте редирект на файл или запись

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

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

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

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

3. Уберите лишние архивы из меню, карты сайта и внутренних ссылок

Если архив не нужен в индексе, но ссылка на него висит в меню, футере или блоке «облако тегов», вы продолжаете подталкивать поисковик к этим URL. Поэтому после настройки индексации проверьте шаблоны темы и виджеты.

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

Как проверить, что решение сработало

Проверка должна быть не визуальной, а технической. Откройте несколько проблемных URL и убедитесь, что они отдают нужные директивы и код ответа.

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

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

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

curl -I https://example.ru/tag/sample/
curl -I https://example.ru/2024/01/
curl -I https://example.ru/sample-image/

Для страниц с редиректом смотрите, что ответ действительно 301, а не 302 или цепочка из нескольких переходов.

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

Закрыли архивы, но оставили их в sitemap

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

Поставили noindex на всё подряд

Иногда под фильтр попадают и полезные рубрики. Это уже ошибка архитектуры, потому что рубрики часто нужны как посадочные страницы. Проверяйте условия в коде: is_tag(), is_date(), is_attachment() — это не то же самое, что is_archive() в целом.

Редирект на главную вместо родительской записи

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

Удалили теги, но не почистили ссылки в контенте

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

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

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

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

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

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

Как отключить emoji-скрипты в WordPress и убрать лишние запросы с фронтенда
23.08.2026
Как отключить XML-sitemaps в WordPress и заменить их на настройки SEO-плагина
26.08.2026
Как отключить XML-RPC в WordPress без поломки сайта и интеграций
20.08.2026
Как закрыть дубли страниц авторов в WordPress через robots.txt и noindex
16.08.2026
Как закрыть от индексации страницы поиска в WordPress без поломки внутреннего поиска
23.08.2026