Как исправить дубли страниц в WordPress: canonical, noindex и пагинация

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

Ниже — рабочая схема: сначала находим источник дублей, потом решаем, что закрывать от индексации, что склеивать через rel=canonical, а что оставлять как отдельную страницу. Без лишней магии и без попытки «починить SEO» одной галочкой в плагине.

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

Симптомы обычно видны в Search Console и в логике самих URL. Часто в индексе всплывают:

  • страницы категорий и тегов с одинаковыми списками записей;
  • архивы автора и даты, которые дублируют основной контент сайта;
  • страницы пагинации вида /page/2/, /page/3/;
  • URL с параметрами сортировки, UTM и фильтрами;
  • версии с www и без, http и https, со слешем и без слеша — если редиректы настроены криво;
  • страницы вложений медиафайлов, которые повторяют заголовок и описание изображения.

Проверка начинается не с плагина, а с поиска повторов в индексе. В Search Console откройте отчёт по страницам и посмотрите, какие URL помечены как дубликат, Google выбрал другой канонический URL. Если таких страниц много, почти всегда есть системная причина, а не единичная ошибка.

Быстрая диагностика в браузере и через код

Откройте проблемную страницу и проверьте исходный код. На странице должен быть один явный canonical, а не несколько конфликтующих вариантов. Для WordPress это особенно важно, если тема или SEO-плагин добавляют свои теги поверх ядра.

<link rel="canonical" href="https://example.com/category/news/" />

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

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

Не все дубли нужно удалять из индекса. Иногда правильнее оставить страницу, но указать поисковику основную версию. Логика простая:

  • склеивать через canonical — если страницы нужны пользователю, но содержат почти одинаковый контент;
  • закрывать через noindex — если страница не несёт поисковой ценности;
  • редиректить 301 — если есть явный устаревший или ошибочный адрес;
  • оставлять в индексе — если страница реально уникальна и полезна.
ПодходКогда использоватьКомпромисс
canonicalПохожие страницы, фильтры, параметрыСтраница остаётся доступной, но не всегда ранжируется сама
noindexАрхивы, служебные страницы, тонкий контентСтраница может оставаться в обходе, но не в индексе
301 redirectСтарые URL, дубли со слешем/без, переездыНужен контроль цепочек редиректов

Пошаговое решение для WordPress

1. Уберите конфликтующие canonical

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

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

<?php
add_action('wp_head', function () {
    if (is_singular('post')) {
        echo '<link rel="canonical" href="' . esc_url(get_permalink()) . '" />' . "\n";
    }
}, 1);

Но если SEO-плагин уже управляет canonical, этот код не нужен. Дублирующий вывод — частая причина путаницы.

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

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

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

Этот вариант не ломает шаблон и работает на уровне мета-роботов. Для вложений часто дополнительно имеет смысл сделать 301-редирект на файл или на родительскую запись, если страница вложения вообще не нужна.

3. Приведите пагинацию к нормальной логике

Пагинация сама по себе не проблема. Ошибка начинается, когда страницы /page/2/ индексируются как самостоятельные посадочные и конкурируют с первой страницей архива. Для архивов обычно оставляют canonical на саму пагинированную страницу, а не на первую страницу списка. Это нормальная практика: у каждой страницы пагинации свой URL и свой набор записей.

Проблема возникает, если тема подменяет canonical на первую страницу или если в пагинации есть дубли из-за параметров. Проверьте, что ссылки в навигации формируются стандартно, без лишних query string.

4. Уберите дубли от параметров URL

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

Если параметр не должен влиять на содержимое, не давайте ему создавать отдельный индексируемый URL. В шаблоне можно нормализовать ссылку так:

<?php
$clean_url = remove_query_arg(array('utm_source', 'utm_medium', 'utm_campaign', 'sort'), home_url(add_query_arg(array())));
echo esc_url($clean_url);

Это не универсальное решение для всего сайта, но хороший пример того, как не плодить мусорные адреса в ссылках внутри темы.

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

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

Ниже — практическое сравнение:

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

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

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

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

  1. Откройте несколько типовых URL: запись, категорию, тег, архив автора, страницу пагинации.
  2. Посмотрите исходный код и убедитесь, что canonical один и он ведёт на нужную версию.
  3. Проверьте заголовок ответа и robots-мета, если вы ставили noindex.

Удобно проверить заголовки через curl:

curl -I https://example.com/category/news/

Ищите редиректы, статус 200 на нужной странице и отсутствие цепочек. Если страница должна быть закрыта, убедитесь, что она не отдаёт 301 на случайный адрес и не создаёт петлю.

В Search Console изменения обычно видны не сразу. Но если canonical и robots настроены правильно, новые URL начнут попадать в отчёты без хаотичных дублей, а старые варианты постепенно уйдут в статус альтернативных или исключённых.

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

  • Два canonical на одной странице. Обычно это конфликт темы и SEO-плагина. Оставьте один источник, второй отключите.
  • noindex на странице, которая должна ранжироваться. Часто так случайно закрывают категории или важные архивы. Проверьте шаблонные условия.
  • Редирект вместо canonical там, где нужен доступ к странице. Например, фильтр или пагинация не должны всегда вести на главную категорию.
  • Закрыли архивы, но оставили внутренние ссылки на них. Пользовательский путь не должен ломаться, даже если страница не индексируется.
  • Параметры URL продолжают плодиться. Значит, где-то в шаблоне или в плагине генерации ссылок остался неочищенный query string.

Что проверить отдельно для безопасности и производительности

Чистка дублей полезна не только для SEO. Чем меньше мусорных URL, тем проще логика кэша и тем меньше лишних обращений к серверу. Если у вас включён page cache, дубли с параметрами могут обходить кэш и создавать лишнюю нагрузку.

Отдельно проверьте:

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

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

Как отключить XML Sitemap в WordPress и заменить его своим вариантом
06.09.2026
Как исправить дубли страниц в WordPress: canonical, noindex и пагинация
28.08.2026
Как закрыть от индексации технические страницы WordPress: архивы, теги, авторы и служебные URL
03.09.2026
Как отключить XML-RPC в WordPress без поломки синхронизации и внешних сервисов
10.09.2026
Как закрыть от индексации внутренний поиск WordPress и убрать мусорные страницы
31.08.2026
×

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

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

пишет статьи

готовит SEO

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

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