Канонические ссылки (rel="canonical"). Атрибут rel= "canonical" — полное руководство по использованию канонических ссылок

Привет, друзья. Пора бы мне уже довести до логического завершения тему про управление индексацией сайта. Я вам напомню, какие методы управления индексацией вообще существуют: файл robots.txt, мета-тег robots, заголовок X-Robots-Tag, ну и 301-редирект здесь можно упомянуть, как метод борьбы с дублями, что так же является неотъемлемой частью качественной индексации. И обо всем этом я вам уже рассказывал, но есть еще один очень важный и интересный способ борьбы с дублями, в чем-то альтернатива редиректу, это атрибут rel="canonical" , который присваивается тегу link и располагается в части любой html-страницы.

Выглядит это как-то так:

Что немаловажно – данный тег поддерживается всеми поисковыми системами , в том числе нашими любимыми Яндекс и Google.

Итак, сегодня я вам расскажу, как и для чего нужно использовать тег rel canonical , в каких ситуациях он действительно эффективен, а заодно убедимся в этой самой эффективности на реальном эксперименте. Приготовьтесь:)

Для начала напомню вам о тех постах, что я затронул в начале:

Сперва стоит пройтись по теории, чтобы понять для чего данный атрибут вообще был создан, какие цели преследовались и узнать, что же рекомендуют поисковики.

Теория и справка от поисковых систем

Привожу ссылки на официальную позицию поисковых систем: Google об атрибуте rel="canonical" и Яндекс про атрибут rel="canonical" тега . Разумеется, и mail.ru тут как тут – про значение canonical в теге — не могли же они отстать от Яндекса, но это и хорошо, все под копирку, нам же проще.

Что такое каноническая страница? Это рекомендуемый экземпляр из набора страниц с очень похожим содержанием.

Зачем нужно указывать каноническую страницу? Если поисковая система видит, что страницы очень похожи или одинаковы, то согласно алгоритмам в результатах поиска появится только одна предпочтительная страница, которая, по мнению поисковой системы, лучше всего отвечает на запрос пользователя.

А как мы знаем, поисковик не всегда угадывает наши желания, потому лучше перестраховаться и указать нужную страницу самостоятельно. Сделать это можно добавив ссылку rel="canonical" в раздел неканонических версий всех страниц HTML.

Еще оказывается, можно указывать каноническую ссылку для не HTML содержимого , а, например, для pdf, doc или других файлов при помощи заголовков. Типа как X-Robots-Tag HTTP header, только тут будет Link HTTP header. Но это уже совсем для гик-маньяков, так что рассказывать об этом не буду.

Что будет, если атрибут rel="canonical" указывает на несуществующую страницу? А если каноническими назначено несколько страниц набора? В этом случае поисковая система просто проигнорирует данные правила и будет поступать, как и раньше — вычислять подходящий экземпляр из набора страниц согласно алгоритмам.

Можно ли использовать атрибут rel="canonical" для указания канонического URL на другом домене? Можно, но не нужно. Важно понимать, что атрибут canonical это всего лишь подсказка или рекомендация, а не строгое правило в отличие от редиректа, который и стоит использовать в данном случае.

На основании всего вышенаписанного, а так же по информации из других официальных источников (блоги поисковых систем и блоги их сотрудников) можно сделать выводы о том, что тег link rel="canonical":

  • Это рекомендация, а не правило, а потому может быть проигнорирован в следующих случаях:
    • Документ по каноническому адресу не существует, отдает ответ 404;
    • Каноническая страница закрыта от индексации в robots.txt или мета-тегом;
    • В html-коде страницы указано сразу несколько атрибутов rel canonical;
    • Адрес канонического документа указывает на другой домен или поддомен;
    • Присутствует цепочка назначений rel="canonical", т.е. для документа А каноническим указан документ Б, а в это время для документа Б указан каноническим документ В;
  • Необходимо указывать только для дублирующих или очень схожих страниц, а не для склейки двух разных страниц или передачи веса;
  • Адрес канонической страницы может указывать сам на себя;
  • Поддерживается всеми поисковыми системами: в Яндексе с 23 мая 2011 года, в Google с 12 февраля 2009.

Практическое применение и эксперимент

