Блог про интернет-маркетинг для бизнеса

SEO

Теги alternate, hreflang, media, type — зачем и как их использовать

65
0
2
41

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

В этом выпуске «азбуки SEO» я расскажу о важных для разметки сайта тегах — alternate, hreflang, media, — и как их грамотно использовать при продвижении. Кстати, остальные выпуски этой рубрики собраны здесь.

Зачем вообще нужны эти теги?

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

Все теги внедряются в код сайта, в контейнер <head></head>. Правда, есть нюансы. О них чуть дальше.

Зачем нужен тег alternate?

Благодаря одиночному тегу <link rel="alternate"  /> поисковые роботы могут определить языковые варианты и мобильную версию одной и той же страницы сайта — и показать нужному пользователю нужный альтернативный вариант текущей страницы.

Примеры:

  • определение языковой версии сайта: <link rel="alternate" hreflang="kz" href="http://kz.example.com/" />;
  • определение мобильной версии сайта: <link rel="alternate" media="only screen and (max-width: 640px)"  href="http://m.example.com/">.

О том, как мы использовали атрибут alternate при продвижении проекта, читайте в кейсе

Как использовать атрибут type?

Тег rel="alternate" в комбинации с атрибутом type и значением, отличным от “text/html”, указывает поисковым роботам на альтернативную версию страницы в другом формате. Наиболее распространенные значения:

  • application/rss+xml — для RSS формата;
  • application/atom+xml — для формата Atom;
  • application/activitystream+json — для Activity Streams JSON формата.

Например:

<link rel="alternate" type="application/rss+xml" href=".rss"
     title="RSS feed for this page"/>
<link rel="alternate" type="application/atom+xml" href=".atom"
     title="Atom feed for this page"/>
<link rel="alternate" type="application/activitystream+json" href=".as"
     title="Activity Streams JSON feed for this page"/>

Зачем нужен тег hreflang?

Тег указывает поисковикам на присутствие на сайте двух идентичных страниц, но на разных языках или для разных регионов. Hreflang предотвращает склейку страниц в процессе индексирования и чаще всего используется, когда:

  1. Контент на региональных сайтах/каталогах/поддоменах частично или полностью идентичен. Например, сайты ориентируются на разные регионы, но язык у них один и тот же (Великобритания, США, Австралия).
  2. Специалисты перевели только шаблон сайта, при этом контент в основном генерируется пользователями. Стоит избегать появления контента на нескольких языках на одном и том же URL.
  3. Контент на различных языковых версиях сайта полностью переведен на другой язык, например, присутствуют варианты страницы, как на английском, так и на испанском.
  4. Сайт переведен частично и показывать его нужно только для пользователей, разговаривающих на определенном языке и/или из определенного региона.

Однако тег hreflang не дает 100% гарантию, что поисковые системы не посчитают страницы с контентом на одном языке дублями. Поэтому настоятельно рекомендую наполнять страницы уникальным контентом, если вы разбиваете страницы на одном языке для разных регионов.

В теге можно одновременно указывать языковую и региональную версии сайта. Для этого необходимо использовать такой формат:

<link rel=”alternate” hreflang="xx-YY" href="URL" />

  • xx — язык (обязательно) согласно ISO 639-1;
  • YY — регион (не обязательно) согласно ISO 3166-1 Alpha 2;
  • URL — абсолютный URL альтернативной страницы.

Как правильно внедрить тег hreflang?

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

Например, для страницы http://domain.com/page1:

<link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/page1" />
<link rel="alternate" hreflang="es" href="http://domain.es/page1" />
<link rel="alternate" hreflang="x-default" href="http://domain.net/page1" />
<link rel="alternate" hreflang="en" href="http://domain.com/page1" />

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

3. Регистр символов при указании региона не важен (по крайней мере для Google), но лучше следовать стандартам: указывать язык в нижнем регистре, а регион — в верхнем.

4. Атрибуты hreflang могут быть использованы в любой структуре сайта (разные домены, поддомены или директории).

5. Hreflang должен быть использован независимо от настроек в Google Search Console.

