Home / Knowledge Base / Glossary / hreflang: markup of language versions

hreflang: markup of language versions

Glossary 2 min read Updated 12.09.2026
How to inform search engines about language and regional versions of a page, five rules that are most often violated, and why this markup does not improve rankings but protects against self-competition.

hreflang is a markup that informs search engines that a page has versions in other languages or for other countries, and which version is intended for whom. Without it, a multilingual site risks competing with itself.

How it looks

Each language version lists all versions, including itself, indicating the language and, if necessary, the region. Additionally, a fallback option for other countries is specified. The markup can be placed in the page code, in response headers, or in the sitemap — the method does not matter, completeness does.

Rules that are most often violated

RuleWhat breaks when violated
Links must be reciprocalOne-sided markup is completely ignored
Each version links to itselfThe set is considered incomplete
Addresses are canonical and workingRedirect or 404 nullifies the link
Language code by standardTypo in the code disables the rule
Region specified only with languageOne region without a language does not work
This is not about ranking, but about version selection
Markup does not improve rankings. It helps show the user the correct version and reduces the risk that versions will be considered duplicates of each other.

When it is needed

  • The site exists in multiple languages.
  • There are versions in one language for different countries — for example, for Ukraine and Poland.
  • Part of the content is translated, and part is not: then only real existing pairs are marked up.

Common confusion: language and country

The language code is mandatory, the country code is not. A record with only the language means “this version is for everyone who reads in this language,” while with both language and country — “for this language in this country.” It is not allowed to specify one region without a language: such a line is ignored. And remember that the region here refers to the user's country, not where the server is located.

How to check

Look at the page source code and ensure that the versions are fully and mutually listed. In our knowledge base, for example, each article exists in four languages with its own address — and they are linked precisely by this markup; details in the article about language versions.

FAQ

Does hreflang improve rankings?
No. The markup helps show the user the correct version and reduces the risk that versions will be considered duplicates of each other.
Is it mandatory to link to itself?
Yes, each version must include a link to itself; otherwise, the set is considered incomplete.
What to do if only part of the pages is translated?
Mark only real existing pairs: links to non-existent translations break the connection.
Was this article helpful?
Try it on your project Everything described in the article is available in the dashboard — the registration bonus is already in your balance.
Open dashboard