Все, с теорией покончено, теперь я вам расскажу, зачем и для чего я использую тег rel="canonical" на своих сайтах. Главное и основное – это борьба и предупреждение появления дублей. В основном это дубли, связанные с параметрами или метками в url. Не всегда уместно бороться с этими проблемами . Метки иногда очень важны, например, когда ведется кампания в контексте и в метках передаются важные статистические сведения, да и много еще чего можно отслеживать метками. Закрывать такие адреса в robots.txt мне не по душе, использовать мета роботс не получится, а редирект уничтожит все данные.

Классический пример использования канонических адресов это интернет магазины с кучей сортировок по еще большей куче различных параметров товаров – мне кажется, ради этого и придумали данный атрибут.

Это все понятно. Но вот только о самом главном для нас seo’шников нигде не сказано – а как дела обстоят с передачей ссылочного веса? Что если на неканонический адрес стоят ссылки, что же будет с канонической страницей, получит ли она от этого бонусы? А если сперва появилась ссылка, а rel="canonical" был указан позже? А что будет, если все наоборот?

Вопросов много, а официальных комментариев нет. На вопросы кто виноват и что делать, ответ один – надо ставить эксперимент! Хотел я такой эксперимент поставить, но оказалось, что его уже не так давно провел Игорь, автор блога bakalov.info , за что ему огромное спасибо.

Вот цитата с его блога о том, какова цель, какие варианты развития событий и ожидаемый результат:

Цель эксперимента: выяснить, будет ли передан «вес ссылки» со страницу А на страницу С, в том случае, если страница А ссылается на страницу Б, а на странице Б стоит rel="canonical", который указывает, что канонической страницей является страница С.

Вариант №1. Страница А ссылается на страницу Б и эта ссылка проиндексирована поисковыми системами. Через некоторое время на странице Б устанавливается rel="canonical", который указывает, что канонической является страница С, что в итоге приводит к исключению страницы Б из индекса.

Вариант №2. На странице Б устанавливается rel="canonical", который указывает, что канонической является страница С, что приводит к исключению страницы Б из индекса. Через некоторое время после этого со страницы А на страницу Б устанавливается ссылка.

Необходимо выяснить в каком из двух вариантов будет передан «вес ссылки» со страницы А на страницу С. Под «весом ссылки» я понимаю так называемый «анкорный вес», т.е. если страница акцептор ищется по тексту стоящей на нее ссылки, то считаем, что «вес ссылки» передается, если не ищется, то не передается.

Полное описание и ход эксперимента .

Я же сообщу результаты эксперимента и выводы:

Для Яндекса не имеет значения, что появилось раньше – rel="canonical", или внешняя ссылка – в любом случае «вес ссылки» будет передан с неканонического URL на канонический.

Для Google на самом деле все аналогично, хотя в посте Игоря говорится иначе: если канонический адрес был указан и страницы уже склеились, а потом появилась внешняя ссылка, то вес передается, а если внешняя ссылка появилась раньше, чем каноникал, то вес не перетекает.
Просто «перетекание» веса во втором случае заняло несколько больше времени, ведь согласно комментарию на блоге сказано, что каноническая страница все же ищется по анкорному тексту.

Короче, все работает!

В очередной раз обобщая всю информацию изложенную в посте, хочу сказать, что использовать тег link rel="canonical" нужно . В первую очередь это отличный способ предотвратить дублирование контента (особенно это касается ошибок и недоработок большинства CMS) и наложение санкций за это со стороны поисковых систем.

Удачи вам, друзья! Оставляйте комментарии и задавайте вопросы.

С уважением, Александр Алаев

Чтобы осуществлять правильное продвижение страниц сайта в поисковых системах, необходимо сообщать роботам, какие URL более предпочтительны для попадения в индекс. Это задаётся с помощью специальных тегов.

Что такое rel canonical?

Остановимся подробнее на теге rel=»canonical». Его основная цель - борьба с дублями страниц и неинформативными страницами (например страницами пагинации), а также повышение качества индексации с помощью прописывания приоритетного адреса.

У меня был сайт с ограниченным краулинговым бюджетом. То есть по факту там было тысяч 10 страниц, но в индексе могли быть только 2 тысячи (потому что сайт был молодой и не трастовый). В итоге те страницы, которые мне были нужны в индексе, часто туда не попадали. Помог каноникал — проставление со страниц пагинации каноникала на основные URL позволило четко дать поисковикам понять, какие страницы должны быть в индексе.

