WordPress Notes WPLicense

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

Если в Search Console растёт число страниц, а в индексе всплывают теги, архивы, страницы поиска и пагинация, проблема обычно не в «плохом SEO», а в том, что WordPress по умолчанию публикует слишком много технических URL. Их не всегда нужно удалять физически — чаще достаточно правильно закрыть от индексации, убрать лишние ссылки и не ломать каноникал.

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

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

На практике чаще всего индексируются не сами записи, а производные страницы:

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

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

Диагностика: где именно появляется дубль

Начинать лучше не с плагина, а с проверки того, что уже индексируется. Для этого подойдут отчёты Search Console, а также обычный поиск по сайту и выгрузка URL из краулера вроде Screaming Frog или Sitebulb.

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

  • раздел «Страницы» в Search Console: какие URL попадают в индекс без явной пользы;
  • тип URL: рубрика, метка, автор, поиск, архив, вложение;
  • наличие одинаковых title и description на разных URL;
  • канонический URL в исходном коде страницы;
  • есть ли внутренние ссылки на технические страницы.

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

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

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

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

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

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

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

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

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

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

Если нужно не только закрыть от индексации, но и убрать саму страницу автора на сайте с одним автором, можно сделать редирект на главную или на страницу «О сайте»:

<?php
add_action('template_redirect', function () {
    if (is_author() && (int) get_query_var('author') > 0) {
        wp_redirect(home_url('/'), 301);
        exit;
    }
});

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

Что делать с пагинацией архивов

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

Практичный подход такой:

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

Для точечной логики можно использовать условие is_paged():

<?php
add_filter('wp_robots', function ($robots) {
    if (is_archive() && is_paged()) {
        $robots['noindex'] = true;
        $robots['follow']  = true;
    }
    return $robots;
});

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

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

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

  1. Откройте проблемный URL в браузере и проверьте, что в <head> появился нужный robots-сигнал.
  2. Посмотрите канонический URL: он должен указывать на основную страницу, а не на дубль.
  3. В Search Console отправьте URL на повторную проверку, если страница уже была в индексе.
  4. Через несколько дней проверьте, исчез ли URL из отчёта о страницах с проблемами индексации.

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

Мини-чек-лист проверки

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

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

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

Так часто ломают рубрики, архивы записей и даже отдельные статьи, если фильтр написан слишком широко. Проверьте условия: is_archive() включает много типов архивов, а is_paged() сработает не только на метках.

Удаляют страницу, но не убирают внутренние ссылки

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

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

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

Смешивают редирект и noindex без логики

Если страница не нужна, обычно достаточно 301-редиректа. Если страница нужна пользователям, но не должна индексироваться, используйте noindex,follow. Одновременно применять всё подряд не имеет смысла.

Безопасность и производительность

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

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

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

×

AI-плагин

WPGPT
Сам создает статьи для вашего сайта WordPress

SEO и мета-теги

Парсинг конкурентов

Изображения

Комментарии

Подробнее