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) и наложение санкций за это со стороны поисковых систем.

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

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

Атрибут rel=canonical позволяет бороться с дублями страниц. Когда одно и то же содержимое доступно по разным URL, канонические ссылки указывают главную страницу. Эта страница (приоритетная) как раз и будет находиться в индексе поисковых систем и весь вес со страниц дубликатов будет перетекать на основную страницу.

Атрибут canonical прописывается на страницах дублей с указанием наиболее приоритетной страницы в разделестраницы вот так:

Данный тег прекрасно понимают все основные поисковые системы и канонические ссылки являются для некоторых типов страниц неотъемлемыми с точки зрения SEO оптимизации. Об этом всем мы с вами поговорим сегодня.

Rel canonical: что это

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

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

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

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

Откуда могут появиться дублирующиеся страницы?

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

Статья сайта относится к нескольким рубрикам

Если в вашего сайта выводится рубрика статей, то можно столкнуться с проблемой. Одна и та же статья может располагаться сразу по нескольким URL адресам. Вот у меня, к примеру, есть статья про безопасность в WordPress, она располагается сразу в 2-х категориях: "Полезное для блога" и "WordPress плагины". Поэтому доступна сразу по 2-ум разным URL адресам:

Это для нас, обычных посетителей, как будто страница одна и та же. Для поисковиков же это 2 разные страницы, которые являются дублями. И они могут включить в индекс либо сразу обе страницы, либо не ту, которую хотелось бы. Как раз в подобных случаях выручает rel=canonical, который позволяет указать поисковикам, что нужно проиндексировать только одну конкретную страницу.

В моем случае со страницы https://сайт/sozdanie-bloga/poleznoe_dlya_bloga/bezopasnost-wordpress.html прописан канонический URL на https://сайт/sozdanie-bloga/razdel-4-plaginy/bezopasnost-wordpress.html и поэтому в индексе только второй вариант страницы.

Данный rel=canonical у меня прописывается автоматически с помощью плагина для WordPress, более подробно в конце урока.

Товары интернет-магазина в нескольких категориях

Еще одно из самых популярных явлений, это когда товары в интернет-магазинах расположены сразу в нескольких категориях. В виде примера приведу товар iPhone 6s, который может располагаться сразу на нескольких страницах:

  • site.ru/apple/iphone6s/
  • site.ru/mobilnye-telefony/iphone6s/
  • site.ru/catalog/iphone6s/

Все точно также, нужно указать со всех страниц rel=canonical на основную, приоритетную страницу. Как выбрать правильно каноническую страницу расскажу ниже.

Страница печати, разные id

Также на некоторых страницах встречаются страницы для печати. У них к URL добавляется что-то вроде ?print=true . То есть, один и тот же контент может находиться на:

  • site.ru/content/post-1;
  • site.ru/content/post-1?print=true.

В таком случае со страницы site.ru/content/post-1?print=true нужно прописать в область(внимание, не в body!) следующее:

Благодаря этому действию, страница site.ru/content/post-1?print=true не будет участвовать в поиске, то есть не будет проиндексирована.

Также встречаются всякие &id=xxx , с ними боремся точно так же.

Тег more

Еще один популярный тег присваиваются статьям в стиле /#more-777 , который прописывается к URL. Чаще всего такое можно заметить на шаблонах WordPress, особенно старых. Чтобы в индекс попадала правильная страница, аналогично на странице site.ru/post#more-777 должно быть прописано:

Дубли replytocom

Точно также бывает с?replytocom=777 , которые могут попасть в индекс из-за древовидных комментариев. Делаем все по аналогии. Я же для борьбы с дублями replytocom просто ставлю галочку в и данная проблема больше не беспокоит:

Партнерская программа

Когда реализуете партнерскую программу, часто много ссылок c "хвостами" начинают ссылаться на вас. Получается, что-то вроде этого: site.ru/?partner=id777. С подобных страниц тоже нужно прописывать атрибут canonical, чтобы они не попали в индекс.

Как правильно использовать rel=canonical

Как вы уже поняли, чтобы в индексе был только 1 вариант страницы, нужно со всех дублирующихся страниц проставить атрибут canonical. Вот как он должен выглядеть

Данный тег должен находиться внутри.

