wpbook.ru wordpress WP Book

Как найти и убрать дубли товаров и архивов в WordPress без потери SEO

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

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

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

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

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

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

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

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

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

На самом сайте можно быстро проверить несколько признаков:

  • одинаковый заголовок и H1 на разных URL;
  • одинаковый текст в архиве категории и в теге;
  • одинаковые карточки в разных архивах;
  • страницы пагинации, которые повторяют мета-теги первой страницы;
  • URL вида ?sort=, ?filter=, ?replytocom= или похожие служебные параметры.

Если у вас есть доступ к краулеру, проверьте, сколько страниц отдают одинаковый title, description и canonical. Это быстрее всего показывает, где WordPress генерирует лишние версии.

Что лучше: закрыть, склеить или удалить источник дубля

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

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

Пошаговое решение: убираем дубли на уровне WordPress

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

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

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

    return $robots;
});

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

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

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

add_filter('attachment_link', function ($link, $post_id) {
    $parent_id = wp_get_post_parent_id($post_id);

    if ($parent_id) {
        return get_permalink($parent_id);
    }

    return wp_get_attachment_url($post_id);
}, 10, 2);

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

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

Если дубли появляются из-за сортировки, фильтров или UTM, важно не плодить отдельные индексируемые версии. Для таких страниц обычно нужен canonical на чистый URL. Пример для фронтенда:

add_action('wp_head', function () {
    if (is_admin()) {
        return;
    }

    if (!empty($_GET)) {
        $canonical = home_url(add_query_arg(array(), $GLOBALS['wp']->request));
        echo '<link rel="canonical" href="' . esc_url($canonical) . '" />' . "\n";
    }
}, 1);

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

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

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

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

5. Уберите ненужные архивы автора и даты

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

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

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

Проверка должна быть не только визуальной. После изменений откройте несколько URL и проверьте три вещи: код ответа, canonical и robots.

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

Если используете Search Console, не ждите мгновенного эффекта. Сначала проверьте, что новые правила реально попали в HTML. Затем отправьте на переобход важные страницы и посмотрите, как меняется отчёт по исключённым URL.

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

Ставят noindex на всё подряд

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

Каноникал указывает на главную страницу

Это грубая ошибка. Canonical должен вести на наиболее близкую по смыслу версию, а не на случайную «главную». Иначе поисковик может проигнорировать подсказку.

Оставляют в sitemap URL с параметрами

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

Удаляют архивы без проверки внутренних ссылок

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

Чек-лист перед публикацией изменений

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

Когда лучше не писать код, а использовать SEO-плагин

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

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

×

AI-плагин от WPShop.ru

анализирует конкурентов

пишет статьи

готовит SEO

генерирует изображения

и еще кое-что...
WPGPT
Плагин, который наполняет ваш сайт WordPress
Узнать больше