Домой / Faq / Атрибут link rel=“canonical” как еще один эффективный способ борьбы с дублями и не только. Канонические ссылки (rel="canonical")

Атрибут link 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.

Атрибут rel=canonical был введен Google 12 февраля 2009 года. Он учитывается до сих пор, поисковой системой Яндекс в том числе. Атрибут rel=canonical указывает поисковым роботам какая страница является предпочтительной при индексации, если на сайте имеется несколько страниц с одинаковым содержимым, но с разными URL-адресами.

Допустим существует 2 страницы:

http://сайт/chto-takoe-alexa-rank.html
http://сайт/chto-takoe-alexa-rank.html?id=4535

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

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

Возьмем интернет магазин с 10 000 товарами. У каждого товара на сайте своя страница и несколько дублей. Представляете как подпортит продвижение сайта могут 20 000 дублированных страниц?

Откуда берутся неканонические страницы на сайте

Неканонические страницы или дубли генерируют движки управления, такие как WordPress, phpBB и прочие. Если у вас сайт написан на чистом HTML, то дублированных страниц в принципе быть не должно, если только вы их специально не добавляли конечно.

Если мы обратимся к справочнику вебмастера в Google и Яндекс, то увидим следующее:

Сообщение Google


Рекомендации Яндекс

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

Как прописать атрибут rel=canonical

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

Если взять CMS WordPress, то практически все SEO плагины предоставляют возможность прописать канонический URL автоматически. Я пользуюсь плагином All In One Seo Pack, поэтому покажу на его примере.

В настройках плагина нужно отметить галочкой, чтобы автоматически прописывались канонические URL-адреса.

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

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

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

Каноническую страницу легко указать поисковым системам в заголовке страницы, а именно в разделе head документа. Для этого нужно поместить следующий HTML код в head раздел каждого документа, являющегося неканоническим:

Если у Вас есть доступ к HTTP заголовкам, например, через htaccess или PHP, то Вы можете установить канонический URL для файлов, которые не имеют HTML кода, в частности, для PDF, DOC. Для этого используйте код:

Link: ; rel=»canonical»

Случаи, когда rel=»canonical» не работает

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

  • Если указать URL канонической страницы страницу отдающую 404 код, то поисковая система будет искать другой актуальный адрес.
  • При взломе сайта Google и Яндекс могут посчитать, что злоумышленники поставили фальшивые канонические адреса и в таком случае также их не учитывать.
  • Если Вы разместили конструкцию внутри тега BODY или в заголовке head при отсутствии закрывающего тега .

Случаи, когда rel=»canonical» можно применять

Как я писал выше, Вы должны использовать rel=»canonical» на страницах, которые являются дубликатами или очень похожими на основную (каноническую). Если у вас есть две похожие страницы, но не идентичные, порой имеет смысл изменить одну из них, чем делать канонической.

Важное, правило: канонической страницей нужно делать только ту страницу, которая находится сейчас в индексе. То есть нельзя использовать для этих целей страницу, которая была исключена из индекса, например, с помощью Robots или мета-тега Noindex или по другим причинам.

Правильное применение rel=»canonical» будет в следующих случаях:

  • Сайты с динамическими URL. Можно использовать данный атрибут для определения предпочтительного URL.
  • В коммерческих сайтах, в первую очередь интернет-магазинах, когда клиенты меняют порядок сортировки, важно чтобы получившийся при этом url не был проиндексирован.
  • При публикации синдицированного контента или дублированного внутри сайта на разных страницах. Важно с помощью rel=»canonical» правильно указать первоисточник.

Когда применять rel=»canonical» не стоит

  • Самая главная ошибка, когда используют данный атрибут при смене URL структуры сайта. На старых документах ставят rel=»canonical» на новые. А это неправильный подход. В таких случаях единственно правильным решением будет использование 301 редиректа.
  • Второй по важности ошибкой является неправильное использование данного атрибута на страницах пагинации. Например, многие указывают rel=»canonical» на страницах пагинации на главную страницу сайта, что является ошибкой. В таком случае оптимальным вариантом использование rel=prev/next.

