Популярный плагин Yoast seo, Wpseo по-старому, не зря считается лучшим, потому что его разработчики не просто программисты и реализуют потребности большинства, но являются крутыми SEO специалистами. Тестировщики с большим стажем, реализуют только то что проверили сами, поэтому разберу проблему yoast seo canonical ссылки.
Содержание
- Canonical url что это
- Как действует canonical в Yoast
- Константа для пагинации
- Правильные canonical в таксономиях
- Каноникал в архивах автора и дат
- Как изменить caninical в записях с помощью Yoast SEO
- Итог
Для начала разберемся что такое canonical url, поймем его действие, узнаем везде ли нужен canonical. Так выглядит в исходном коде.
<link rel="canonical" href="https://site.ru/page/2/" />
Атрибут rel canonical помогает вебмастерам и ПС предотвратить проблемы с дублирующимся контентом. Для оптимизации сайта вредно располагать контент с одинаковым содержимым, но разными URL адресами, это называется дублирующийся контент, расценивается как попытка манипуляции. Пример где он располагается в исходном коде ресурса.

Наглядным примером служат интернет магазины, в которых один и тот же товар, с одинаковым описанием, расположен по разным адресам.
Чтобы не происходило индексации, склейки адресов, понижения в выдаче – используется каноникал, он сразу указывает поисковому роботу, что «эта страница полный клон другой, иди туда».
Фактически атрибут rel canonical действует как 301 редирект, только для ПС, при обнаружении такого тега робот Яндекс или Гугл не будет сканировать запись, сразу пойдет на каноническую ссылку, взяв только основную информацию тайтл и дескрипшн. Что получаем:
- Нет дублей с одинаковым контентом
- Сохранение структуры сайта без радикальных редиректов
- Повышение статуса канонического (исходного) документа в поиске, за счет удаления дублей
Как действует canonical в Yoast
Разработчики Yoast тонко настроили процесс формирования тега canonical на пагинации главной и таксономий.
Константа для пагинации
Единственная константа, не подлежащая настройке это пагинация записей на главной, это документы типа https://site.ru/page/2/. В стандартном варианте тег каноникал не указывает на главную страницу https://site.ru/, а остаются неизменными такого вида.

Изменить это параметр нельзя, в настройках плагина не найдете соответствующего раздела. Каждый элемент пагинации главной страницы это самостоятельный документ хоть и динамический.
Зачем сделан такой шаг, создатели YoastSEO считают, что за частую единственным местом откуда поисковой робот сможет добраться до старых статей это пагинация.
Полностью согласен, некоторые админы небрежно относятся к созданию таких фишек, как XML карта сайта, перелинковка, last modified и другие методы оптимизации старых материалов.
Но лучшим решением считаю не проставлять canonical, а закрыть в noindex, follow и использовать Dissalow в robots для /page/. Подробно об этом рассказывал в статье про пагинацию в noindex.
Если просто оставить каноническую ссылку саму на себя, то pagination будут индексироваться и попадать в выдачу, у них будет разный адрес и контент, но title и description одинаковый, что считается ошибкой.
Отмечу особенность Yoast SEO в отношении canonical, при любом появлении noindex или nofollow он пропадает, это сделано специально разработчиками, чтобы не было ошибок в представлении сайта в поиске, вот официальный текст (перевод автоматический).

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


Это не правильно, нужно оставить стартовый документ, а остальные закрыть, можно каноникал, но лучше noindex. Помещаем кнопку для меток и рубрик в положение «Нет». Смотрим инструкции дальше.
Отмечу что последующие страницы нам не нужны, робот успешно возьмет весь контент сайта из основной информации стартовой итерации.
Простейший метод – прописать canonical для пагинации рубрик и меток через базовые настройки в специальном блоке yoast. Переходим в редактирование рубрики, возьму для примера «Путешествия» с адресом travel на тестовом сайте test-wp-kurs. Не забудьте почитать про фокусное ключевой слово в плагине yoast.

- В левой колонке выбираем что нужно изменить
- В списке находим необходимую и изменяем ее (на снимке не показал, думаю знаете как изменить таксономию)
- Спускаемся
- Открываем вкладку «Дополнительно»
- В разделе канонический URL-адрес вписываем начальный урл таксономии
- Обновляем
При проверке увидим на второй итерации в meta теге canonical будет начальный документ.

