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

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

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

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

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

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

  • архивы тегов, если они дублируют рубрики по смыслу;
  • страницы авторов на сайтах с одним автором;
  • служебные страницы поиска по сайту;
  • параметры в URL: ?utm_*, ?replytocom, сортировка, фильтры;
  • страницы пагинации, если они не несут самостоятельной ценности;
  • медиа-страницы вложений, которые повторяют контент записи;
  • версии страниц для печати, AMP или другие альтернативные представления, если они настроены без каноникализации.

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

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

Дальше откройте несколько спорных URL и сравните:

  • <title> и meta description;
  • rel="canonical";
  • наличие noindex в HTML или HTTP-заголовке;
  • ответ сервера: 200, 301, 404 или 410.

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

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

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

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

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

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

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

Пример для закрытия страниц поиска и вложений через код темы или мини-плагин:

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

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

2. Уберите медиа-страницы вложений в основной файл

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

<?php
add_action( 'template_redirect', function () {
    if ( is_attachment() ) {
        $parent_id = get_post_field( 'post_parent', get_the_ID() );

        if ( $parent_id ) {
            wp_safe_redirect( get_permalink( $parent_id ), 301 );
        } else {
            wp_safe_redirect( home_url( '/' ), 301 );
        }
        exit;
    }
} );

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

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

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

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

<?php
add_filter( 'get_canonical_url', function( $canonical, $post ) {
    if ( is_singular() ) {
        return get_permalink( $post );
    }

    return $canonical;
}, 10, 2 );

Этот фильтр не решает все проблемы с параметрами на архивных страницах, но помогает убрать лишние вариации у записей.

4. Настройте архивы рубрик и тегов

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

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

Если хотите решить это через плагин, а не код

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

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

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

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

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

Если используете командную строку, удобно проверить заголовки так:

curl -I https://example.com/sample-page/

В ответе ищите HTTP/2 301 или заголовки, связанные с robots, если они выставляются сервером. Для HTML-метатега этого будет недостаточно, поэтому дополнительно откройте страницу в браузере или через curl без -I.

Как понять, что всё сработало

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

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

Ставят noindex и одновременно закрывают URL в robots.txt

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

Делают редирект всех архивов на главную

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

Оставляют теги, но не чистят sitemap

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

Меняют canonical на всех страницах без анализа

Каноникал — не универсальная кнопка «исправить SEO». Если поставить его неправильно, можно склеить разные страницы в одну и потерять релевантность. Особенно осторожно работайте с архивами, пагинацией и фильтрами.

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

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

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

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

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

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