Часто бывает, что на сайте присутствуют дубли страниц, которые нельзя удалить или сделать 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. А тем, кто не знает, кто такой Мэтт Каттс советую посмотреть вот этот короткий ролик.

В этой статье мы разберём, как и для чего нужно использовать атрибут rel=“canonical”, а также на конкретных примерах опишем, когда его лучше применять.

Что такое rel canonical и для чего он нужен?

Атрибут rel=“canonical” - один из способов борьбы с дублирующимся контентом. Он размещается на любой HTML-странице между тегами . Поисковые роботы начинают считать страницу, указанную в атрибуте rel=“canonical”, приоритетной (канонической). Каноническая страница будет отображаться в поиске, на неё перейдут ссылочный вес и другие характеристики страниц с одинаковым содержанием.

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

Когда нужно использовать канонические ссылки

1. Для предупреждения появления различных дублей. Например:

  • страниц сортировок: /*sort, asc, desc, list=*;
  • дублей из-за UTM-меток: *utm_source=, /*utm_campaign=, /*utm_content=, /*utm_term=, /*utm_medium=;
  • других страниц c GET-параметрами в URL;
  • дублей в результате особенностей работы CMS (движка).

В этом случае нужно добавить атрибут rel=“canonical” на все статические страницы сайта. Например, для страницы https://site.ru/category-1/page-2, rel=“canonical” будет выглядеть следующим образом:

href=“https://site.ru/category-1/page-2” />

2. Для доступных по разным URL страниц с очень похожим контентом.

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

В этом случае нужно указать со всех страниц rel=“canonical” на основную, приоритетную страницу.

В таком случае на каждой из страниц пагинации нужно указать канонической страницу «Показать всё».

Например, для страницы https://site.ru/category-1/page-2 нужно прописать канонический URL:

ru /category-1/show-all” />

Как указать основной URL при помощи атрибута rel=“canonical”?

Прописать между тегами любой HTML-страницы

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

Например, для страницы https://site.ru/*utm_content= канонической будет https://site.ru/.

Для получения такого результата, на странице https://site.ru/*utm_content= мы указали тег:

ru /” />

Важно!
Чтобы снизить вероятность ошибки в элементах link, после атрибута rel=“canonical” используйте абсолютные, а не относительные ссылки.

В файле Sitemap

В XML-карте сайта вы можете прописать канонический (основной) URL для любой страницы.

Важно!
Атрибут rel=“canonical” - это рекомендация для поисковой системы, а не правило. В этом случае ПС могут проигнорировать их.

В заголовке HTTP

Лучше всего использовать для документов не HTML-формата. Например, для файлов формата PDF.

В таком случае сервер, при запросе дублирующего файла, должен отдавать ссылку на файл-оригинал:

Link: ; rel=“canonical”

Важно!
Этот способ подойдёт, если у вас есть доступ к настройкам сервера. Не рекомендуется использовать для HTML-документов.

С помощью плагина

Для CMS существуют различные плагины, которые позволяют настроить канонический URL. Например:
— для WordPress можно настроить canonical с помощью Yoast SEO ;
— в OpenCart - реализовано в настройках CMS (нужно зайти в настройки товара и задать параметр SEO URL);
— для настройки атрибута canonical в Joomla (версии 3.х и выше) нужно включить в настройках CMS функцию SEF. После включения для технических страниц вида /index.php?option будет добавлен атрибут rel=“canonical” (с указанием URL на страницу с настроенным ЧПУ).

Как проверить правильно ли настроен rel=“canonical”?

Провести анализ можно специальной программой для SEO-анализа сайта - .

С помощью этой программы вы увидите:
— какие страницы на сайте без атрибута rel=“canonical”;
— на каких страницах стоит атрибут rel=“canonical”, и какие страницы являются для них каноническими;

Основные ошибки использования rel=“canonical”

— Канонический URL отдаёт 404 ошибку.
— Указанный канонический URL находится на другом домене или поддомене.
— Каноническая ссылка не является индексируемой.
— Использование rel=“canonical” со страниц пагинации на первую страницу.

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

Для страниц пагинации в качестве канонических нужно указывать эти же страницы.

Например, страница https://site.ru/category-1/page-2 должна содержать каноническую ссылку:

.