Canonical – тег HTML разметки отвечающий за задание предпочтительной страницы для индексирования поисковыми системами. Содержимый в теги URL будет индексироваться, а отличные от него, будут признаны не каноничными.
Нужен canonical для определения первоисточника страницы, то есть если на сайте есть страница доступная под несколькими адресами, то заданный в теге адрес страницы будет индексироваться, а другие адреса, нет! Нужно это чтобы в поиске не было дублей и выводилась релевантная страничка.
При определенных настройках сайта вы сами можете задавать содержимое canonical. В большинстве же это автоматический процесс. Не всегда к слову работающий корректно. Иногда сайт просто не может нормально проиндексироваться в поиске из-за этого тега, поэтому не получает позиции и трафик.

Если вы столкнулись с проблемой индексации сайта в Google и Яндекс, будет целесообразно попробовать отключить тег Canonical для всех страниц сайта.
Как отключить тег canonical в WordPress
Код, который отключает вывод canonical, в свою очередь страница перестает ссылаться сама на себя. Код для отключения подойдет только если вы используете плагин «SEO by Yoast».
// Удалить каноническую ссылку - SEO by Yoast
function at_remove_dup_canonical_link() {
return false;
}
add_filter( 'wpseo_canonical', 'at_remove_dup_canonical_link' );
Если у вас вывод canonical производится без плагина, то можно воспользоваться следующими хуками. Вставляем в самый конец файла function.php.
remove_action ('wp_head', 'rel_canonical');
или таким кодом:
add_filter( 'wpseo_canonical', 'at_remove_dup_canonical_link' );
Добавили один из кодов, проверяйте! «rel canonical» пропал. Пожалуйста оставляйте комментарии под статьёй, это помогает продвигаться страницу и её увидят больше людей.