Как правильно выбрать канонический урл?

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

  • Если страница раньше имела только 1 url, то лучше сделать канонической ее, так как скорей всего она уже проиндексирована, также имеет определенный вес. То есть с новой страницы проставить rel=canonical на старую.
  • Если же страницы создавались примерно в одно время, лучше каноническим URL сделать ту, которая находится в индексе.
  • Если же несколько страниц-дублей находится в индексе поисковиков, то лучше выбрать тот, который будет продвигаться. Чаще всего тот URL, который имеет меньше всего уровень вложенности, либо уже имеет входящие ссылки.
  • Если же все условия идентичные у страниц дублей, обычно берется за приоритетную страницу та, которая подходит под некий шаблон товара/статьи по сайту и предпочтение отдается единообразию.

Частые ошибки с атрибутом rel=canonical

  1. Тег rel="canonical" - это не строгая директива. Он лишь предлагает основную страницу для поисковиков, то есть просто-напросто советует.
  2. Нельзя использовать другой домен в данном атрибуте. Допускаются ссылки только внутри домена или поддомены.
  3. Для проставления канонических ссылок необязательно иметь 100% дублированный контент, если есть небольшие различия - это нормально. Такое может быть, когда продукты расставлены в другом порядке или поисковый робот посетил страницы в разное время, например.
  4. Если документ по каноническому адресу недоступен (отдает 404 ошибку, допустим), то поисковики могут проигнорировать его.
  5. Также поисковые роботы могут проигнорировать данный атрибут, если на странице указано несколько канонических урлов.
  6. Для указания канонического ссылки допускается использовать не полный URL адрес, а относительный путь:

    Но будьте аккуратны, можете "наломать дров", лучше использовать полный URL, с указанием вашего домена.

  7. Каноническая страница должна быть индексируемой.

Запомните: rel=canonical передает вес входящих ссылок .

Почитайте еще эти статьи (официальные руководства от Яндекса и Google):

Частные случаи использования rel=canonical

Сanonical сама на себя

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

Canonical для страниц пагинации

Многие вебмастера хотят сделать rel=canonical со страниц пагинации (site.ru/category/page/2) на первую страницу (site.ru/category). Это неправильно, как я считаю. Все-таки здесь встречаются не полные дубли, такие страницы пагинации лучше закрыть с помощью:

В WordPress это можно сделать автоматически, поставив галочку в плагине WordPress SEO by Yoast:

Товары

Если товары разделены на несколько страниц (их много и сделана разбивка на несколько страниц), то лучше основным каноническим урлом сделать вывод всех товаров, которое обычно выводится с помощью добавления к URL что-то подобное этому ?all=products .

Многие SEO плагины для WordPress очень хорошо дружат с атрибутом rel=canonical. Мой любимый и, как я считаю, вообще ничего не требует. Просто достаточно его активировать и необходимые канонические URL сами прописываются.

В некоторых других SEO плагинах в настройках нужно просто поставить галочку напротив "Канонические страницы" (или еще что-то подобное).

То есть по умолчанию, если статья на моем блоге присвоена сразу к нескольким категориям, то автоматически прописывается каноническая страница..html у меня прописан следующий атрибут rel=canonical (обратите внимание, это другой URL):

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

Выводы

Я надеюсь, что вполне понятно, смог объяснить, что такое атрибут rel=canonical и как им пользоваться. Настоятельно рекомендую ознакомиться вам еще с этим уроком: . Все эти действия с rel=canonical, 301-ым редиректом, meta name robots, файлом robots.txt позволят сделать выдачу вашего сайта "чистым".

Я за "чистый" индекс без дублей, служебных страниц и пр. ненужных вещей. Благодаря чистоте SEO продвижение сайта будет проще и правильнее.

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

  • site.ru/statya.html (для блогов);
  • site.ru/catalog/iphone6s (для интернет-магазинов).

Отдельное спасибо за ретвиты и репосты, мои друзья. Обязательно жду ваших мыслей в комментариях.

Канонический URL (canonical) позволяет указать поисковой системе, какая ссылка является предпочтительной для индексации. Настройкой canonical необходимо заниматься, если у вас на сайте имеются страницы с одинаковым содержанием. Ввиду особенностей CMS сайта могут автоматически создаваться страницы с одним и тем же контентом по разным адресам URL (более подробно читайте ниже). Появление подобных страниц возможно вследствие таких причин:

  1. Если вы написали одно и то же сообщение в разных темах блога, то есть вероятность автоматического создания еще одной страницы сайта.
  2. Например, у вас есть несколько доменов: http://article.example.com и http://blogs.example.com. И вы планируете размещать информацию сразу на обоих ресурсах. В таком случае размещаемый контент будет дублированным.
  3. Если была обновлена структура вашего сайта, после чего URL страниц сайта могли быть изменены.

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

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

