Блог Яндекса для вебмастеров

Яндекс поддерживает стандарт для указания мультиязычности сайта

Пост в архиве.

Иногда у владельцев сайтов возникает необходимость перевести сайт на разные языки. Обычно при переводе сайта используются региональные поддомены, подкаталоги на сайте или сайты в разных доменных зонах. Для корректной индексации и ранжирования таких сайтов, чтобы пользователю из Америки была показана англоязычная версия страницы, а российскому — русскоязычная, поисковые системы поддерживают специальные атрибуты rel="alternate" hreflang="x"


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

  • страница на английском для регионов США,
  • страница на русском языке для региона Россия,
  • страница на турецком для региона Турция,

то каждая страница должна содержать следующую разметку:
<link rel="alternate" hreflang="en-us" href="http://example.com/en-us/">
<link rel="alternate" hreflang="tr-tr" href="http://example.com/tr-tr/">
<link rel="alternate" hreflang="ru-ru" href="http://example.com/ru-ru/">






Сегодня поисковые системы "Яндекс" и Google объединились и поддержали расширение x-default для атрибута hreflang. Расширение позволяет указать, что страница:
а) изменяется в зависимости от настроек, IP-пользователя или содержит настройку выбора языка;
б) страница будет показываться по-умолчанию посетителям из остальных стран, для которых нет региональных версий.


<link rel="alternate" hreflang="x-default" href="http://example.com/"> — такой атрибут необходимо указать для IP-зависимой страницы, а также сослаться на версии остальных страниц на других языках:
<link rel="alternate" hreflang="en-us" href="http://example.com/en-us/">
<ink rel="alternate" hreflang="tr-tr" href="http://example.com/tr-tr/">
<link rel="alternate" hreflang="ru-ru" href="http://example.com/ru-ru/">

 

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

Если у вас возникают вопросы, вы можете задать их в комментариях или в клубе Поиска

72 комментария

Это очень клёво!

круть!

А если обе версии сайта расположены по одному физическому адресу и содержание их меняется исходя из IP пользователя. Стоит ли в таком случае использовать данный атрибут, и если да, то каким образом?

Именно об этом вторая часть стандарта. 

Нужно создать страницы, которые жестко привязаны к региону (без зависимостей от IP). Если версий сайта две, то получаем три версии страниц - одна IP-зависимая и две привязанные к разным регионам. Далее на каждой странице размещается три тега link. Значение атрибута hreflang для IP-зависимой страницы будет "x-default", для двух остальных с соответствующим языком и регионом.

Клёво, как раз хотели разобраться с подобной ситуацией :)

а значения атрибутов hreflang должны быть строго из ISO Language Code Table?

исходя из примера /ru-ua - нет, потому что украинский язык - uk, а не ua, т.е. очевидно ua - это регион, а где его брать - хз

В примере Украина верно обозначена как UA.

О! А можете сказать какой из вариантов в приоритете и почему?
1. site.com/ru/ & site.com/en/
2. ru.site.com & en.site.com
3. site.ru & site.com (or site.us, site.uk)
Выбор схемы именования зависит от каждого конкретного сайта. Где-то лучше первый вариант, где-то второй, где-то третий. А могут и все сразу использоваться, для разных целей.
Нет ли конкретного примера поиска разных версий по разным запросам?
малярные работы

Очень круто!!! Наконец-то стандарт.

firstmedia.rufirst
19 января 2016, 11:16

сайт 2 версий

 

русский язык – по адресу http://xxx.ru/ - отмечаю для украины, белоруссии и казахстана, соот-но ua, by и kz

англоязычная версия - по адресу http://www.xxx.com/ - для всех остальных, использую hreflang="x-default". Верно?

 дальше: 

Добавляем в раздел HTML всех страниц сайта http://xxx.ru/ элемент link, как показано ниже:

на все страницы xxx.ru/page (в том числе на главной xxx.ru):

http://xxx.com/page" />

 

на все страницы xxx.com/page (в том числе на главной xxx.com): 

http://xxx.ru/page" />

http://xxx.ru/page" />

http://xxx.ru/page" />

http://xxx.ru/" />

 

Вопрос: нужно ли добавить линки на себя? или все описано правильно?
10 перечитала инструкции - противоречивые очень.

Заранее спасибо за ответ! 

 

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

 

http://xxx.ru/page" />

http://xxx.com/page" />

 

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

firstmedia.rufirst
19 января 2016, 11:16

А на русской версии нужно указать только английскую? или русскую тоже?

Лучше всегда указывать все версии. Если робот скачал одну версию, но не скачал вторую, то благодаря тегу link, где страница ссылается на себя, он уже знает к какому языку и региону относится эта страница.

firstmedia.rufirst
19 января 2016, 11:16

Спасибо!

 

