Как закрыть дубли страниц в WordPress через robots.txt и canonical

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

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

Как понять, что проблема именно в дублях

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

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

  • Страницы с одинаковым title и description, но разными адресами.
  • Архивы тегов, авторов, дат, если они не несут самостоятельной ценности.
  • Параметры сортировки, фильтров и трекинга в URL.
  • Версии страниц со слешем и без слеша, если сервер отвечает на обе.
  • Пагинацию архивов, когда в индекс попадают страницы /page/2/, /page/3/ без необходимости.

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

Что закрывать через robots.txt, а что — через canonical

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

СценарийЧто делатьКомментарий
Технические параметры, служебные URLЗакрыть в robots.txtЕсли эти адреса не должны сканироваться вообще
Дубли контента с нужной страницейПоставить canonicalПоисковик должен понимать основной URL
Архивы без ценностиУдалить из индекса через noindex или отключить генерациюЗависит от темы и SEO-логики сайта
Пагинация полезных архивовОставить доступной, но следить за canonicalНе закрывайте её без анализа

Если вы просто запретите обход в robots.txt, но не уберёте источник дубля, поисковик может продолжать держать URL в индексе. Поэтому для большинства контентных дублей правильнее сначала настроить canonical, а уже потом решать, нужно ли ограничивать обход.

Пошаговая схема для WordPress

1. Проверьте базовые настройки постоянных ссылок

Иногда дубли появляются из-за того, что сайт доступен по нескольким вариантам адреса. Убедитесь, что в Настройки → Постоянные ссылки выбран один формат, а сервер делает 301-редирект на единственную версию домена: с https, с нужным слешем и без лишних дублей.

Если у вас в .htaccess или конфигурации nginx уже есть правила редиректа, проверьте, что они не конфликтуют с плагинами SEO и кеширования. Два разных редиректа на один и тот же URL часто создают цепочку, которую потом сложно диагностировать.

2. Уберите из индекса служебные архивы

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

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

3. Настройте canonical на страницах, где есть альтернативные URL

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

Если canonical генерируется темой или плагином неправильно, можно переопределить его через фильтр wpseo_canonical в Yoast SEO или через аналогичный механизм другого SEO-плагина. Но сначала проверьте, не ломает ли canonical сама тема.

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

    if ( is_category() ) {
        $term = get_queried_object();
        if ( $term && ! is_wp_error( $term ) ) {
            return get_term_link( $term );
        }
    }

    return $canonical;
} );

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

4. Закройте параметрические URL

Параметры ?utm_, ?replytocom=, фильтры и сортировки часто плодят дубли. Для маркетинговых меток обычно достаточно canonical на чистую страницу. Для служебных параметров лучше вообще не допускать их индексации и обхода, если они не нужны поиску.

Если у вас есть формы комментариев, параметр replytocom иногда создаёт отдельные URL. В таких случаях полезно проверить, не генерирует ли тема лишние ссылки с этим параметром, и при необходимости отключить их на уровне шаблона или плагина.

Пример robots.txt для типового контентного сайта

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

User-agent: *
Disallow: /wp-admin/
Allow: /wp-admin/admin-ajax.php
Disallow: /?s=
Disallow: /*?replytocom=
Disallow: /*?utm_
Disallow: /*?fbclid=
Disallow: /*?gclid=

Sitemap: https://example.com/sitemap_index.xml

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

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

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

  • основная версия страницы отдаёт 200 OK;
  • дублированные адреса редиректят на канонический URL или получают корректный canonical;
  • в исходном коде страницы canonical совпадает с основным адресом;
  • robots.txt не блокирует важные страницы и ресурсы;
  • в поисковой консоли уменьшается число URL с пометкой о дублях или альтернативном canonical.

Полезно проверить заголовки ответа через curl. Это быстрее, чем щёлкать по сайту руками и гадать, какой редирект сработал.

curl -I https://example.com/page/
curl -I https://example.com/page?utm_source=test

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

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

Закрыли страницу в robots.txt, но не убрали её из индекса

Это типичная ошибка. Robots.txt не гарантирует удаление URL из выдачи. Если страница уже проиндексирована, поисковик может продолжать её показывать. В таком случае нужен либо редирект, либо noindex, либо canonical на основную страницу — в зависимости от задачи.

Поставили canonical на главную вместо релевантной страницы

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

Закрыли архивы, которые реально дают трафик

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

Смешали редиректы плагина и сервера

Когда часть правил работает в .htaccess, а часть — в плагине, легко получить цепочку из двух-трёх переходов. Это ухудшает скорость и усложняет диагностику. Лучше оставить редиректы в одном месте и документировать, что именно делает каждое правило.

Что делать, если дубли создаёт тема или плагин

Иногда источник проблемы не в SEO-настройках, а в шаблоне. Например, тема может выводить одинаковые карточки в нескольких архивах, а плагин — генерировать дополнительные страницы фильтров. В этом случае не стоит лечить симптом только через robots.txt.

Если проблема повторяется после обновлений, проверьте:

  • не создаёт ли плагин собственные архивы или таксономии;
  • не дублируются ли хлебные крошки и внутренние ссылки;
  • не добавляет ли тема лишние query string в URL;
  • не конфликтуют ли SEO-плагин и кеш-плагин при генерации canonical.

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

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

Чем больше лишних URL вы оставляете открытыми, тем больше обхода тратится на мусор. Это не всегда заметно на маленьком сайте, но на большом проекте с архивами, фильтрами и параметрами crawl budget уходит впустую. Поэтому техническая чистка — это не только про SEO, но и про нагрузку на сервер.

Не храните в robots.txt правила «на всякий случай» без понимания, что они делают. Через пару месяцев никто не вспомнит, почему был закрыт конкретный раздел, и можно случайно заблокировать нужный контент после редизайна. Лучше вести короткий список правил с пояснением: что закрыто, зачем и чем это подтверждено.

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

Как закрыть дубли страниц в WordPress через robots.txt и canonical
09.09.2026
×

AI-плагин

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

SEO и мета-теги

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

Изображения

Комментарии

Подробнее