wpfind.ru wordpress wpfind.ru

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

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

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

Где в WordPress обычно рождаются дубли

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

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

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

Если на сайте есть плагин SEO, часть настроек уже может быть доступна в интерфейсе. Но даже в этом случае полезно понимать, что именно он делает: ставит noindex, меняет canonical, закрывает URL в robots.txt или просто убирает ссылку из карты сайта. Это разные механики, и у них разный эффект.

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

Начинать лучше не с правок, а с проверки факта. Иначе легко закрыть то, что поисковик вообще не видел, и пропустить реальную проблему.

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

  1. В Google Search Console откройте отчёт по страницам и посмотрите, какие типы URL попадают в индекс: теги, архивы, параметры, вложения.
  2. Сравните site:domain.ru с реальной структурой сайта. Это не точный инструмент, но он быстро показывает мусорные шаблоны URL.
  3. Проверьте исходный код проблемной страницы: есть ли meta robots, какой canonical указан, не дублируется ли контент на похожем URL.
  4. Посмотрите серверные логи или хотя бы отчёты краулера, если он у вас есть: часто бот ходит по параметрам, которые создаёт тема или фильтр.

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

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

Универсального переключателя нет. Для каждого типа дубля лучше выбрать свой способ: где-то достаточно noindex, где-то нужен 301, а где-то — canonical и чистка внутренних ссылок.

1. Закройте служебные архивы, если они не нужны в поиске

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

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

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

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

2. Уберите дубли от параметров URL

Параметры сортировки, фильтрации и трекинга часто создают десятки URL с одинаковым контентом. В этом случае canonical должен указывать на чистую версию страницы, а сами параметризованные URL — не попадать в карту сайта и не индексироваться.

Если параметр не нужен для SEO, можно принудительно нормализовать canonical:

add_filter('get_canonical_url', function ($canonical, $post) {
    if (is_singular() && !empty($_GET)) {
        $canonical = get_permalink($post);
    }
    return $canonical;
}, 10, 2);

Этот подход не решает всё сам по себе, но помогает, когда сторонний плагин или тема добавляют параметры в URL, а canonical остаётся «грязным».

3. Для вложений и медиа-страниц используйте редирект

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

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

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

4. Проверьте карту сайта и robots.txt

Закрыть страницу от индексации недостаточно, если она продолжает попадать в sitemap. Поисковик всё равно будет регулярно её обходить. Поэтому после настройки нужно проверить, что:

  • в sitemap нет архивов, которые вы закрыли;
  • robots.txt не блокирует то, что должно быть доступно для обхода при noindex;
  • canonical указывает на основную версию URL;
  • внутренние ссылки не ведут массово на закрытые страницы.

Важно: если вы закрываете страницу через noindex, не блокируйте её в robots.txt до того, как поисковик увидит мета-тег. Иначе бот может не прочитать директиву на самой странице.

Сравнение подходов: noindex, canonical, 301

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

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

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

После изменений не ограничивайтесь «страница открывается». Нужно проверить именно SEO-логику.

Чек-лист проверки

  • в HTML проблемной страницы есть нужная директива noindex или корректный canonical;
  • в sitemap отсутствуют закрытые URL;
  • страница не возвращает 404 и не уходит в бесконечный редирект;
  • внутренние ссылки ведут на чистые URL без параметров;
  • в Search Console новые настройки не вызвали всплеск ошибок сканирования;
  • через несколько обходов бот перестал массово индексировать дубль-страницы.

Для быстрой технической проверки откройте исходный код и найдите:

<meta name="robots" content="noindex,follow">
<link rel="canonical" href="https://example.com/">

Если canonical указывает на другой адрес, чем вы ожидали, значит где-то вмешивается тема, SEO-плагин или фильтр. Это нужно разбирать отдельно, а не надеяться, что поисковик «сам поймёт».

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

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

Так делают часто, когда хотят «быстро убрать из индекса». Проблема в том, что поисковик может не увидеть директиву на самой странице и продолжит держать URL в базе как известный, но недоступный. Если цель — убрать страницу из индекса, сначала используйте noindex, а блокировку в robots.txt применяйте только там, где это действительно нужно.

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

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

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

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

Не учли пагинацию

Иногда закрывают только первую страницу архива, а /page/2/ и дальше остаются индексируемыми. Проверяйте весь шаблон URL, а не один пример.

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

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

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

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

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

×

Время действовать!

Суперцены на
WordPress!

-20%
на премиум темы

Не упусти шанс ⋙