wpeasy.ru wordpress wpeasy.ru

Как убрать дубли archive-страниц WordPress без потери трафика

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

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

Когда архивы становятся проблемой

Сама по себе архивная страница не вредна. Проблема начинается, когда она:

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

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

Диагностика: какие archive-страницы реально лишние

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

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

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

Проверить это можно через поиск в Google с оператором site:, через отчёты Search Console и через сканирование сайта краулером. Если у вас уже есть SEO-плагин, посмотрите, какие архивы он отдаёт в sitemap и какие страницы помечены как index.

Быстрая проверка через код

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

<?php
$taxonomies = get_taxonomies(array('public' => true), 'objects');

foreach ($taxonomies as $taxonomy) {
    $terms = get_terms(array(
        'taxonomy'   => $taxonomy->name,
        'hide_empty' => false,
    ));

    if (is_wp_error($terms) || empty($terms)) {
        continue;
    }

    echo '<h3>' . esc_html($taxonomy->label) . '</h3>';
    echo '<ul>';

    foreach ($terms as $term) {
        echo '<li>' . esc_html($term->name) . ' — ' . esc_url(get_term_link($term)) . '</li>';
    }

    echo '</ul>';
}
?>

Этот код не решает проблему сам по себе, но помогает увидеть, сколько архивов реально существует и какие из них стоит пересмотреть.

Что закрывать, а что оставлять

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

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

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

Пошаговое решение через код

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

Добавляем noindex для архивов тегов и дат

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

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

    return $robots;
});

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

Убираем архивы из XML sitemap

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

Для собственного кода полезно хотя бы отключить архивы, которые точно не нужны:

<?php
add_filter('wp_sitemaps_taxonomies', function ($taxonomies) {
    unset($taxonomies['post_tag']);
    return $taxonomies;
});

Если у вас sitemap генерирует SEO-плагин, проверьте его настройки отдельно: ядро WordPress и плагин могут вести себя по-разному, и правка только в одном месте не всегда даёт ожидаемый результат.

Скрываем пустые архивы авторов

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

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

Если нужен быстрый путь через плагин

Когда задача типовая, проще использовать SEO-плагин или инструмент для чистки дублей. Важно не просто поставить галочку, а понять, что именно меняется: noindex, canonical, sitemap или всё сразу. Для архивов это критично, потому что разные плагины решают проблему по-разному.

Если вы используете Clearfy Pro, проверьте настройки, связанные с дублями, архивами и служебными страницами: это удобнее, чем вручную размазывать логику по functions.php. Но даже в этом случае нужно сверять итоговый HTML и sitemap, а не доверять только интерфейсу настроек. Подробности по продукту можно посмотреть на странице Clearfy Pro.

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

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

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

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

Для быстрой проверки robots-меток можно открыть исходный код страницы и найти строку вида:

<meta name="robots" content="noindex,follow" />

Если используете серверный фильтр wp_robots, это самый прямой способ убедиться, что правило сработало.

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

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

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

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

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

Отключили архив, но забыли про внутренние ссылки

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

Доверились только canonical

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

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

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

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

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

×
Прокачай свой сайт WordPress!

WordPress

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

Создай сайт своей мечты ⋙