Справились, начальная страница будет участвовать в поиске, а последующие нет.
Считаю cnonical слишком радикальным методом, но не скажу что не правильный, в своих проектах использую noindex и запрет в robots (давал ссылку в начале статьи). Так мы оставим индексацию, но не дадим взять лишнее в поиск.
Используем наш плагин ClearfyPRO, других достойных вариантов нет. В разделе SEO включаем соответствующий пункт и смотрим что происходит.

На последующих страницах удаляется canonical, добавляется noindex. На https://test-wp-kurs.ru/travel/ его не будет и появится каноникал сам на себя. Советую посмотреть как в клеарфи использовать скрытие внешних ссылок от поисковых систем.

По традиции прикладываю кнопку с промо на ClearfyPRO, нажимайте и скидка вычисляется автоматом.
Clearfy -15%
Каноникал в архивах автора и дат
Если автор на сайте вордпресс один, то советую полностью отключить архивы автора и дат на сайте. Они полностью дублируют пагинацию с главной. Даже если много авторов и сайту много лет, то не рекомендую использовать их в выдаче, конечно если писатель не хочет иметь раздел с его статьями.
Делаем настройку в Yoast SEO, при сохранении все архивы по датам и по авторам начнут отдавать 301 редирект.

Если нужен сам факт наличия раздела писателя, то делаем следующее. Robots txt в данном случае используется только для авторов, в архивах дат не получится – url формируется цифрами по году, чего не стоит делать, возможны ошибки в индексировании.