Читайте также, как использовать тег hreflang для правильного переноса сайта на https.

Существует три способа внедрения тега hreflang: с помощью HTML-тегов, ХML-карты и HTTP-заголовков.

Допустим, у нас есть сайты:

  • http://domain.com/ — для англоязычных пользователей в любых регионах.
  • http://domain.co.uk/ — для англоязычных пользователей из Британии.
  • http://domain.es/ — для испаноязычных пользователей.
  • http://domain.net/ — для всех остальных пользователей.

Внедряем hreflang с помощью HTML-тегов

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

Для главных страниц сайтов необходимо разместить коды в контейнере <head></head>.

Для http://domain.com/:

<link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
<link rel="alternate" hreflang="es" href="http://domain.es/" />
<link rel="alternate" hreflang="x-default" href="http://domain.net/" />
<link rel="alternate" hreflang="en" href="http://domain.com/" />

Для http://domain.co.uk/:

<link rel="alternate" hreflang="en" href="http://domain.com/" />
<link rel="alternate" hreflang="es" href="http://domain.es/" />
<link rel="alternate" hreflang="x-default" href="http://domain.net/" />
<link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />

Для http://domain.es/:

<link rel="alternate" hreflang="en" href="http://domain.com/" />
<link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
<link rel="alternate" hreflang="x-default" href="http://domain.net/" />
<link rel="alternate" hreflang="es" href="http://domain.es/" />

Для http://domain.net/:

<link rel="alternate" hreflang="en" href="http://domain.com/" />
<link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
<link rel="alternate" hreflang="es" href="http://domain.es/" />
<link rel="alternate" hreflang="x-default" href="http://domain.net/" />

Порядок размещения тегов внутри контейнера не важен.

Внедряем hreflang с помощью XML-карты

Это приоритетный способ, особенно при наличии большого количества вариантов альтернативных страниц.

В карту нужно добавить xhtml:link-element для каждой из страниц с альтернативным вариантом. Эти теги должны указывать на альтернативные адреса, включая текущий. Внутри элемента <url> следует указать xhtml:link-element c ссылками на альтернативные версии страниц.

Для http://domain.com/:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://domain.com/</loc>
<xhtml:link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
<xhtml:link rel="alternate" hreflang="es" href="http://domain.es/" />
<xhtml:link rel="alternate" hreflang="x-default" href="http://domain.net/" />
<xhtml:link rel="alternate" hreflang="en" href="http://domain.com/" />
</url>
...
</urlset>

Для http://domain.co.uk/:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://domain.co.uk/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://domain.com/" />
<xhtml:link rel="alternate" hreflang="es" href="http://domain.es/" />
<xhtml:link rel="alternate" hreflang="x-default" href="http://domain.net/" />
<xhtml:link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
</url>
...
</urlset>

Для http://domain.es/:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://domain.es/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://domain.com/" />
<xhtml:link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
<xhtml:link rel="alternate" hreflang="x-default" href="http://domain.net/" />
<xhtml:link rel="alternate" hreflang="es" href="http://domain.es/" />
</url>
...
</urlset>

Для http://domain.net/:

<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml">
<url>
<loc>http://domain.net/</loc>
<xhtml:link rel="alternate" hreflang="en" href="http://domain.com/" />
<xhtml:link rel="alternate" hreflang="en-GB" href="http://domain.co.uk/" />
<xhtml:link rel="alternate" hreflang="es" href="http://domain.es/" />
<xhtml:link rel="alternate" hreflang="x-default" href="http://domain.net/" />
</url>
...
</urlset>

Внедряем hreflang с помощью HTTP-заголовков

Этот способ можно использовать для страниц, которые не являются HTML-документами, а, например, PDF-файлами:

Link: <http://domain.com/document.pdf/>; rel="alternate"; hreflang="en"
Link: <http://domain.co.uk/document.pdf/>; rel="alternate"; hreflang="en-GB"
Link: <http://domain.es/document.pdf/>; rel="alternate"; hreflang="es"
Link: <http://domain.net/document.pdf/>; rel="alternate"; hreflang="x-default"

Читайте также рекомендации Яндекса и Google по использованию атрибута hreflang.

