Канонический адрес в SEO
У одной страницы бывает несколько
адресов: со слешем и без, с меткой
в параметрах, с www и без.
Для робота это разные страницы.
Если ничего не указать, в индексе
появятся дубли, а вес ссылок
размажется по копиям.
Главную версию называют
канонической. Ее указывают
в head тегом link:
<head>
<link rel="canonical" href="https://example.com/page/">
</head>
Так робот понимает, какую версию показывать в поиске, и склеивает сигналы с копий на главный адрес.
Адрес в href должен быть
полным: со схемой https://
и доменом. Относительный путь
вроде /page/ робот может
понять неверно.
Каноникал ведет сразу на нужную страницу. Цепочка «A указывает на B, B на C» вредна: робот может не дойти до конца или проигнорировать подсказку.
Обычно страница указывает каноникал на саму себя. Это нормально и даже полезно: робот видит явный главный адрес даже если кто-то скопировал страницу с параметрами.
<head>
<title>About</title>
<link rel="canonical" href="https://example.com/about/">
</head>
Типичные случаи, когда без каноникала плохо:
- страница открывается с UTM и без них
- фильтры и сортировка в каталоге дают почти тот же контент
-
есть версии со слешем и без,
с
wwwи без - одна статья доступна в двух разделах с разным URL
Пример: адрес с меткой аналитики должен вести каноникал на чистую страницу без метки:
<head>
<link rel="canonical" href="https://example.com/page/">
</head>
Даже если пользователь пришел
по /page/?utm_source=vk,
в поиске должна быть версия
без параметра.
Каноникал - подсказка, а не жесткий
запрет. Он не заменяет редирект
301, если адрес реально
переехал. И не заменяет
noindex, если страницу
вообще нельзя показывать в поиске.
Частые ошибки: относительный URL, каноникал на несуществующую страницу, каноникал на другую тему, цепочка каноникалов друг на друга.
Зачем нужен rel="canonical"?
Дана верстка:
<head>
<title>Page</title>
</head>
Страница открывается еще
как /page/?utm_source=vk.
Добавьте канонический адрес
без метки.
Дана верстка:
<head>
<link rel="canonical" href="/catalog/shoes/">
</head>
Объясните, в чем ошибка и исправьте ее.
Дана верстка:
<head>
<link rel="canonical" href="https://example.com/a/">
</head>
На странице /a/ каноникал
ведет на /b/, а на
/b/ - обратно на
/a/. Что не так
и как сделать правильно?