Что такое каноническая ссылка?

Тег canonical будет чрезвычайно полезен, если на вашем сайте есть страницы-дубли, которые имеются в доступе по различным адресам. С помощью него необходимо прописать приоритетный канонический URL для восприятия поисковиками.

Что важно - будет также передаваться ссылочный вес и прочие характеристики страницы (PageRank и др.).

Этот атрибут указывается внутри тега на URL-дубликатах с указанием предпочитаемого URL. Оформляется он таким образом:

Для чего нужен каноникал?

При наличии похожих страниц в индексации поисковиками участвуют все они одновременно. В итоге ни одна из них в полной мере не продвигается по причине того, что внутренние ссылки имеются на обе страницы. Поисковик не знает, какой из них нужно отдать приоритет.

То же самое касается и внешних ссылок - продвигается не один URL, а несколько, а вес также распределяется между ними. И сайт находится на более низких позициях, чем мог бы быть.

Благодаря каноникал в индексе поисковиков будет предпочитаемый канонический URL.

Примеры использования

Например, у вас на сайте есть печатная версия страницы. Или отдельный урл для мобильной версии. И вы ставите каноникал с них на основную страницу, в итоге эта основная страница получает больший вес и плюс при ранжировании, а из индекса убирается куча мусора.

Как каноникал используется для пагинации

Нужно проставить rel canonical со страниц пагинации (site.ru/category/page/2) на первую из них (site.ru/category).

Мнения о настройке пагинации разнятся - некоторые специалисты говорят о необходимости закрытия от поисковиков всех страниц пагинации, другие - о том, что лучше их оставить в доступе роботов поисковых систем.

Яндекс рекомендует со всех страниц пагинации настраивать каноническую ссылку на первую из них. Как итог - яндекс-робот воспримет, что именно первую страницу необходимо индексировать. Про индексацию товаров уточняется, что по другим ссылкам Яндекс всё равно будет переходить.

Специалисты Google склоняются к следующим вариантам:

  1. оставить всё по-прежнему - поисковик по-разному распознаёт и воспринимает различные виды страниц;
  2. создать отдельный URL-адрес «Показать всё» и установить его как канонический - особенно рекомендуется для многостраничных статей;
  3. прописать в теге линк атрибуты rel=»prev» и rel=»next» с целью фиксации взаимосвязи между URL-адресами; поисковик будет выдавать первый из них.

А вот видос Деваки, где он подробно поясняет за пагинацию:

Атрибуты rel=»next» и rel=»prev»

Есть также и другое мнение — типа страницы пагинации закрывать не надо, что они наоборот должны получать дополнительный трафик. И тут важны два момента:

  • Все URL должны иметь уникальный параметр тега Title, уникальный текст и meta-теги;
  • Если Вы больше ориентируетесь на Google, то рекомендовано обязательное использование атрибутов rel=»next» и rel=»prev», которые нужно настроить так, чтобы каждая предыдущая страница ссылалась на следующую. На корневом адресе задаётся URL следующего, на последующих - URL предыдущей и следующей, на последней - только предыдущей.

Можно прописать пагинацию этими тегами, а каноническую ссылку оформить на первую или на главную страницу - в зависимости от особенностей ресурса.

Тема с SEO пагинатором

Вот допустим один из блогов (Sawynih или как-то так, уже не помню) писал о кейсе, когда страницы пагинации давали дополнительный трафик.

Если на разных URL представлен похожий товар, навигацию можно задать следующими способами:

  1. Прописать уникальные значения параметров автоматически, собирая заголовки из отдельных частей, к примеру:

    (купить|заказать|приобрести) юбки в (саратове|ростове|астрахани) (по низкой цене|выгодно|дешево) со скидкой (в магазине|в интернет магазине)

    Будут созданы уникальные значения метатегов.

  2. Самым эффективным и трудоемким является самостоятельное прописывание этих параметров, вручную. Все заголовки будут уникальными и очень сильно отличаться друг от друга, в том числе по смыслу. Это позволит продвинуть каждый URL по низкочастотным и низко конкурентным ключевым запросам в ТОП выдачи поисковиков. Благодаря применению этого способа расширится семантическое ядро. Плюс также в том, что для интернет-магазина множество статей писать нецелесообразно.