благодаря тегу link, где страница ссылается на себя, он уже знает к какому языку и региону относится эта страница

Для этого служит атрибут `lang` элемента `HTML`, нет?

firstmedia.rufirst
19 января 2016, 11:16

да, 2 статические версии, но указывая на сайте

1 вариант:

http://xxx.ru/page" />

http://xxx.com/page" /> 

 

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

2 вариант:
http://xxx.ru/page" />

http://xxx.ru/page" />

http://xxx.ru/page" />

http://xxx.ru/" />

Например, в 1 варианте у нас есть русская и английская версия. А как это будет влиять на выдачу?  какую территорию охватывает hreflang="ru", только Россию? 

и какую территорию охватывает: hreflang="en"

И получим ли мы русскоязычный трафик с Казахстана, если дополнительно укажем 
http://xxx.ru/" />
тот же вопрос и по другим странам.

 

А ссылки давать только с доменом, или можно без, типа:

 

/">
/en-us/">
/tr-tr/">

?

Домен не обязателен, можно использовать относительные ссылки.

с какиж это пор в разметке работают относительные ссылки? :)

Скажите, пожалуйста, что делать в следующем случае. Предположим, у нас на страницах не 100% идентичный текст, а есть также привязка, например, к валюте страны посетителя.

 

То есть, например, на сайте используются 2 языка, русский и английский, но при этом сайт работает для посетителей таких стран: Россия, Украина, США, Европа.

 

В зависимости от IP посетителя, мы открываем ему одну из следующих страниц:

 

site.com/ru-ru/

site.com/ru-ua/

site.com/ru-us/

site.com/ru-eu/

site.com/en-ru/

site.com/en-ua/

site.com/en-us/

site.com/en-eu/

 

По умолчанию пользователю из США открывается site.com/en-us/, но мы оставляем возможность сменить язык, но не менять страну. Просто не хочется ограничивать в удобстве пользования сайтом русскоязычного человека, живущего в США и желающем видеть цены в долларах.

 

Что, в таком случае, должно быть указано в тегах, например, у страницы site.com/ru-us/ ? А если при этом 4 языка и 10 стран? Уже 40 строк тегов надо делать?

 

На текущий момент я вижу только такую схему: в главных версиях сайта, site.com/ru-ru/ и site.com/en-us/ делаем по описанной в этой теме схеме.

А во всех остальных версиях (site.com/en-eu/, site.com/ru-ua/ и т. д.) добавляем соответственно

 

 

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

Что касается варианта с canonical, то тут есть ряд моментов:

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

Во-вторых, если использовать canonical и hraflang с url site.com/ru-ru/, то известно, что урл хорош для региона ru, неизвестно, можно ли его аналогично использовать для ua. Если каноническим url оставить /ru/ (без региона), то теряется жесткая привязка к региону, что аналогично уменьшает пользу стандарта.

Сами авторы стандарта не рекомендуют использовать canonical между языковыми или региональными версиями.

Спасибо за ответ. В общем, получается, что нужно вписывать теги для всех связок стран и языков, то есть общее количество тегов должно быть равным произведению количества стран на количество языков + 1 (x-default)?

 

На самом деле, этот вопрос бы не возник, если бы разработчики добавили в пример хотя бы одну страну, в которой дублируется существующий язык. Например, Украину с русским языком.

Еслибы показали ещё пример поиска таких страниц, чтобы конкретно было видно что и как происходит...

А так всё похоже на рассуждения про то, о чём рекомендации есть, а самого этого всего - ещё нет.

Ребята, у меня два сайта международного бренда для Украины и России на отдельных ccTLD (.com.ua и .ru)

Как помочь поисковикам и подсказать что это не просто дубликат, а интернациональный сайт

Думаю над внедрением:

http://example.ru/">

http://example.com.ua/"> 

Подскажите правильно ли я делаю... 

Так же подскажите...правильно ru-ua или ru-uk? 

you can use "canonical" for duplication issue.

 

http://atozhackingtricks.blogspot.com

Отлично

Отличная тема

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

Например Москва, Калуга, Рязань  и т.д.

Страницы получаются сосвем одинаковые, отличия мелкие (номер телефона в шапке, адрес организации,  на странице каталога товаров разница лишь в ценах и наличие, а описание и карточки товаров идентичные).

 

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

И какой способ в этом случае лучше использовать, поддомены для городов или папки ?

 

В случае с поддоменами, получится дублирование контента на разных сайтах, не будет ли это плохо сказываться ?

 

Буду очень признателен за ссылочки на любую информацию об этом.

А как в этом случае прописать hreflang в robots.txt?

 

У себя пишу так:

http://mzpu-plast.com/en/" />

 

+ в urlset строка xmlns:xhtml="http://www.w3.org/1999/xhtml

 