Вставляем в robots txt такую строчку. Получаем все архивы заключены в noindex включая стартовый url.
Disallow: /author/*

Как изменить caninical в записях с помощью Yoast SEO
По аналогии с рубриками: спускаемся вниз окна редактора, открываем блок дополнительно, находим соответствующий пункт и прописываем каноническую ссылку.

Итог
Получаем правильный симбиоз линка canonical и поисковых инструкций noindex, nofollow в вордпресс. Чем организуем правильный путь ПС по блогу, применяя жесткие и лояльные команды.
Пожалуйста, оцените материал:
На чтение 5 мин Просмотров 1.9к. Опубликовано 12 мая, 2021
Yoast SEO – один из самых используемых плагинов общей оптимизации сайта для WordPress. Несмотря на это, он, как и любое расширение, имеет ряд недостатков. Один из таких – неверно прописываемый canonical. Разбираемся, что это, какие минусы в написании модуля и как их исправить.
Содержание
- Canonical URL: что это
- Как изменить canonical от Yoast SEO?
- Для главной пагинации
- Через системную функцию
- Удаление canonical в таксономиях
- По автору и дате
Canonical URL: что это
Для начала рассмотрим представление в системном коде:
<link rel="canonical" href="https://site.ru/pagenum/2/" />
Прописанный Yoast SEO атрибут canonical – элемент, сигнализирующий обходящему боту о статусе страницы: каноническая она или нет. В случае положительного ответа, сканирование будет совершено, а если прописанные адрес отличается от урла статьи – робот не будет заниматься сканированием.
Основная задача каноникла – исключение из ранжирования дублей со стороны вебмастера, однако я выделяю еще несколько его преимуществ:
- Отсутствие копий – неуникальный дублирующийся материал пессимизирует сайт в выдаче, снижая общую ценность ресурса в глазах Яндекса или Гугла.
- Оригинальная структура – сохранить задуманный путь, в первую очередь удобный посетителю, без создания ветви редиректов – важная задача сеошника, прямо влияющая на поведенческие факторы: клиент будет недоволен бесконечными перенаправлениями с одного документа на другой.
- Повышение позиций – важность статьи для поисковиков возрастает также если отсутствуют его дубли и перенаправления с мусорных страниц.
Хорошей иллюстрацией правильного его проставления можно выделить пример интернет-магазинов: на каждом каталоге, посвященным конкретному виду товаров, они имеют много фильтров. Избежать копий у них получается благодаря каноническам адресам, никак не нарушающим изначально задуманную структуру.
Несмотря на это, Yoast SEO (WPSEO до ребрендинга) вставляет автономный canonical и в служебные документы, незаблокированные через robots.txt, однако посетителю бесполезные. Пагинация, архивы и много другого служебного контента попадет в индекс и спровоцирует падение позиций продвигаемых документов. Предлагаю отключить эту опцию.
Как изменить canonical от Yoast SEO?
Для отключения формирования никак не изменяемых canonical в служебных разделах можно воспользоваться плагинами, не требующими сложной установки или работы с кодом, или опцией, которую необходимо внедрить в файлы WordPress.
Для главной пагинации
Настраивая индексацию навигации, учтите, что робот не должен ее допустить в выдачу, но обходя страницу, должен перейти по всем внутренним линкам. Чтобы это сделать, необходимо вписать комбинацию:
- Noindex – запрет к попаданию в индекс определенного документа.
- Follow – разрешение переходить по установленным ссылкам.
Таким образом, без ущерба авторитетности ресурса, мы увеличиваем обходимую базу. Дополнительно стоит указать canonical на главную рубрики или блога. Через Yoast SEO это не сделать, но возможно с помощью Clearfy PRO.

Перейдите в настройки модуля. Откройте раздел “SEO” и активируйте этот чекбокс в области конфигурирования Yoast.
Clearfy -15%
Через системную функцию
Также можно использовать возможности ВордПресс, однако ручные правки могут как нарушить работу сайта, так и просто нарушить работу шаблона из-за несовместимости. Для этого:
- Зайдите в вкладку “Внешний вид” > “Редактор файлов”.
- Откройте для редактирования functions.php.
- После завершения предыдущего фрагмента, вставьте следующий код:
function wpboost_canonical_redirect() {
if( is_singular() && !is_front_page() ) {
global $post, $page;
$num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
if( $page > $num_pages || $page == 1 ) {
wp_safe_redirect( get_permalink( $post->ID ), 301 );
exit();
}
}
}
add_action( 'template_redirect', 'wpboost_canonical_redirect' );
Дополнительно добавьте правило в robots.txt, запрещающее обход:
Disallow: /page/*
Удаление canonical в таксономиях
Несмотря на всю пользу меток при продвижении в поисковиках, они генерируют отдельные ветви пагинации. Отключить их попадание в ранжирование можно при помощи настроек самого Yoast SEO и удаления canonical из head.

Перейдите в вкладку “Таксономии”, выключите переключатель на виджете, показанный на скриншоте.
Этого изменения не хватит. Дополнительно необходимо зайти в подразделы “Рубрики” и “Метки” и установить вручную канонические ссылки на главную или основные категории.

Кроме этого, зайдите в Клиарфай и активируйте “Noindex пагинации”. Это будет хорошей альтернативой тому же функционалу от стороннего софта и отсутствию нужных опций в Yoast SEO.
Клиарфай -15%
По автору и дате
По умолчанию WordPress формирует два бесполезных типа архивов: по пользователю-автору материала и по дате публикации. Если вы публикуете контент один – оба фильтра не нужны.

Если их оставлять, зайдите в вкладку “Архивы” и отключите оба элемента.
Советую также добавить в роботс:
Disallow: /author/*
Это добавит запрет на индексацию ботам поисковиков.
Если у вас, как и у меня, после переезда и смены адреса сайта остались старые канонические ссылки, значит этот гайд вам точно пригодится.
Я покажу, как разом обновить все канонические ссылки, созданные плагином «Yoast SEO», после изменения адреса сайта.
Что такое канонический адрес страницы
Канонический URL (rel=canonical) — это адрес страницы сайта, который является предпочтительным в группе идентичных или схожих по содержанию страниц. Канонический адрес страницы будет индексироваться при наличии страниц-дублей.
Каноническим называется URL страницы, которую роботы Google считают главной среди нескольких ее вариантов на вашем сайте. Например, если одна и та же страница размещена по нескольким URL, таким как example.com?dress=1234 и example.com/dresses/1234, одна из версий будет выбрана в качестве канонической. Обратите внимание, что страницы могут быть не полностью идентичными. Они могут различаться, например, настройками фильтров или сортировки (сортировка по цене или фильтрация товаров по цвету не делают страницу уникальной).
Справка Google Search Console
Как решить проблему
В плагине «Yoast SEO» нет возможности пакетно изменить канонические адреса сразу всех страниц, но можно пройтись по каждой и задать их вручную.
Но это не решение.
Для глобального изменения адресов я рекомендую установить плагин «Yoast Test Helper» и воспользоваться специальным инструментом, который сбросит и заново соберет таблицы индексации.
Там все просто: задача решается нажатием одной кнопки «Reset Indexables tables & migrations».
После этого сбрасываем все кеши, открывает HTML‑код страницы и радуемся. Плагин после использования можно удалить. Кстати, у «Yoast Test Helper» есть и другие не менее полезные функции.
⚡️ Больше полезных материалов по веб‑разработке и о буднях веб‑разработчика на фрилансе на моем канале в Телеграм
— присоединяйтесь!
Делаю сайты на Вордпресс с 2008 года, в том числе уникальные инструменты для решения сложных бизнес‑задач.
В статье разберемся с атрибутом canonical в Yoast SEO (старое название WPseo), что это такое и как плагин его проставляет на страницах сайта в разных его сущностях. Как известно он имеет огромное действие на оптимизацию и управление поисковым роботом на сайте.
Содержание
- Что такое url canonical
- Каноникал в пагинации на главном листинге в WordPress
- С помощью кода в function php
- Как изменить canonical в рубриках и метках
- Каноникал в записях, товарах и страницах
- Архивы по датам и авторам
Что такое url canonical
Атрибут canonical это как редирект, но для поисковых систем. Если есть каноникал, то робот не будет сканировать, а перейдет на тот адрес, который указан в атрибуте. На примере показано что располагается он в HEAD блога.

Верхняя красная область показывает сам url записи, а нижняя канонический. Робот придет на страницу начнет смотреть код и увидит canonical, для него это означает что документ является дублем основной, либо совпадает по смыслу и наполнению, с той что указано в атрибуте.
Данный метод часто применяется в интернет магазинах. Например один и тот же товар находится в 10 разных категориях, соответственно это 10 адресов одного и того же продукта. Так нельзя делать, потому что ценность падает, и какой документ давать в выдачу не понятно. Тут приходит на помощь в плагине Yoast, атрибут canonical, для 9 неосновных карточек просто прописываем урл основного, тогда Яндекс с Google возьмут именно канонический, а остальные оставит.
Для блогов с информационными ресурсами canonnical применяется в пагинации рубрик, на листинге главной, архивах и других сущностях, где есть постраничная навигация.
Каноникал в пагинации на главном листинге в WordPress
Исследования разработчиков показали что листинг постов на главной странице, а именно адреса пагинации нельзя закрывать canonical, поэтому для каждой итерации он стоит сам на себя. Но управления данной функцией в Yoast нет.

То есть каждый шаг это самостоятельный документ, хоть и динамичный, соответственно он попадет в выдачу. Наша задача сделать так чтобы робот прошел по всем итерациям навигации, перешел по ссылкам статей, принял изменения, а пагинацию не брал в индекс. Понадобится комбинация “noindex,follow”:
- Noindex – показывает что ходить по странице можно, но в индекс нет.
- Follow – говорит что можно переходить по ссылкам, то в статьи заходить можно.
Создатели Yoast предусмотрели данный момент, если поместить noindex,follow, то canonical исчезает. Но если нужно использовать канонические ссылки, но чтобы они вели на стартовый документ, то рекомендую к использованию плагин ClearfyPRO. Включаем в нем соответствующий пункт.

Проверим, что получилось.

Видим все как и хотели, ссылка ведет на первый уровень навигации. Подчеркну что ClearfyPRO оптимизирует блог по ещё 46 требованиям, например, закрывает внешние ссылки от индексации.
Для вас предоставляю скидку на его покупку:
-15% по клику на кнопку
С помощью кода в function php
Отмечу что данный способ работает далеко не со всеми шаблонами, поэтому если не сработало, то рекомендую предыдущий вариант. Вставляем конфигурацию в function php активной темы, в нем указываем в постраничной навигации вордпресс, что первая ступень главная.
function wptemplate_canonical_redirect() {
if( is_singular() && !is_front_page() ) {
global $post, $page;
$num_pages = substr_count( $post->post_content, '<!--nextpage-->' ) + 1;
if( $page > $num_pages || $page == 1 ) {
wp_safe_redirect( get_permalink( $post->ID ), 301 );
exit();
}
}
}
add_action( 'template_redirect', 'wptemplte_canonical_redirect' );
Как изменить canonical в рубриках и метках
Считаю рубрики с метками хорошим источником трафика. В Yoast есть настройка для них, при их выключении на всех страницах включая начальную рубрики и метки помещается noindex follow, но нам нужно оставить начальный адрес, а все остальные итерации закрыть. Советую сделать так, в настройках архивов оставить доступными для сканирования ПС.

Аналогично делаем для меток. Теперь каждая страница рубрик и меток будет как самостоятельный документ. Дальше идем в редактор, да придется править каждую категорию и метку отдельно.
Аналогично делаем для меток. Далее проверяем что получилось.

Видим что все работает, поэтому проходимся по таксономиям и исправляем ситуацию. Отмечу что Clearfy также делает каноникал на все таксономии, что придает большей универсальности.
Каноникал в записях, товарах и страницах
Аналогично можно настроить и для остальных сущностей, например для товаров WooCommerce и простых статей. Внизу каждого редактора появится блок Yoast в нем прописываем canonical. Покажу в статьях.

В таком виде и вводим, Yoast сделает остальное сам. Результат будет такой. Не забудьте сделать правильный robots txt для всего WordPress.

Архивы по датам и авторам
Считаю самой большой дырой откуда лезут дубли это архивы по датам и авторам. Сразу закрываем при помощи редиректа, рассматривать как их закрывать от индексации не будем. Просто выключаем их наличие на сайте.

Вот так мы разобрались со всеми атрибутами canonical в плагине Yoast, применяйте их грамотно и помните что такие ссылки – это самое жесткое правило, когда документы вообще не сканируются.
Каноническая ссылка как известно (для Яндекса) — это элемент типа:
<link rel="canonical" href="полный путь к документу" />
Такая ссылка размещается в коде странице в блоке head и позволяет указать поисковому роботу каноническую, то есть основную версию документа.
Пример
Есть страница с товарами, товаров больше чем 100, а на одной странице вмещается только 9. Для решения этой задачи существуют страницы пагинации, т.е. 2, 3, 4 страница и т.д. Удобно, но для поискового продвижения не хорошо, т.к. такие страницы являются своего вида дублями для поисковых систем.
В некоторых случаях страницы пагинации успешно заходят в индекс и даже приносят трафик, но не смотря на это с ними могут возникнуть и серьезные проблемы, в частности на вашем сайте может быть очень и очень много страниц пагинации, которые будут забивать обход и индексацию поискового робота, тогда как более нужные страницы (товары) в это время будут очень долго ждать своей очереди.
Поисковые системы предлагают свои универсальные решения. В частности Яндекс рекомендует прописывать со всех страниц пагинации каноническую ссылку на основную страницу (как правило 1 страницу), которая и будет участвовать в поиске.
Можно запретить индексацию страниц пагинации, но тогда поисковый робот не сможет найти все товары естественным образом, а только лишь через карту сайта. В случае использования канонической ссылки, робот будет ходить по страницам пагинации как и раньше, но в индекс попадет именно каноническая ссылка.
WordPress, плагин WooCoommerce + Yoast SEO
Если вы работаете одновременно с WooCommerce и Yoast SEO, то для того, чтобы настроить канонические ссылки для категорий товаров (и других таксономий тоже) не потребуется никаких сторонних решений, ведь в настройках каждой категории есть поле для заполнения канонической ссылки.
Однако есть небольшой момент, который стандартным функционалом поправить нельзя. Если ваша основная страница с товарами (обычно /shop/) показывает товары, а не категории товаров, то на данной странице товары будут отображаться как архивы, т.е. без категорий. К сожалению для архивов прописать каноническую ссылку нельзя, а по умолчанию, если ссылка не прописана нами, то она прописывается автоматически с помощью Yoast SEO и указывает сама на себя.
Мы можем быстро поправить этот момент с помощью небольшого фильтра, который вставляем в файл functions.php:
// Каноническая ссылка для страницы каталога
function yoast_seo_canonical_change_woocom_shop( $canonical ) {
if ( !is_shop() ) {
return $canonical;
}
return get_permalink( woocommerce_get_page_id( 'shop' ) );
}
add_filter( 'wpseo_canonical', 'yoast_seo_canonical_change_woocom_shop', 10, 1 );
Теперь на страницах пагинации архивов (только для типов записей product) будет прописана каноническая ссылка указывающая на первую страницу каталога.