Важно осуществить эту работу один раз индивидуально для каждого URL. Параметры будут зафиксированы поисковиками.

Настройка Canonical для WordPress

Многие плагины для WordPress прекрасно работают с данным тегом.

Большинство из них просты в применении - активируем плагин, а канонические ссылки прописываются автоматически. В других SEO-плагинах достаточно установить галочку возле этого параметра в настройках. Если какая-то статья относится одновременно к разным категориям, то каноническая ссылка фиксируется самостоятельно.

При использовании плагина Yoast SEO и расположения поста в разных категориях, поисковик будет видеть только одну страницу.

Что еще полезно знать о каноникал?

Важно подчеркнуть следующие моменты:

  1. Тег canonical - не директива, а подсказка, которую следует учесть и проанализировать, выделив наиболее подходящий URL для поисковой выдачи.
  2. Касаемо оформления канонических ссылок отсутствует запрещающий момент в виде относительного пути. Даже в случае введения тега со ссылкой на документ, относительные пути станут восприниматься так, как прописано в базовом URL.
  3. Канонические страницы могут содержать не абсолютно одинаковое наполнение, и это логично. Могут присутствовать незначительные различия.
  4. Даже при наличии ошибки 404, контент будет индексироваться. Но рекомендуется указывать рабочие URL в качестве канонических.
  5. Если канонический url пока не проиндексирован, остаётся ждать - обычно недолго. Когда он распознается, подсказка будет пересмотрена.
  6. Можно использовать редирект - поисковик воспримет перенаправление и будет учитывать другой адрес.
  7. Рекомендуется задавать идентичный тег rel canonical, чтобы результат канонизации был оптимальным.
  8. Канонический урл может прописываться исключительно с текущего домена. Для указания урла с другого домена, следует использовать 301 редирект.
  9. Как оформляются канонические url, можно изучить на примере сайта wikia.com, открыв исходный код страницы http://starwars.wikia.com/wiki/Nelvana_Limited, содержащий canonical url http://starwars.wikia.com/wiki/Nelvana
    Обе ссылки практически одинаковы, но в первой прописан атрибут каноникал - и Google будет отображать версию, заданную в этом параметре.
  10. Вопросы применения каноникал можно задать в официальном блоге для вебмастеров поисковика Google.

В данном случае каноникал проставлен на чёрную овцу

Преимущества, связанные с умением правильно настраивать индексацию с помощью тега canonical:

  • избавление от похожего контента, связанного с недостатками движка, а также созданного искусственно целенаправленными действиями конкурентов;
  • отсутствие необходимости в применении robots.txt для запрета индексации отдельных страниц и угождения всем поисковикам.

Как указать каноническую страницу из числа одинаковых или похожих

Если у вас есть одна страница, доступная по нескольким URL, или разные страницы с похожим контентом (например, версии для мобильных устройств и компьютеров), Google будет считать один URL каноническим , а остальные – его копиями . Сканирование канонического URL будет выполняться намного чаще, чем его копий.

Сообщите нам, какой из URL является каноническим. В противном случае мы выберем его самостоятельно или будем считать оба адреса равноценными, а это может привести к нежелательным последствиям. Дополнительные сведения представлены в разделе ниже, где говорится о том, для чего нужно выбирать канонический URL .

Используйте атрибут rel="canonical"

Используйте в заголовке страницы тег . Он указывает, что соответствующая страница копирует другую.

Предположим, вы хотите указать страницу https://example.com/dresses/green-dresses , содержание которой воспроизводится на других, в качестве канонической. Выполните следующие действия:

    Поместите на все повторяющиеся страницы ссылку rel="canonical" . Добавьте в раздел этих страниц элемент с атрибутом rel="canonical" , ссылающимся на каноническую страницу:

    Если у канонической страницы есть вариант для мобильных устройств, добавьте ссылку rel="alternate" , указывающую на мобильную версию.

    Добавьте атрибут hreflang или другую необходимую переадресацию.

Используйте следующую структуру URL: https://www.example.com/dresses/green/greendress.html
Не применяйте такой вариант: /dresses/green/greendress.html .

