Как указать канонический 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/home
- https://home.example.com
- https://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.
Подробнее об устранении проблем с нормализацией…