wptavern.ru wordpress WPTavern

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

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

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

Что делает canonical URL и когда он нужен

Canonical URL — это адрес основной версии страницы, который указывается в HTML через тег link rel="canonical". Если у страницы есть несколько доступных URL, поисковик должен понимать, какой из них считать главным.

В WordPress canonical особенно полезен в таких случаях:

  • страница доступна с параметрами вроде ?utm_source=, ?sort=, ?filter=;
  • один и тот же контент открывается в архиве, категории и на отдельной странице;
  • есть пагинация: /page/2/, /page/3/;
  • материал доступен по нескольким адресам из-за настроек темы или плагина;
  • создаются похожие страницы, которые не должны конкурировать между собой в выдаче.

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

Сначала найдите источник дублей

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

Проверьте, как открывается одна и та же страница

Возьмите проблемный URL и откройте его в нескольких вариантах:

  • с www и без www;
  • с http и https;
  • со слэшем в конце и без него, если сервер это допускает;
  • с параметрами в адресе;
  • через архив, категорию или поиск по сайту.

Если контент одинаковый, а адреса разные, это уже кандидат на canonical или на редирект.

Посмотрите исходный код страницы

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

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

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

Как WordPress формирует canonical по умолчанию

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

Проблемы начинаются, когда:

  • тема выводит свой canonical и конфликтует с ядром или SEO-плагином;
  • SEO-плагин переопределяет canonical не так, как нужно;
  • шаблон страницы строит несколько вариантов одного и того же контента;
  • на сайте есть нестандартные архивы, фильтры или страницы с параметрами.

Если у вас установлен SEO-плагин, сначала проверьте его настройки. Часто canonical уже есть, но указывает не туда из-за шаблона, фильтра или ручной правки.

Как задать canonical URL в WordPress правильно

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

1. Оставить штатный canonical, если сайт обычный

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

  • тема не выводит дублирующий тег canonical вручную;
  • SEO-плагин не отключает canonical;
  • на странице нет двух или трёх одинаковых canonical в исходном коде.

Два canonical на одной странице — частая ошибка. Поисковики обычно игнорируют такой HTML или выбирают один из вариантов не так, как вы ожидаете.

2. Настроить canonical через SEO-плагин

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

Подход полезен, когда нужно:

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

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

3. Задать canonical вручную через фильтр

Этот вариант нужен, если стандартных настроек не хватает. В WordPress canonical можно изменить через фильтр rel_canonical. Пример ниже показывает, как подменить canonical для конкретной страницы.

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

add_filter( 'rel_canonical', function( $canonical ) {
    if ( is_page( 123 ) ) {
        return 'https://example.com/main-page/';
    }

    return $canonical;
} );

Здесь 123 — ID страницы, а https://example.com/main-page/ — адрес, который должен считаться основным. Такой подход подходит для точечных правок. Если вам нужно массово управлять canonical для разных типов страниц, лучше делать это аккуратно и отдельно для каждого сценария, а не одной общей заменой.

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

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

Пагинация

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

Например, у страницы /category/news/page/2/ canonical обычно должен быть именно на /category/news/page/2/, а не на /category/news/. Если ваш SEO-плагин или тема подменяет canonical на первую страницу, это стоит проверить.

Параметры URL

Параметры вроде ?utm_source=, ?sort=, ?filter= часто создают копии одной и той же страницы. Для маркетинговых меток canonical обычно должен вести на чистый URL без UTM-параметров. Это нормальная практика.

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

Архивы и похожие страницы

Архивы автора, даты, рубрик и тегов могут дублировать друг друга по смыслу, особенно если на сайте мало уникального текста в архивных шаблонах. Здесь canonical сам по себе не всегда решает проблему. Иногда лучше:

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

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

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

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

Редирект нужен, когда:

  • страница открывается по старому адресу;
  • есть версии с www и без www;
  • сайт доступен по http и https;
  • одна и та же страница существует в двух путях без необходимости сохранять обе;
  • параметр в URL не нужен пользователю и не несёт ценности.

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

Как проверить, что canonical работает

После настройки проверьте не только HTML, но и поведение сайта в целом.

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

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

Типичные ошибки, из-за которых canonical не помогает

Чаще всего проблема не в самом canonical, а в том, как его внедрили.

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

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

Когда стоит использовать дополнительные инструменты

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

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

×
Review
Добавь ценность своему сайту WordPress!
-15%

на Expert Review плагин WordPress

Порадуй свой сайт ⋙