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

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

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

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

Проблема обычно не одна. На одном сайте могут одновременно индексироваться:

  • страницы вложений медиафайлов вида /image-name/;
  • архивы тегов, которые дублируют рубрики;
  • страницы поиска ?s=;
  • страницы пагинации архивов;
  • URL с параметрами ?utm_, ?replytocom=, ?amp и другими служебными хвостами;
  • авторские архивы на сайтах с одним автором;
  • страницы с одинаковым контентом на разных таксономиях.

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

Диагностика: где именно рождаются дубли

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

Проверьте индекс и сниппеты

В поиске используйте запросы вида site:example.com, site:example.com inurl:tag, site:example.com inurl:attachment, site:example.com inurl:?s=. Смотрите, какие типы страниц реально попали в выдачу. Если в индексе есть страницы вложений, поиск по тегам или служебные параметры, это уже повод для настройки.

Сравните канонические URL

Откройте несколько подозрительных страниц и проверьте исходный код. Важно понять, какой адрес WordPress считает основным. Ищите тег <link rel="canonical" ...>. Если каноникал указывает на не ту страницу или отсутствует, поисковик может индексировать дубли как отдельные документы.

Посмотрите, что отдает сервер и тема

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

Пошаговое решение: что закрывать в первую очередь

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

1. Закройте страницы вложений

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

Если хотите сделать это кодом, можно перенаправлять страницы вложений в template_redirect:

<?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;
        }

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

Такой вариант рабочий, если вам нужно именно перенаправление. Но если сайт уже использует SEO-плагин, проверьте, не делает ли он то же самое. Двойная логика редиректов — частая причина циклов.

2. Уберите из индекса служебные страницы поиска

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

Если нужен кодовый вариант, можно добавить noindex на поисковые страницы через wp_head:

<?php
add_action( 'wp_head', function () {
    if ( is_search() ) {
        echo '<meta name="robots" content="noindex,follow" />' . "\n";
    }
} );

Это не заменяет настройку SEO-плагина, но помогает, если вы не используете отдельное решение для мета-тегов.

3. Закройте теги, если они дублируют рубрики

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

Практический подход такой: оставьте в индексе только те теги, которые реально собирают отдельный поисковый спрос или помогают навигации. Остальные — noindex. В SEO-плагинах это обычно настраивается для таксономий отдельно.

4. Проверьте пагинацию архивов

Страницы /page/2/, /page/3/ и дальше не всегда нужно закрывать. Если архив большой и полезный, пагинация может быть нормальной частью сайта. Но если на второй и последующих страницах почти нет уникальной ценности, они часто становятся техническим шумом.

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

5. Нормализуйте параметры URL

Параметры вроде ?utm_source= полезны для аналитики, но создают альтернативные адреса одной и той же страницы. Обычно их не закрывают через robots.txt, потому что это не решает проблему каноникализации. Правильнее убедиться, что на странице стоит канонический URL без параметров.

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

Что выбрать: плагин, код или оба варианта

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

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

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

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

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

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

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

curl -I https://example.com/sample-attachment/
curl -I https://example.com/?s=test

Если вы ожидаете редирект, в ответе должен быть статус 301 и заголовок Location. Если ожидаете noindex, проверьте HTML-ответ, а не только заголовки.

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

Закрыли robots.txt вместо noindex

Это частая ошибка. Запрет в robots.txt не убирает URL из индекса, если он уже известен поисковику. Он просто ограничивает обход. Для дублей обычно нужен noindex или каноникал, а не только robots.

Поставили noindex на все архивы подряд

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

Сделали редирект вложений на главную без логики

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

Одновременно включили несколько SEO-решений

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

Не проверили старые URL после миграции

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

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

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

  • Не добавляйте редиректы на уровне PHP без необходимости, если это можно сделать в SEO-плагине или на сервере.
  • Не используйте одинаковые правила в нескольких местах: в теме, в mu-plugin и в плагине одновременно.
  • После правок очистите кеш страницы и, если есть, объектный кеш.
  • Проверяйте, не ломают ли редиректы RSS, REST API и служебные URL админки.

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

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

Как отключить XML-RPC в WordPress без поломки сайта
20.09.2026
Как закрыть дубли страниц от индексации в WordPress
16.09.2026