Используйте HTTP-заголовок rel="canonical"

Если у вас есть доступ к настройкам сервера, можно указывать канонический URL для документов в формате, отличном от HTML (например, PDF), с помощью атрибута rel="canonical" в заголовках HTTP (а не с помощью HTML-тегов).

Например, если на вашем сайте по нескольким разным URL доступен файл PDF, можно возвращать заголовок HTTP rel="canonical" , чтобы сообщить роботу Googlebot, какой из этих URL является каноническим:

Link: ; rel="canonical"

В настоящее время этот способ поддерживается только для веб-поиска.

В элементе link rel="canonical" указывайте абсолютные пути, а не относительные . Подробнее:

  • https://example.com/home
  • https://home.example.com
  • https://www.example.com

Выберите один из этих адресов в качестве канонического и используйте переадресацию 301 на стороне сервера, чтобы перенаправлять на данный адрес трафик с других URL. Это один из самых надежных способов обеспечить переход пользователей и поисковых систем на нужную страницу. Код статуса 301 означает, что запрашиваемая страница находится по другому адресу.

Если у вас есть доступ к сервису веб-хостинга, попробуйте найти в представленных на нем справочных материалах документацию по настройке переадресаций 301.

Была ли эта статья полезна?

Как можно улучшить эту статью?

Если ваш сайт имеет идентичный или очень похожий контент, доступный по разным URL , тогда новый формат позволит указать тот URL , который должен возвращаться в поисковой системе. Также можно быть уверенным, что все характеристики, такие как ссылочный вес и т.д. передадутся на нужную версию адреса.

Теперь вы можете добавить этот тег, для указания вашей версии адреса, внутри тега на страницах с дублированным контентом:

Таким образом, Google поймет, что все дубликаты ссылаются на канонический адрес, указанный в теге. Дополнительные свойства адреса, такие как PageRank и связанные сигналы также перенесутся с дублированных страниц на указанную.

Подобный тег будет полезным в основном при использовании различных движков (phpBB, IPB , WordPress, и т.д., напр. сайту ipbskins.ru – разработка дизайна сайта на IPB , приходится использовать длинный robots.txt в целях избежания дублированного контента), создающих множество похожих страниц, например, это могут быть страницы:

печатной версии статьи:
http://site.ru/article01.html?print=true
текстовой версии статей для моб. телефонов:
http://site.ru/lofiversion/article01.html
дублированные из-за недостатка движка:
http://site.ru/articles/?id=1&category=new
http://site.ru/articles/?id=1&tag=keyword
и ряд других…

Этот стандарт может быть адаптирован любой поисковой машиной при индексации сайта.

Для популярного блог-движка WordPress уже разработан плагин canonical , вставляющий тег на нужные страницы. Другие популярные движки для блогов, форумов, интернет-магазинов и т.д. также в ближайшем будущем расширят свою функциональность (следите за обновлениями).

Ответы на некоторые популярные вопросы по тегу:

Является ли rel=“canonical” подсказкой или директивой?
Это подсказка, которую мы берем во внимание и во взаимодействии с другими сигналами вычисляем наиболее релевантную страницу для отображения в поисковых результатах.

Могу ли я использовать относительный путь для указания canonical, например так: ?
Да, относительные пути распознаются также, как и в обычном теге . Даже если вы введете тег с ссылкой на документ, тогда относительные пути будут считаться в соответствии с базовым URL .

Это нормально, если канонические адреса содержат не полностью дублированный контент?
Мы позволяем небольшие различия, такие как порядок сортировки в таблице продуктов. Также мы понимаем, что канонические адреса могут парситься роботом в разное время, поэтому все это нормально.

Что если rel=“canonical” возвращает 404 ошибку?
Мы продолжим индексировать ваш контент и использовать эвристический подход, для определения канонического адреса, однако, мы рекомендуем, чтобы вы использовали существующие URL в качестве канонических.

Что если rel=“canonical” ещё не проиндексирован?
Мы стараемся достучаться до канонического URL быстро. Как только мы его проиндексируем, тогда сразу же перерассмотрим подсказку rel=“canonical”.

Может ли канонический урл содержать редирект?
Да, вы можете указать редирект, в этом случае поисковая машина обработает просесс перенаправления как обычно и попытается проиндексировать новый адрес.

