Содержание
В идеале должна быть одна версия для каждой страницы. Но на деле часто бывает, что одинаковый контент присутствует в нескольких местах одного сайта, а также на других ресурсах. Чтобы решить проблему дублирующего контента было разработано решение под названием «элемент канонической ссылки», больше известное как атрибут rel=»canonical» .
Как rel=»canonical» может помочь продвижению?
Этот атрибут устраняет проблемы, связанные с дублирующимся контентом. Устанавливает предпочтительную версию страницы и передает сигналы, такие как ссылки, на эту версию страницы. Объединяет дубликаты контента, которые могут появляться по следующим причинам:
- HTTP и HTTPS
- одни и те же материалы в субдомене www и по обычным адресам http
- параметры и многоаспектная навигация
- идентификаторы сессий
- завершающий слэш
- индекс/страницы по умолчанию
- версии альтернативной страницы, такие как m. или AMP-страницы или версии для печати
Где прописать атрибут rel=canonical
Большинству веб-мастеров известно, что атрибут добавляется в тег head:
<link rel=»canonical» href=»https://example.com/» />
Но не все знают, что canonical может также отправляться в заголовок HTTP:
HTTP/1.1 200 OK Link: <https://example.com/>; rel=»canonical»
Атрибут canonical в заголовке может использоваться применительно к любой странице, но самый распространенный случай — для выбора предпочтительной версии PDF.
Мой атрибут canonical не работает
rel=»canonical» — это не директива. Его можно проигнорировать. Каноническая версия — это версия страницы, которая должна присутствовать в файле sitemap, к примеру. На присутствие несовместимых URL в sitemap или внешних ссылках могут указывать разные сигналы. Атрибут canonical может также игнорироваться, если между страницами нет близкого соответствия.
Случаются и другие ошибки, например, когда страницы копируются, а атрибут canonical не изменяется, или остается указатель места заполнения. Также следует использовать абсолютные — не относительные — пути URL, чтобы было меньше ошибок. Поскольку из-за этого, а также из-за автореферентных атрибутов canonical, несколько страниц будут сообщать поисковым системам о том, что данные страницы являются каноническими; в этом нет смысла. Если на странице есть несколько отличающихся атрибутов canonical, Google их проигнорирует. Что делает Google, когда получает противоречивые сигналы? Поисковая система будет пытаться определить лучший URL по разным сигналам: предложенные canonical, внешние ссылки и ссылки в sitemap, но существуют и другие факторы. К примеру, Google может предпочесть короткий URL длинному, выбрать HTTPS, а не HTTP.
Известно, что Google отдает предпочтение HTTPS-страницам в качестве канонических, а не их аналогам HTTP; исключение — случаи, когда присутствуют противоречивые сигналы, согласно справке Search Console:
- Страница HTTPS имеет недействительный сертификат SSL.
- Страница HTTPS содержит небезопасные зависимости.
- Доступ к странице HTTPS запрещен в файле robots.txt, а к странице HTTP – нет.
- Страница HTTPS выполняет переадресацию на страницу HTTP.
- Страница HTTPS указывает на страницу HTTP с помощью атрибута rel=»canonical».
- Страница HTTPS содержит метатег noindex для роботов.
Редкий случай, но все же возможный, когда из-за ошибок в коде раздел заголовка заканчивается прежде, чем это должно быть. При этом canonical может быть в теле контента, где поисковая система его никак не ожидает найти. Еще хуже, когда большинство инструментов (таких как Screaming Frog или Deep Crawl) эту ошибку не фиксируют. Проблему можно установить только с помощью программного интерфейса DOM (объектная модель документа) — например, когда используется Inspect для Chrome Dev Tools
Рассмотрим канонический атрибут в Home Depot на скриншоте ниже. Можно видеть, что раздел заголовка закончился, и часть контента, которая при рассмотрении источника находится в заголовке, попадает в тело, когда рассматривается DOM.
Взаимодействие атрибута canonical с другими
С атрибутом canonical можно легко ошибиться. Допустить, например, грамматическую ошибку, поставить завершающий слэш, в особенности когда есть еще нумерация страниц и hreflang. Если индексируется страница отличная от той, что значится в теге, страницы не будут объединены должным образом. Например, канонический элемент устанавливается на второй странице нумерованного списка для URL первой страницы. Атрибут canonical не следует использовать вместе с noindex.
Другие способы применения canonical
Атрибут canonical можно использовать для альтернативных версий сайта (мобильная и AMP-версия). Для индексации mobile-first не нужно специально менять эти атрибуты.