Как использовать тег media?

При оптимизации страниц для мобильных телефонов и планшетов чаще всего используется:

  • создание адаптивной версии сайта;
  • динамический показ;
  • создание мобильной версии сайта.

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

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

Как правильно внедрить тег media?

Предположим, что десктопная версия страницы сайта доступна по ссылке http://domain.com/page, а мобильная — http://m.domain.com/page.

В таком случае на http://domain.com/page необходимо разместить указатель на мобильную версию сайта:

<link rel="alternate" media="only screen and (max-width: 640px)" href="http://m.domain.com/page">

На мобильной версии страницы, то есть на http://m.domain.com/page, следует разместить код:

<link rel="canonical" href="http://domain.com/page">

Читайте также дополнительные рекомендации Яндекс и Google (здесь еще) по внедрению атрибута media.

Выводы

  1. Одиночный тег <link rel="alternate"  /> нужен для определения языковых вариантов и мобильной версии одной и той же страницы сайта.
  2. При использовании в комбинации с атрибутом type и значением, отличным от “text/html”, rel="alternate", указывает на альтернативную версию страницы в другом формате.
  3. Тег hreflang указывает на присутствие двух идентичных страниц, но на разных языках или для разных регионов. Hreflang предотвращает склейку страниц между собой и чаще всего используется в теле страниц. Существует три способа внедрения тега hreflang: с помощью HTML-тегов, ХML-карты и HTTP-заголовков.
  4. Чтобы избежать исключения страниц дублей из поисковой выдачи, необходимо внедрить тег media. Как и в случае с hreflang, использование тега является рекомендацией поисковых систем и не дает 100% гарантии появления страниц-дублей в выдаче.
Обнаружили ошибку? Выделите ее и нажмите Ctrl + Enter.

Комментарии (9)

  1. 0
    6 месяцев назад

    Спасибо за статью)

    Екатерина, есть ли у Вас примеры внедрения hreflang и результаты его влияния на ранжирование сайта? Интересуют такие пример:

    1. На сайте с проблемами дублированного контента на региональных версиях внедрили hreflang. Если да, то какие результаты получили (рост/падение/ничего не изменилось)?

    2. Главный сайт размножили на другие регионы, при этом они практически полностью дублируют основной сайт, но внедрили hreflang. Если да, то какие результаты (рост/падение/ничего не изменилось)?

    • 0
      Jenya Kuznetsov
      6 месяцев назад

      Добрый день!


      Т.к. все работы по SEO-продвижению мы всегда проводим в комплексе, то сказать, что где-то положительно сработал именно Hreflang нельзя. 

      Однако, есть негативный кейс. При некорректной настройке hreflang на одном из сайтов (был проставлен не тот регион) в Google Search Console автоматически был выставлен неверный регион сайта. В следствии чего трафик из нужного региона стал падать. 

      Поэтому могу точно сказать, что корректная настройка может привести к улучшению результата.

  2. 0
    7 месяцев назад

    Хорошая статья.


    P.S. Екатерина выглядит довольно сладенькой

  3. 0
    7 месяцев назад

    Очень интересная статья! Благодарю.

    Заинтересовал тег hreflang.

    Есть московский сайт (основа), у него есть 170 поддоменов по разным городам России. На этих поддоменах 95% идентичного контента разница только в цене и названии города. Можно ли использовать данный тег с целью указания региональности для поисковых машин для того что бы поисковики не считали данные поддомены дублями основного московского сайта или для этих целей есть какие то другие методы?

    Благодарю!

    • 0
      Иван
      3 месяца назад

      Я бы посоветовал вам через robots.txt  что-то вроде

      Host: site.kz

      Sitemap: https://site.kz/sitemap.xml

      и это во всех поддоменах

    • 0
      Иван
      7 месяцев назад

      Добрый день!


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

      В вашем случае рекомендую уникализировать контент на страницах, это будет самый действенный метод.

Чтобы оставить комментарий, необходимо авторизироваться

Подписаться

на самую полезную рассылку по интернет-маркетингу

Самое

обсуждаемое популярное читаемое