Что если я имею противоречивые сигналы для rel=“canonical”?
Наши алгоритмы мягкие: мы можем следовать по каноническим цепям, однако, мы настоятельно рекомендуем, чтобы вы на страницах указывали единственный канонический адрес, чтобы быть уверенным в оптимальном результате канонизации.

Может ли этот тег для ссылки предложить канонический адрес на совершенно другом домене?
Нет. Чтобы мигрировать на другой домен, более подходящ. В настоящее время Google поддерживает канонизацию внутри поддоменов или внутри одного домена. Таким образом, владельцы сайтов могут указать www.example.com вместо example.com или help.example.com , однако, не могут указать example.com вместо example-widgets.com .

Звучит интересно, но могу ли я увидеть пример?
Да, wikia.com помогла нам, как трастовый тестер. Например, вы замтетите, что исходный код по адресу http://starwars.wikia.com/wiki/Nelvana_Limited содержит rel=canonical http://starwars.wikia.com/wiki/Nelvana .

Два адреса почти идентичны, исключая то, что Nelvana_Limited, первый URL , содержит короткое сообщение возле заголовка. Это хороший пример использования тега в будущем. С rel=canonical, свойства двух адресов обьединяются и поисковые результаты отображают нужную версию.

Если у вас есть какие-либо вопросы по использованию нового тега, вы можете их задать в комментариях на официальном блоге Google для вебмастеров .

1. Помимо избавления от естественного дублированного контента (из-за недостатка движка), мы также избавляемся от дублированного контента искусственного, когда конкуренты нам пытаются насолить, добавляя в страницы с произвольными параметрами в URL .

2. Теперь нет надобности использовать robots.txt для запрета индексации таких страниц, как “печатная версия” и других дубликатов (напр. в WordPress нужно было закрывать путь /teg/) и угождать каждому поисковику отдельно (есть общие стандарты для robots.txt, но есть также и ряд особенностей работы каждого поисковика с этим файлом, поэтому мы раньше не могли предусмотреть запрет индексации некоторых страниц сразу для всех ботов).

3. Мы теперь имеем хороший инструмент для ускорения индексации сайта 🙂

Часто бывает, что на сайте присутствуют дубли страниц, которые нельзя удалить или сделать 301 редирект в силу разных причин.

Использование атрибута rel canonical в SEO

Я начал этот пост с ситуации дублей карточек товаров на одном из моих клиентских сайтов. Это далеко не единичный случай использования реал каноникал в SEO. Очень часто атрибут rel canonical применяется для .

Часто также возникают разные споры и заблуждения в SEO кругах относительно использования canonical на саму себя. Вот, что ответил в одном из своих интервью Мэтт Каттс:

Абсолютно нормально, если страница ссылается сама на себя с rel=canonical, и абсолютно нормально, во всяком случае, для Google, чтобы rel=canonical стоял на каждой странице сайта. Люди думают, что его можно использовать спорадически, но это не тот случай. Мы специально рассматривали ситуацию, когда каждая страница сайта содержит rel=canonical. Пока вы заботитесь о том, чтобы они указывали на правильные страницы, проблем не будет вообще.

То есть ничего ужасного в этом нет, на многих сайтах wordpress (в том числе и на моем) стоит rel canonical на саму себя и страницы нормально ранжируются.

301 редирект или атрибут rel canonical

301 редирект — это директива, которая ОБЯЗАТЕЛЬНО учитывается поисковиками, без исключений. А каноникал — это некая “подсказка”, как вести себя роботу.

Поэтому предпочтительней использовать 301 редирект!

Но как в моем случае в начале поста, SaaS платформа не позволяет менять URL адреса и соответственно настроить 301 редирект, поэтому пришлось прибегнуть к помощи каноникла.

То есть canonical нужно использовать в том случае, когда нет технической возможности сделать 301 редирект. Об этом, кстати, говорит и Мэтт Каттс в том же интервью.

Напоследок еще хочу сказать, что в будут отображаться все страницы, в том числе и все дубли, но не канонические страницы будут исключаться из поиска.

P.S. А тем, кто не знает, кто такой Мэтт Каттс советую посмотреть вот этот короткий ролик.