Canonical: что это и когда использовать
Обновлено
Canonical (канонический адрес) — тег <link rel="canonical" href="…"> в
<head> страницы, который сообщает поисковику, какой адрес считать основным,
если у содержимого есть несколько адресов.
Зачем он нужен
Одну и ту же страницу можно открыть по нескольким адресам: с параметрами метки, с разным регистром, со слэшем и без, через фильтр. Для поисковика это дубли. Canonical говорит: «показывайте вот этот адрес, остальные — копии».
Как прописать
<link rel="canonical" href="https://example.ru/uslugi/seo" />
Адрес указывается абсолютный, с протоколом и доменом. У самой основной страницы canonical ведёт на неё же, это называется self-referencing, и это нормально и полезно.
Это подсказка, а не команда
Поисковик может не согласиться: если страницы сильно отличаются, canonical он проигнорирует. Для надёжного объединения адресов используют редирект 301: он направляет и людей, и робота. Canonical подходит там, где обе страницы нужны посетителю, например страница товара с метками рекламы.
Чем отличается от Clean-param
Canonical — атрибут страницы, его понимают все поисковики. Clean-param — директива в robots.txt, только для Яндекса, и она относится ко всем адресам с указанными параметрами сразу. Они дополняют друг друга. Разбор — в статье Clean-param и canonical.
Типичные ошибки
- Относительный адрес в
href. - Canonical на страницу, которая отдаёт редирект или 404.
- Все страницы пагинации ссылаются на первую: тогда остальные страницы со списком выпадают из поиска. Каждая страница списка должна ссылаться на себя.
- Canonical прописан в нескольких местах, и они противоречат друг другу.
Как это сделано у нас
У каждой страницы стоит абсолютный canonical на неё саму, включая страницы списков. Адреса собираются из одного места, поэтому опечатка в одной странице не может сделать её каноническим адресом чужой.
Подробный разбор — Чем Clean-param отличается от canonical.