Правильная настройка canonical URL — одна из важных задач SEO, направленная на предотвращение проблем с дублированием контента. Особенно в WordPress, где часто создаются страницы с похожим содержанием (архивы, пагинация, категории). В этой статье разберёмся, как грамотно настроить canonical ссылки с помощью популярного плагина YoastSEO, а также рассмотрим примеры кода и советы по дополнительной кастомизации.
Что такое canonical URL и зачем он нужен в WordPress
Canonical URL — это тег <link rel="canonical" href="URL" />, который указывает поисковым системам на предпочитаемую версию страницы. Это помогает избежать дублирования контента и распределить SEO-вес между дублями.
В WordPress проблемой часто становятся:
- Страницы с одинаковым контентом на разных URL (например, с параметрами сортировки или пагинации).
- Архивы, теги и категории, которые частично дублируют основной контент.
- Постоянные ссылки с разными URL из-за настроек.
Неправильная canonical может привести к тому, что поисковики запутаются и снизят рейтинг сайта.
Как YoastSEO автоматически обрабатывает canonical
YoastSEO по умолчанию устанавливает canonical ссылки для всех страниц и записей. Он динамически формирует URL с учётом типа страницы, чтобы минимизировать дубли.
Чтобы проверить, как настроен canonical, откройте любую страницу сайта и в исходном коде найдите тег <link rel="canonical">. Вы увидите, что YoastSEO проставил его автоматически.
Однако в некоторых случаях нужна ручная корректировка canonical, например, при нестандартных страницах или сложной структуре сайта.
Ручная настройка canonical в YoastSEO: когда и как
В админке WordPress для каждой записи или страницы в мета-боксе YoastSEO на вкладке "Продвинутые" можно задать свой canonical URL. Это полезно, если:
- Страница дублирует контент с другого URL.
- Нужно указать канонический URL на внешнюю страницу.
- Есть необходимость объединить SEO-вес нескольких похожих страниц.
Для массовой автоматизации или нестандартных условий можно использовать хуки YoastSEO.
Использование хука yoast_seo_canonical для изменения canonical программно
Допустим, вы хотите задать canonical для всех страниц категории "Новости" на главную страницу блога. Для этого добавьте следующий код в functions.php вашей темы или в отдельный плагин:
function yoastseo_ru_custom_canonical($canonical) {
if (is_category('novosti')) {
return home_url('/blog/'); // Канонический URL для категории "Новости"
}
return $canonical;
}
add_filter('wpseo_canonical', 'yoastseo_ru_custom_canonical');Этот фильтр перехватывает стандартный canonical и возвращает нужный URL. Очень удобно для сложных случаев.
Устранение проблем с дублированием контента через canonical
Частая проблема — дубли страниц с пагинацией. Например, страница блога имеет URL /blog/, а вторая страница пагинации /blog/page/2/. По умолчанию YoastSEO ставит canonical на каждую страницу, что корректно, но иногда нужно задать canonical всех страниц пагинации на первую.
Для этого можно использовать следующий код:
function yoastseo_ru_canonical_pagination($canonical) {
if (is_paged()) {
return get_pagenum_link(1); // canonical всегда на первую страницу
}
return $canonical;
}
add_filter('wpseo_canonical', 'yoastseo_ru_canonical_pagination');Однако такой подход стоит применять с осторожностью, чтобы не навредить SEO и не вызвать путаницу у поисковиков.
Оптимизация canonical для пользовательских типов записей и таксономий
Если на сайте много пользовательских типов записей (CPT) и таксономий, YoastSEO может не всегда правильно строить canonical. В этом случае полезно явно задать его через фильтр.
Например, для CPT "product" зададим canonical без параметров:
function yoastseo_ru_canonical_cpt($canonical) {
if (is_singular('product')) {
global $post;
return get_permalink($post->ID);
}
return $canonical;
}
add_filter('wpseo_canonical', 'yoastseo_ru_canonical_cpt');Так мы избавимся от лишних параметров, которые могут появляться, например, при использовании плагинов фильтрации.
Советы по проверке и тестированию canonical URL
После настройки canonical обязательно проверьте их корректность:
- Откройте исходный код страницы и найдите тег
<link rel="canonical">. - Используйте инструменты для веб-мастеров Google Search Console — в разделе «Покрытие» и «Оптимизация» можно увидеть предупреждения о дублировании.
- Проверьте поведение в разных браузерах и устройствах.
- Тестируйте на страницах с пагинацией, архивами, категориями.
Если canonical настроены правильно, это положительно скажется на ранжировании и распределении ссылочного веса.
Альтернативные плагины и инструменты для контроля canonical
Хотя YoastSEO отлично справляется с canonical, иногда полезно иметь дополнительные инструменты:
- Clearfy Pro — плагин для оптимизации WordPress, в том числе управления SEO-тегами и canonical.
- Expert Review — помогает анализировать SEO-ошибки и корректировать canonical.
Использование таких дополнений облегчает контроль и настройку SEO-аспектов сайта.
Заключение
Настройка canonical в WordPress с помощью YoastSEO — мощный и гибкий инструмент для борьбы с дублированием контента. Используйте встроенные возможности плагина, а при необходимости расширяйте их через хуки и фильтры. Следите за корректностью тегов canonical, чтобы улучшить видимость сайта в поисковых системах и избежать штрафов.