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

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

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

Когда canonical помогает, а когда нет

Canonical работает, когда у вас есть несколько URL с очень похожим или одинаковым содержимым, но нужна одна основная версия для индексации. Типичные случаи:

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

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

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

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

Как проверить, есть ли canonical в WordPress

В современных версиях WordPress canonical для записей, страниц и некоторых архивов выводится автоматически. Но на практике его часто переопределяют SEO-плагины, темы или кастомный код. Начать стоит с проверки исходного HTML страницы.

Откройте страницу в браузере, затем посмотрите исходный код и найдите строку вида:

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

Если тег есть, проверьте три вещи:

  • href указывает на нужный основной URL;
  • в canonical нет параметров, которые не должны индексироваться;
  • на странице не выводится несколько canonical одновременно.

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

Как задать canonical в WordPress вручную

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

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

Пример для одной конкретной страницы:

add_action( 'wp_head', function () {
    if ( is_page( 123 ) ) {
        echo '<link rel="canonical" href="https://example.com/osnovnaya-stranitsa/" />' . "\n";
    }
}, 1 );

Здесь 123 — ID страницы, а https://example.com/osnovnaya-stranitsa/ — адрес, который должен считаться основным. При необходимости условие можно заменить на is_single(), is_category() или другой подходящий шаблон условного тега WordPress.

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

Если canonical уже есть, но он указывает не туда

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

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

  • Настройки постоянных ссылок. Если структура URL менялась, старые адреса могли остаться в индексе и продолжать конкурировать с новыми.
  • Плагины SEO. У некоторых плагинов есть собственные настройки canonical для записей, таксономий и архивов. Иногда canonical можно отключить для отдельных типов страниц.
  • Тему и шаблоны. В кастомных темах canonical иногда выводят вручную, а затем ещё раз через плагин.
  • Фильтры и параметры URL. Если страница доступна с сортировкой, фильтрами или метками, canonical должен вести на чистую основную версию без лишних параметров.

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

Как убрать дубли страниц не только canonical, но и структурой сайта

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

Что обычно работает лучше, чем просто canonical:

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

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

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

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

Проверьте три вещи:

  1. На странице есть только один тег rel="canonical".
  2. Он ведёт на нужный URL без лишних параметров.
  3. Основная версия страницы открывается по этому адресу без редиректов на другой канонический путь.

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

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

Типичные ошибки при настройке canonical

Есть несколько ошибок, которые встречаются чаще всего и сводят настройку к нулю:

  • на странице выводится два canonical из-за конфликта темы и SEO-плагина;
  • canonical ведёт на URL с редиректом, а не на конечную страницу;
  • в canonical остаются UTM-метки и другие служебные параметры;
  • основная страница закрыта от индексации, но canonical указывает именно на неё;
  • редиректы и canonical настроены в разные стороны, из-за чего поисковик получает противоречивые сигналы.

Если коротко: canonical должен быть один, вести на живую основную страницу и совпадать с логикой редиректов и структуры сайта. Когда эти сигналы расходятся, поисковик чаще выбирает не то, что вы ожидали.

Если у вас уже есть SEO-плагин и нужно не только управлять canonical, но и чистить дубли на уровне сайта, удобно использовать инструменты, которые позволяют отключать лишние архивы, управлять мета-тегами и убирать технический шум. Например, для таких задач подходит Clearfy Pro: https://wpshop.ru/plugins/clearfy?utm_source=wpdirect.ru&utm_medium=article&utm_campaign=canonical-v-wordpress-ubrat-dubli-stranits

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

Как создать мультиязычный сайт на WordPress без плагинов
30.09.2026
Как настроить robots.txt для WordPress: что закрывать, а что не трогать
19.10.2026
Как ускорить WordPress без плагинов
11.11.2026
Использование WPCommunity для создания социальной сети на WordPress с уникальными функциями
03.10.2026
Как отключить RSS-ленты в WordPress и не сломать сайт
29.10.2026