Как указать канонический URL с помощью атрибута rel="canonical" и другими способами
Есть несколько способов передать в Google Поиск канонический URL для одинаковых или очень похожих страниц. Эти способы перечислены ниже в соответствии с их эффективностью.
- Переадресация. Явный признак того, что целевой URL переадресации должен рассматриваться как канонический.
-
Аннотации
linkс атрибутомrel="canonical". Явный признак того, что указанный URL должен рассматриваться как канонический. - Использование файла Sitemap. Не самый эффективный способ, при котором каноническими становятся URL, указанные в файле Sitemap.
Обратите внимание, что эти способы можно комбинировать, тем самым повышая их эффективность. Это означает, что при одновременном использовании двух и более способов повышается вероятность появления указанных вами канонических URL в результатах поиска.
Хотя мы и рекомендуем придерживаться указанных методов, они не являются обязательными. Вполне вероятно, что ваш сайт будет вполне эффективен в Поиске и без указания канонических URL. Дело в том, что, если вы не укажете канонический URL, Google самостоятельно определит, какая версия URL является наиболее подходящим вариантом для размещения в результатах поиска.
Для чего нужно указывать канонический URL
Как правило, указывать канонические URL не требуется, однако существует ряд причин, по которым стоит сообщать Google о том, какая страница из группы одинаковых или похожих страниц является канонической:
-
Чтобы указать, какой URL следует показывать в результатах поиска.
Предположим, вы хотите, чтобы посетители переходили на страницу с описанием платья зеленого цвета по адресу
https://www.example.com/dresses/green/green-dress.html, а неhttps://example.com/dresses/cocktail?gclid=ABCD. -
Чтобы сгруппировать сигналы для похожих или одинаковых страниц. Так поисковые системы смогут объединить все сигналы, которые у них есть для отдельных страниц (например, ссылки на них), и связать их с одним URL. Это означает, что все сигналы с других сайтов по адресу
https://example.com/dresses/cocktail?gclid=ABCDобъединяются со ссылками наhttps://www.example.com/dresses/green/green-dress.html, если последний URL является каноническим. - Чтобы упростить получение статистики по контенту. Если контент размещен на нескольких страницах с разными URL, это затрудняет получение обобщенной статистики по нему.
- Чтобы оптимизировать сканирование сайта. Возможно, вам необходимо обеспечить максимальную эффективность сканирования вашего сайта роботом Googlebot. Гораздо полезнее обрабатывать новый или обновленный контент, нежели тратить время на копии одних и тех же страниц.
Рекомендации
Ниже приведены общие рекомендации по нормализации URL.
- Не используйте для нормализации файл robots.txt.
- Не используйте для нормализации инструмент удаления URL. Он скрывает из результатов поиска все варианты URL.
- Не указывайте разные URL в качестве канонических для одной страницы, используя разные способы нормализации (например, не надо указывать в файле Sitemap один URL, а с помощью атрибута
rel="canonical"– другой). - Не указывайте фрагмент URL в качестве канонического, поскольку Google, как правило, не поддерживает фрагменты URL.
-
Не рекомендуется использовать директиву
noindex, чтобы запретить выбирать ту или иную страницу в качестве канонической на одном сайте, поскольку это приведет к полной блокировке страницы в Поиске. Аннотацииlinkс атрибутомrel="canonical"являются предпочтительным решением. - При использовании элементов
hreflangстарайтесь в качестве канонической указывать страницу на том же языке, что и альтернативная, а если это невозможно, то на самом близком к нему языке. - Внутренние ссылки должны указывать на канонические, а не на повторяющиеся URL. Это поможет нам понять, какую страницу вы считаете приоритетной.
Сравнение методов нормализации
Ниже находится таблица сравнения различных методов нормализации с их преимуществами и недостатками в плане удобства настройки и эффективности в разных сценариях.
| Способ и описание | |||
|---|---|---|---|
Элемент rel="canonical" link |
Добавьте в код всех копий страниц элемент
|
||
HTTP-заголовок rel="canonical"
|
Включите в HTTP-заголовок страницы атрибут
|
||
| Файл Sitemap |
Укажите канонические страницы в файле Sitemap.
|
||
| Переадресация | С помощью переадресации можно сообщить роботу Googlebot, что конечный URL более актуален. К этому способу следует прибегать только в том случае, если решено прекратить показ копии страницы. | ||
| Вариант страницы в формате AMP | Если один из вариантов страницы опубликован в таком формате, укажите каноническую страницу и ее AMP-версию согласно инструкциям для AMP. | ||
Как использовать аннотации link с атрибутом rel="canonical"
Google поддерживает аннотации link, добавленные в явном виде с атрибутом rel canonical, как описано в документе RFC 6596.
Аннотации rel="canonical", указывающие на альтернативные версии страниц, игнорируются. Аннотации rel="canonical" с атрибутами hreflang, lang, media и type не используются для нормализации. Если вам нужно указать альтернативные версии страницы, используйте аннотации link. Например, для страниц, относящихся к тем или иным языкам и странам, подойдут аннотации link и rel="alternate" с атрибутом hreflang.
Аннотации link с атрибутом rel="canonical" можно добавить двумя способами:
-
внедрив элемент
linkс атрибутомrel="canonical"на HTML-страницу; -
указав атрибут
rel="canonical"в HTTP-заголовкеlink.
Рекомендуем придерживаться одного из этих способов. По возможности используйте оба для большей надежности (например, один URL можно указать в HTTP-заголовке, а другой – в элементе link rel="canonical").
Элемент link с атрибутом rel="canonical"
Элемент link с атрибутом rel="canonical" (также известный как канонический элемент) размещается в разделе head HTML-страницы и указывает, что контент с данной страницы также размещен на другой.
Предположим, вы хотите сделать канонической страницу https://example.com/dresses/green-dresses, в то время как ее контент доступен и по другим URL. Выполните следующие действия:
-
Добавьте в раздел
<head>всех копий страницы элемент<link>, содержащий атрибутrel="canonical"со ссылкой на каноническую страницу. Пример:<html> <head> <title>Explore the world of dresses</title> <link rel="canonical" href="https://example.com/dresses/green-dresses" /> <!-- other elements --> </head> <!-- rest of the HTML -->
-
Если у канонической страницы есть вариант для мобильных устройств с другим URL, добавьте элемент
linkс атрибутомrel="alternate", содержащий ссылку на мобильную версию:<html> <head> <title>Explore the world of dresses</title> <link rel="alternate" media="only screen and (max-width: 640px)" href="https://m.example.com/dresses/green-dresses"> <link rel="canonical" href="https://example.com/dresses/green-dresses" /> <!-- other elements --> </head> <!-- rest of the HTML -->
- Добавьте любой элемент
hreflangили другие подходящие элементы.
Элементы link с атрибутом rel="canonical" должны содержать абсолютные пути, а не относительные. Хотя относительные пути и поддерживаются Google, мы не рекомендуем их использовать, поскольку это может вызвать проблемы в долгосрочной перспективе (например, если вы намеренно разрешаете сканировать свой тестовый сайт).
Рекомендуется:
https://www.example.com/dresses/green/green-dress.html
Не рекомендуется:
/dresses/green/green-dress.html
Элемент link element с атрибутом rel="canonical" принимается только в том случае, если он размещен в разделе <head> HTML-страницы. В связи с этим необходимо использовать корректный код HTML хотя бы в разделе <head>.
При добавлении элемента link с атрибутом rel="canonical" с помощью JavaScript делайте это правильно.
HTTP-заголовок с атрибутом rel="canonical"
Если у вас есть доступ к настройкам сервера, то для того, чтобы указать канонический URL, вместо элемента HTML можно использовать HTTP-заголовок с атрибутом link и атрибутом target rel="canonical" согласно методу RFC 5988. Этот способ совместим со всеми документами, которые поддерживает Google Поиск, в том числе и в формате, отличном от HTML, например c файлами PDF.
Этот способ поддерживается только для веб-поиска.
Если ваш контент публикуется в разных форматах, например PDF или Microsoft Word, и у каждого свой URL, то из HTTP-заголовка с атрибутом rel="canonical" робот Googlebot сможет получить канонический URL файлов, которые не относятся к HTML. Например, добавив этот HTTP-заголовок в версию в формате .docx, можно обозначить, что канонической является версия документа в формате PDF, а не .docx:
HTTP/1.1 200 OK Content-Length: 19 ... Link: <https://www.example.com/downloads/white-paper.pdf>; rel="canonical" ...
Как и в элементе link с элементом rel="canonical", в HTTP-заголовке с атрибутом rel="canonical" нужно использовать только абсолютные URL.
Как использовать файл Sitemap
Укажите канонический URL для каждой страницы в файле Sitemap. Все страницы в этом файле предлагаются в качестве канонических. Googlebot сможет определить, какие из них являются копиями, по их контенту.
Указать канонические URL с помощью файла Sitemap – это простой способ обозначить канонические страницы на крупном сайте, а также сообщить Google, какие страницы являются для вас основными.
Как использовать переадресацию
Этот способ позволяет исключить копии страниц. Все способы переадресации – переадресация с кодами ответа 301 и 302, meta-refresh и с использованием JavaScript – одинаково эффективны в Google Поиске, однако их обнаружение поисковыми системами может занять разное время.
Самой быстрой является переадресация с кодом ответа 3xx (также известная как серверная переадресация).
Предположим, на вашу страницу можно перейти по следующим URL:
https://example.com/homehttps://home.example.comhttps://www.example.com
Выберите один из этих адресов в качестве канонического и используйте переадресацию на стороне сервера, чтобы перенаправлять на этот URL трафик с других адресов.
Другие сигналы
Помимо обозначенных выше методов, в Google также используются сигналы нормализации, которые зависят от настроек сайта – используется ли на нем протокол HTTPS вместо HTTP и объединены ли URL в кластеры hreflang.
При выборе канонических URL отдавайте предпочтение протоколу HTTPS
При определении канонических ссылок Google отдает предпочтение страницам HTTPS, если при этом не возникают проблемы, например следующие:
- Страница HTTPS использует недействительный сертификат SSL.
- Страница HTTPS содержит небезопасные зависимости (кроме изображений).
- Страница HTTPS выполняет переадресацию на страницу HTTP.
- Страница HTTPS содержит элемент
linkс атрибутомrel="canonical", который указывает на страницу HTTP.
Хотя для Google HTTPS-страницы являются приоритетными по умолчанию, вы можете явным образом указать, что именно HTTPS-версия должна быть канонической. Для этого выполните одно из следующих действий:
- Добавьте переадресацию с HTTP-страницы на HTTPS.
- Используйте переадресацию со страницы HTTP на страницу HTTPS с помощью элемента
linkс атрибутомrel="canonical". - Используйте технологию HSTS.
Как добиться того, чтобы страница HTTP не была ошибочно назначена канонической:
- Избегайте использования недействительных сертификатов TLS или SSL, а также переадресаций со страниц HTTPS на HTTP, поскольку эти факторы в высокой степени способствуют выбору страниц HTTP. При этом не важно, применяется ли протокол HSTS.
-
Не указывайте HTTP-версии своих страниц в файле Sitemap или аннотациях
hreflangпри наличии их HTTPS-версий. -
Не используйте сертификат SSL/TLS для некорректного хоста (например, если
example.comпередает сертификат дляsubdomain.example.com). Этот сертификат должен соответствовать полному URL сайта или являться групповым, то есть пригодным для использования на нескольких субдоменах.
Отдавайте предпочтение URL в кластерах hreflang
На многоязычных сайтах в целях нормализации Google отдает предпочтение URL, входящим в кластеры hreflang. Например, если страницы https://example.com/de-de/cats и https://example.com/de-ch/cats с помощью аннотаций hreflang взаимно указывают друг на друга, но не на https://example.com/de-at/cats, то страницы de-de и de-ch будут назначены каноническими вместо /de-at/, которая не входит в кластер hreflang.
Подробнее об устранении проблем с нормализацией…