Как настроить канонические адреса

Рассмотрим способы настройки «канонических» URL:

  1. Следует указать, какой URL считается основным. Сделать это можно при помощи атрибута rel="canonical" тега link. Например, на сайте присутствует несколько страниц с идентичным содержимым. Для того чтобы задать URL https://example.com/buyingcar в качестве основного, указываем на страницах с дублируемым контентом в блоке head кода страницы тег вида . В данной ситуации вы задаете главный URL, который в дальнейшем будет использован для просмотра сообщения о покупке автомобилей. Также эта страница будет показываться в результатах поисковой выдачи. Предпочтительнее задавать адрес сайта в абсолютном виде (https://example.com/buyingcar), избегайте относительных путей (/buyingcar).
  2. В карту сайта добавляем только канонические URL, в таком случае вы сможете сообщить поисковому роботу, какие страницы сайта вы считаете основными. При индексировании сайта поисковой робот не будет заходить на неканонические страницы, тем самым быстрее индексируя сайт.
  3. Для различных CMS существуют различные плагины, которые позволяют настроить канонические URL, например, для WordPress можно воспользоваться Yoast SEO .

Для OpenCart настройка атрибута canonical производится средствами CMS. Необходимо зайти в настройки товара и задать параметр SEO URL.

Для настройки canonical в Joomla нужно включить в настройках CMS функцию SEF. После включения для технических страниц вида /index.php?option будет добавлен атрибут rel="canonical" (с указанием URL на страницу с настроенным ЧПУ).

Как проверить дублированный контент

Проверить, настроен canonical для страниц вашего сайта или нет, можно с помощью следующих инструментов:

1. Для проверки настройки canonical, открываем html-код страницы и проверяем наличие атрибута canonical у тега link (в блоке кода страницы).

Также проверить контент на наличие дублей можно с помощью операторов поиска, рассмотрим на примере Google. Для этого нужно ввести в поисковую строку site:имя_домена "запрос", в итоге аналогично поиску от Яндекса по результатам поисковой выдачи делаем вывод о наличии дублированного контента.

3. Еще один способ найти дублируемый контент – уникальность. В этом нам помогут специальные программы и сервисы, мы рассмотрим на примере сервиса text.ru. Для анализа необходимо добавить информацию со страницы вашего сайта в сервис и запустить проверку. В результате вы увидите, на каких сайтах в Интернете есть такой же текст, и на сколько процентов ваш текст совпадает с текстами других сайтов.

Итог

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

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

Как rel=»canonical» может помочь продвижению?

Этот атрибут устраняет проблемы, связанные с дублирующимся контентом. Устанавливает предпочтительную версию страницы и передает сигналы, такие как ссылки, на эту версию страницы. Объединяет дубликаты контента, которые могут появляться по следующим причинам:

  • HTTP и HTTPS
  • одни и те же материалы в субдомене www и по обычным адресам http
  • параметры и многоаспектная навигация
  • идентификаторы сессий
  • завершающий слэш
  • индекс/страницы по умолчанию
  • версии альтернативной страницы, такие как m. или AMP-страницы или версии для печати

Где прописать атрибут rel=canonical

Большинству веб-мастеров известно, что атрибут добавляется в тег head:

Но не все знают, что canonical может также отправляться в заголовок HTTP:

HTTP/1.1 200 OK
Link: ; rel=»canonical»

Известно, что 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 можно легко ошибиться. Допустить, например, грамматическую ошибку, поставить завершающий слэш, в особенности когда есть еще нумерация страниц и . Если индексируется страница отличная от той, что значится в теге, страницы не будут объединены должным образом. Например, канонический элемент устанавливается на второй странице нумерованного списка для URL первой страницы. Атрибут canonical не следует использовать вместе с noindex.

Другие способы применения canonical

Атрибут canonical можно использовать для альтернативных версий сайта (мобильная и AMP-версия). Для не нужно специально менять эти атрибуты.



© 2024 beasthackerz.ru - Браузеры. Аудио. Жесткий диск. Программы. Локальная сеть. Windows