Но валидатору отчаянно не нравится xhtml, что делать?

Елена Першина
19 января 2016, 11:16

hreflang не нужно прописывать в robots.txt, это нужно делать в исходном коде страниц (https://yandex.ru/support/webmaster/yandex-indexing/locale-pages.xml ).

В sitemap, действительно, мы не поддерживаем rel="alternate" и просто проигнорируем его. Валидатор будет ругаться на это, но, если sitemap один для Яндекса и Google, то можно оставить один для всех.

 

Неверно сформулировала, да, конечно, hreflang прописан в коде, а не в роботс. Вопрос был, нужно ли что-то дополнительно прописывать в роботс, чтобы робот Яндекса верно понял hreflang.

 

Ясно, спасибо за ответ.

Указано что Яндекс и Google используют один и тот же формат Sitemap
Однако код Google (офиц.пример:https://support.google.com/webmasters/answer/2620865?hl=ru) тег <xhtml:link Яндекс не понимает и на своей странице тут приведен другой тег: <link rel="alternate" hreflang="en-us" href="http://example.com/en-us/">
Можете пояснить?
mihey-dusek,
Поддерживаю вопрос и ждем ответа, ругается на карту и показывает ошибки именно на xhtml:link.
Есть сайт на 6 языках. Контент одинаковый, но переведенный на разные языки.
При заходе на сайт человека редиректит по языку браузера. Если такого нету - английская версия показывается. Никаких привязок к региону нету, только к языку браузера. Отсюда вопрос - какие meta теги мне надо ставить?


Мне надо перечислять все регионы, к примеру где используется немецкий язык или, испанский? нет ли какого-то простого формата типа, или надо все страны(регионы) перечислять?
<link rel="alternate" hreflang="de" href="http://example.com/de/">
<link rel="alternate" hreflang="x-default" href="http://example.com/"> — такой атрибут необходимо указать для IP-зависимой страницы...


В этом случае для страницы http://example.com/ на страницы локалей предпочтительнее 301 редирект или 302?
Керхер в Туле
19 ноября 2017, 10:19
Добрый день!
Хотелось бы уточнить такой вопрос, как относится робот яндекса к страницам переведенным на русский но находящихся на немецком домене как например
<link rel="alternate" hreflang="ru-ru" href="http://example.de/ru-ru/">
индексация будет так же быстро проходить как если бы был отдельный домен в рузоне (http://example.ru/) или все же будет смотреть на первоисточник http://example.de и в упор не будет индексировать русскую часть. И ранжирование сайта будет более высоким по выдаче у домена рузоны или у домена из немецкой зоны. Не возникает ли бан у сайтов многоязычного типа.
Елена Першина
Сотрудник Яндекса19 ноября 2017, 18:19
Керхер в Туле,
Вы можете выбрать отдельный поддомен или директорию на основном домене на своё усмотрение. На индексирование сайта в целом это не повлияет.
Константин
24 января 2018, 09:54
Не работает. Яндекс.Вебмастер ругается на тег link в sitemap.xml
Как быть?
Елена Першина
Сотрудник Яндекса24 января 2018, 12:58
Константин,
Наверное, он ругается все-таки обосновано. Напишите в поддержку Вебмастера - мои коллеги смогут конкретнее пояснить, в чем проблема. Ссылка на обратную связь внизу страницы Вебмастера. 
Константин
24 января 2018, 13:23
Елена Першина,
вот тут https://yandex.ru/support/webmaster-troubleshooting/site-indexing/sitemap-error.html написано, что робот не поддерживает, в частности тег link, хотя в статье выше заявлено о его поддержке. 

Собственно с чего бы его поддерживать, если в http://www.sitemaps.org/schemas/sitemap/0.9 нет элемента link.

Надо совместно с Гуглом менять xsd, получается.
Елена Першина
Сотрудник Яндекса24 января 2018, 15:14
Константин,
Проверю, спасибо. 
Константин,
доброго дня! Общались ли вы по вашей проблеме с работниками Яндекса? Есть ли какой-то результат? У меня схожая ситуация с  <xhtml:link rel="alternate" hreflang="ru" и подобными записями в файле sitemap. Хотя Гугл воспринимает всё на ура. 
Обновлено 27 февраля 2018, 08:38
Константин
27 февраля 2018, 09:48
green5647,
ну вот firstlena.pershina как раз сотрудник Яндекса, но пока нет никаких результатов.
Елена Першина,
хотим новых ответов и новостей по поводу возникшей проблемы. Нужно принципиальное решение по возможности записей типа link, xhtml:link  в файле sitemap и их принятия не за ошибку! 
почему до сих пор в сайтмапе не поддерживаете ?
вот пример мультиязычного сайта - http://casinobonusnodeposit58.com/
Обновлено 2 апреля 2018, 14:35
Анна Цветкова
12 июня 2018, 21:44
подскажите, пожалуйста, если версия для uk-ua находится на u-f-l.ua а версии остальные на домене u-f-l.net то как правильно добавить сайт u-f-l.ua в яндекс.вебмастер? Цель, чтобы в украине в выдаче был сайт .уа, а в остальных регионах в выдаче был .net
Обновлено 12 июня 2018, 21:45
Елена Першина
Сотрудник Яндекса13 июня 2018, 11:41
Анна Цветкова,
На само добавление в Вебмастер это желание никак не повлияет. 
А вот в самом Вебмастере в разделе "регион сайта" - укажите то, что хотите. 
Анна Цветкова
13 июня 2018, 12:22
Елена Першина,
Елена, большое спасибо, за быстрый ответ
platon
Сотрудник Яндекса9 апреля 2019, 08:33
PraveenRathour,
almost all of the following websites are successfully indexed and appear in search results:
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.health.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.health.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.schemes.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.internet.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.legal.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.loans.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.jobs.publicservicez.com%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.companydirectory.xyz%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.smartprices.xyz%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.backlinkshub.xyz%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Flyricslover.org%2F* ;
https://yandex.ru/yandsearch?text=url%3Ahttps%3A%2F%2Fwww.publicservicez.com%2F* .
The exception is https://www.indiatunes.xyz , which is not available for users and search robot. In order to appear in search results, please make sure the site is available, has 200 OK response code and gives the content when requested.
Добрый день.
У меня сайта на Латышском и на Русском.
Переключается через параметр язык.
Пример:
Захожу на:
https://example.com/catalog/ 
нажимаю на флажок языка:
https://example.com/catalog/

Остаётся тот же самый урл, меняется только язык на всей странице.
Как то можно сказать яндексу что надо метатеги собирать на двух языках?
Главный язык Латышский, но как Вы знаете в стране многие говорят и на Русском и ищут в поиске на Русском.
Елена Першина
Сотрудник Яндекса8 июля 2019, 14:21
anton@inoco.ru,
Этот вопрос лучше через поддержку Вебмастера уточнить - и с примером сайта. На example.com сложно детали посмотреть. 
Алексей 六十 Карпов
18 мая 2020, 09:17
Очень надеюсь что вы поддерживаете ещё эту ветку. Подскажите я хочу переехать с поддомена на подпапку, что мне нужно сделать в вебмастере кроме самого редректа в htaccece 


сейчас site.com и ru.site.com


будет site.com и site.com/ru
platon
Сотрудник Яндекса18 мая 2020, 11:13
Алексей 六十 Карпов,
напишите, пожалуйста, моим коллегам в поддержку: https://yandex.ru/support/webmaster/yandex-indexing/moving-site.html
Мы постараемся вам помочь.
В чем разница lang ru от ru-RU
platon
Сотрудник Яндекса19 января 2021, 23:14
Anemi22,
указание ru-RU означает, что страница на русском языке для региона Россия. По желанию, вы можете указать просто ru для всех страниц на русском языке.
Комментарий удалён
platon
Сотрудник Яндекса16 января 2022, 19:42
Ivan P,
чтобы мы могли более детально разобраться в вашем вопросе, напишите нам, пожалуйста, непосредственно из формы обратной связи сервиса Яндекс.Вебмастер и прикрепите примеры таких страниц. Выберите тему обращения и найдете либо ответ на вопрос, либо форму для написания вопроса тех. поддержке.
--
Пожалуйста, оцените наш ответ
Комментарий удалён
platon
Сотрудник Яндекса23 октября 2022, 17:59
TechpediaXP,
to help us understand your issue in more details, please write to us directly via the feedback form of the Yandex Webmaster service.
Обновлено 23 октября 2022, 18:01
It is a Tech Site, providing information about the latest technology in the world.: Please Index It: https://techpediax.com  
Обновлено 23 октября 2023, 23:53
Комментарий удалён
platon
Сотрудник Яндекса1 ноября 2022, 16:32
adding regions will let the site to be easier found during the search in a particular region. If the site is relevant to users' query, it will appear during the search in other regions as well.
Иван Александров
7 июня 2023, 05:14
Хотелось бы обновления этой информации, и вообще какое-то официальное руководство по ведению мультиязычных сайтов. У гугла, например обновляется регулярно. Хочу также! Чем мы хуже?
platon
Сотрудник Яндекса7 июня 2023, 12:49
Иван Александров,
большое спасибо за комментарий! Действительно, эту тему у нас не освещали уже давно. Подумаем, как актуализировать материал.
Hello Admin,
can you tell me how to index my domain in Yandex?
My site is: https://haccker.com
Обновлено 21 июня, 16:23