Зачем нужен каноникал
В e-commerce один товар нередко доступен по нескольким URL: через разные категории, с параметрами сортировки, фильтрами, UTM-метками. Поисковик воспринимает каждый уникальный URL как отдельную страницу. Без каноникала ссылочный вес (link juice) распыляется между дублями, а не концентрируется на одной странице.
Пример: карточка кроссовок Nike доступна по адресам:
/catalog/shoes/nike-air-max-270
/catalog/men/nike-air-max-270
/catalog/shoes/nike-air-max-270?sort=popular
/catalog/shoes/nike-air-max-270?utm_source=email
Без каноникала поисковик может проиндексировать все четыре как самостоятельные страницы. С каноникалом он знает, что основная — первая, остальные — её версии.
Где расставлять каноникалы в e-commerce
| Сценарий | Проблема | Решение |
|---|---|---|
| Товар в нескольких категориях | Несколько URL с идентичным контентом | Каноникал на «основную» категорию |
| Страницы с UTM-параметрами | Бесконечное число «новых» страниц | Каноникал на URL без параметров |
| Пагинация (/page/2, /page/3) | Дубли листинга | Каноникал на первую страницу или self-canonical |
| HTTP и HTTPS версии | Дубль всего сайта | 301-редирект + self-canonical на HTTPS |
| Фильтры и сортировки | Параметрические дубли | Каноникал на «чистый» URL категории |
Технические нюансы
Каноникал указывается в <head> HTML-документа:
<link rel="canonical" href="https://example.com/catalog/shoes/nike-air-max-270" />
Или в HTTP-заголовке ответа (для PDF и других не-HTML ресурсов):
Link: <https://example.com/catalog/shoes/nike-air-max-270>; rel="canonical"
Важно: если каноникал и robots.txt противоречат друг другу (страница заблокирована для краулинга, но имеет каноникал), поисковик не сможет прочитать тег — и может проиндексировать дубль. Убедитесь, что канонические страницы открыты для краулинга.
Типичные ошибки
- Каноникал ведёт на страницу с редиректом — поисковик видит цепочку и может не применить тег
- Разные каноникалы на одну и ту же страницу в разных системах — например, в HTML один URL, в sitemap другой
- Каноникал на пустую или 404-страницу — автоматически игнорируется
- Забыли расставить каноникалы на страницы с фасетным поиском — каждая комбинация фильтров создаёт дубль