Если у одной и той же страницы в WordPress есть несколько похожих URL, поисковик может воспринимать их как дубли. Это часто случается из-за параметров в адресе, пагинации, архивов, UTM-меток, сортировок, страниц с тегами или фильтрами. В таких случаях помогает canonical: он подсказывает поисковой системе, какой URL считать основным.
Для владельца сайта задача обычно не в том, чтобы «закрыть всё лишнее», а в том, чтобы аккуратно указать предпочтительную версию страницы и не ломать индексацию. В WordPress это можно сделать через SEO-плагин или вручную в теме, если нужен точечный контроль.
Когда canonical действительно нужен
Canonical полезен не для любой страницы, а там, где есть несколько адресов с одинаковым или почти одинаковым содержимым. Типичные случаи:
- страница доступна с параметрами в URL, например после перехода из рекламы или аналитики;
- один и тот же контент открывается в разных разделах архива;
- есть пагинация, а поисковику нужно показать основную страницу серии;
- товар, запись или страница доступны через несколько путей навигации;
- сайт использует фильтры, сортировки, метки или служебные параметры.
Canonical не заменяет нормальную структуру сайта. Если у вас десятки дублей из-за неправильных ссылок, сначала стоит исправить причину, а уже потом ставить канонические URL. Иначе поисковик получит сигнал, но пользователи и роботы всё равно будут ходить по лишним адресам.
Как работает canonical в WordPress
В HTML-странице canonical обычно выглядит как тег в секции <head>:
<link rel="canonical" href="https://example.com/osnovnaya-stranica/" />
Этот тег не запрещает индексацию дубля напрямую. Он сообщает поисковой системе: если найдено несколько похожих страниц, основная версия находится по указанному адресу. Для поисковика это рекомендация, а не жесткая команда, поэтому canonical должен быть логичным и согласованным с внутренними ссылками, редиректами и содержимым страницы.
В WordPress canonical часто уже добавляется автоматически. Вопрос обычно не в том, как включить его с нуля, а как проверить, не мешает ли тема или плагин, и как задать свой canonical там, где автоматический вариант не подходит.
Самый простой способ: SEO-плагин
Если сайт уже использует SEO-плагин, это обычно самый безопасный путь. Большинство таких плагинов умеют задавать canonical для записи, страницы, рубрики или произвольного типа записи без правки шаблонов.
Логика везде похожа:
- откройте нужную запись, страницу или архив в админке WordPress;
- найдите блок SEO-настроек плагина;
- проверьте поле canonical URL;
- если нужно, укажите основной адрес страницы вручную;
- сохраните изменения и очистите кэш, если он используется.
Такой вариант удобен, когда canonical нужен точечно: например, для страницы, которая доступна по нескольким адресам, или для материала, который должен ссылаться на более полную версию на другом URL.
Если на сайте уже стоит SEO-плагин, не добавляйте второй инструмент для canonical поверх первого. Два разных источника тега rel="canonical" в одной странице — частая причина ошибок. В итоге в коде может оказаться сразу несколько canonical, а поисковик выберет не тот, который вы ожидали.
Как задать canonical вручную в теме WordPress
Ручная настройка нужна, если вы не используете SEO-плагин или хотите переопределить canonical только на конкретном шаблоне. Делать это лучше в дочерней теме, чтобы обновление основной темы не затёрло изменения.
Перед правкой шаблона сделайте резервную копию файлов темы. Ошибка в header.php или подключаемом шаблоне может сломать вывод страниц.
Если в теме canonical ещё не выводится, его можно добавить в <head> через хук wp_head. Для этого в functions.php дочерней темы добавляют код, который выводит нужный URL:
add_action( 'wp_head', function () {
if ( is_singular() ) {
echo '<link rel="canonical" href="' . esc_url( get_permalink() ) . '" />' . "\n";
}
}, 1 );Этот пример подходит для простого случая, когда canonical должен совпадать с постоянной ссылкой записи или страницы. Но если у вас уже работает SEO-плагин, такой код добавлять не нужно: он создаст дублирующий тег.
Для более сложных сценариев, например когда canonical должен указывать на другой URL, логику нужно строить отдельно под конкретный шаблон или тип записи. Здесь важно не подменять canonical редиректом: если страницы действительно должны открываться по разным адресам для пользователя, canonical остается подсказкой для поисковика, а не способом спрятать контент.
Что делать с дублями от параметров, пагинации и архивов
На практике canonical чаще всего нужен не для одиночной записи, а для страниц, которые получают дополнительные параметры. Например, URL с ?utm_source=... или ?sort=... не должен становиться отдельной основной страницей в индексе.
Здесь полезно придерживаться простого правила: канонический адрес должен быть чистым, без технических параметров, если они не меняют смысл страницы для поиска. Для большинства маркетинговых меток и служебных параметров это именно так.
С пагинацией ситуация тоньше. Если у вас серия страниц архива, canonical обычно указывает на саму текущую страницу пагинации, а не на первую страницу списка. Иначе поисковик может начать игнорировать содержимое второй, третьей и следующих страниц. Поэтому не стоит механически ставить canonical на первую страницу там, где есть полноценная пагинация с разным содержимым.
Для архивов рубрик, меток и авторов canonical обычно должен вести на сам архивный URL без лишних параметров. Если архивы создают слишком много слабых страниц, проблему лучше решать структурой сайта и настройками индексации, а не только canonical.
Как проверить, что canonical работает правильно
После настройки не полагайтесь на визуальную проверку страницы в браузере. Нужно посмотреть исходный код и убедиться, что тег действительно выводится один раз и содержит нужный адрес.
Проверка простая:
- откройте страницу в браузере;
- посмотрите исходный код страницы;
- найдите строку с
rel="canonical"; - сравните URL в теге с тем адресом, который вы считаете основным;
- убедитесь, что canonical не дублируется SEO-плагином и темой одновременно.
Если сайт использует кэш, после изменения очистите его на стороне WordPress, хостинга и CDN, если он есть. Иначе вы можете проверять старую версию HTML и решить, что настройка не сработала.
Дополнительно полезно открыть несколько вариантов одного и того же адреса: с параметрами, без параметров, с www и без www, со слешем и без него. В идеале canonical должен указывать на одну и ту же основную версию, а редиректы — вести туда же, если они настроены.
Типичные ошибки при настройке canonical
Самая частая ошибка — указать в canonical адрес, который сам редиректит на другой URL. Это лишний сигнал и для поисковика, и для диагностики. Канонический адрес должен быть конечным и доступным без цепочки перенаправлений.
Вторая ошибка — ставить canonical на нерелевантную страницу, например на главную или на первую запись блога только потому, что так «проще». Если содержимое отличается, поисковик может проигнорировать такую подсказку.
Третья проблема — несколько canonical в одном документе. Это бывает, когда тема уже выводит тег, а пользователь добавляет его вручную или через плагин. В HTML должен быть один основной canonical на страницу.
Четвертая ошибка — пытаться canonical-ом решить то, что лучше решается редиректом. Если у страницы есть явный дубль, который не нужен пользователю, 301-редирект часто полезнее. Canonical оставляют там, где обе версии могут существовать, но основная для поиска должна быть одна.
Когда лучше не ограничиваться canonical
Canonical хорошо работает как сигнал для поисковиков, но он не исправляет плохую архитектуру сайта. Если у вас дубли появляются из-за неправильных внутренних ссылок, лишних архивов, одинаковых страниц категорий и тегов или хаотичных параметров в URL, стоит сначала навести порядок в самих адресах.
В WordPress обычно разумно сочетать несколько мер: чистые постоянные ссылки, корректные редиректы, один источник canonical и аккуратную структуру архивов. Тогда поисковику проще понять, какая версия страницы основная, а пользователю проще не попадать на лишние адреса.
Если нужен инструмент, который помогает управлять SEO-настройками WordPress и уменьшать количество технических дублей, можно посмотреть Clearfy Pro. Но сам принцип остается тем же: canonical должен быть один, логичный и соответствовать реальной основной версии страницы.