Indexing localized pages
Warning
Yandex no longer supports using the Sitemap file for language versions. We recommend using localized page markup.
Alternative links
If your site has pages in multiple languages or pages intended for various regions, make sure to specify this information for the Yandex indexing bot. Selecting an appropriate page version helps us provide users with relevant search results.
Use alternative links when:
- The pages only differ in the template language. For example, this will work for a blog where posts aren't translated but the navigation elements, header, and footer can be displayed in different languages.
- Pages are in the same language but have minor differences. For example, this is useful if you have slightly different page versions for users from the USA, Ireland, and Australia.
- Each page version is a complete and accurate translation of the original page.
- The language is determined by the user settings, such as the
Accept-Languageheader or IP address, or can be selected manually on the site pages. In this case, use the hreflang="x-default" attribute.
Localized pages markup
For each page version, specify links to all its alternative versions. To do this, add the link element to the head element using the following format:
Example:
<link rel="alternate" hreflang="lang_code" href="url" />
Use ISO codes to specify the language and region:
- Select the language code from the ISO 639-1 list.
- Select the region code from the ISO 3166-1 Alpha-2 (worldwide) or ISO 3166-2:RU (Russian regions) list.
Page versions can be located on different subdomains and domains. For example, a page at ru.example.ru is duplicated in English (en.example.ru) for users from the USA and in Turkish (example.com.tr) for users from Türkiye. Each of the pages should contain three link elements with localization attributes:
<head>
<title>Page title</title>
<link rel="alternate" hreflang="ru" href="http://ru.example.com/" /> // Page in Russian
<link rel="alternate" hreflang="en-us" href="http://en.example.com/" /> // Page in English for users from the USA
<link rel="alternate" hreflang="tr-tr" href="http://example.com.tr/" /> // Page in Turkish for users from Türkiye
</head>
The site structure doesn't affect the processing of the hreflang attribute. Page versions can be located in different directories:
<link rel="alternate" hreflang="ru" href="http://example.com/o-kompanii/" />
<link rel="alternate" hreflang="en-us" href="http://example.com/company/about/" />
<link rel="alternate" hreflang="tr-tr" href="http://example.com/firma-hakkinda" />
Pages with automatic language detection
If the page language is determined automatically, for example, based on the user's IP address or the Accept-Language header, use hreflang="x-default" to include this information to the markup along with other localized pages.
<link rel="alternate" hreflang="x-default" href="http://example.com/" />
<link rel="alternate" hreflang="ru" href="http://example.com/o-kompanii/" />
<link rel="alternate" hreflang="en-us" href="http://example.com/company/about/" />
<link rel="alternate" hreflang="tr-tr" href="http://example.com/firma-hakkinda" />
Supported languages and encodings
Languages
Use two-letter language codes according to the ISO 639-1 standard.
List of supported languages
|
Azerbaijani (az) |
Albanian (sq) |
English (en) |
Arabic (ar) |
|
Armenian (hy) |
Bashkir (ba) |
Belarusian (be) |
Bulgarian (bg) |
|
Hungarian (hu) |
Greek (el) |
Georgian (ka) |
Danish (da) |
|
Hebrew (he) |
Spanish (es) |
Italian (it) |
Kazakh (kk) |
|
Catalan (ca) |
Latvian (lv) |
Lithuanian (lt) |
Macedonian (mk) |
|
German (de) |
Dutch (nl) |
Norwegian (no) |
Persian (fa) |
|
Polish (pl) |
Portuguese (pt) |
Romanian (ro) |
Russian (ru) |
|
Serbian (sr) |
Slovak (sk) |
Slovenian (sl) |
Tatar (tt) |
|
Turkish (tr) |
Ukrainian (uk) |
Finnish (fi) |
French (fr) |
|
Croatian (hr) |
Czech (cs) |
Swedish (sv) |
Estonian (et) |
Encodings
List of supported encodings
|
ARMSCII |
CP-437 |
CP-737 |
CP-775 |
|
CP-850 |
CP-852 |
CP-853 |
CP-856 |
|
CP-857 |
CP-858 |
CP-860 |
CP-861 |
|
CP-862 |
CP-863 |
CP-864 |
CP-865 |
|
CP-869 |
CP-922 |
CP-1046 |
CP-1124 |
|
CP-1125 |
CP-1129 |
CP-1131 |
CP-1133 |
|
CP-1161 |
CP-1162 |
CP-1163 |
Georgian-ps |
|
Geostd-8 |
HP_ROMAN8 |
IBM-855 |
IBM-866 |
|
ISO-646-CN |
ISO-8859-10 |
ISO-8859-11 |
ISO-8859-13 |
|
ISO-8859-14 |
ISO-8859-15 |
ISO-8859-16 |
ISO-8859-2 |
|
ISO-8859-3 |
ISO-8859-4 |
ISO-8859-5 |
ISO-8859-6 |
|
ISO-8859-7 |
ISO-8859-8 |
ISO-8859-9 |
JISX0201 |
|
KOI-8-RU |
KOI8-T |
MAC_ARABIC |
MAC_CENTRALEUROPE |
|
MAC_CROATIAN |
MAC_GREEK |
MAC_HEBREW |
MAC_ICELAND |
|
MAC_ROMAN |
MAC_ROMANIA |
MAC_THAI |
MAC_TURKISH |
|
MULELAO |
MacCyrillic |
NEXTSTEP |
PT154 |
|
RISCOS-LATIN1 |
RK1048 |
TCVN |
TDS565 |
|
UTF-8 |
VISCII |
Windows Georgian |
Windows-1250 |
|
Windows-1251-k |
Windows-1251-t |
Windows-1251 |
Windows-1252 |
|
Windows-1253 |
Windows-1254 |
Windows-1255 |
Windows-1256 |
|
Windows-1257 |
Windows-1258 |