hreflang and multilingual sites: how not to get it wrong
hreflang tells search engines which language version of a page to show to whom. Set up wrongly, it is simply ignored.
What hreflang does
For each page you specify its versions in other languages. Then Google shows a Ukrainian-speaking user the Ukrainian version and an English-speaking one the English version.
The main rules
- Each version links to all the others and to itself.
- Links are reciprocal: if A points to B, B points to A.
- Language codes are correct: uk, en, de, fr, tr; with a region where needed, for example en-GB.
- Add x-default for a language chooser or the main version.
- URLs in hreflang are absolute and match the canonical.
Where to put it
In the page head as link rel=alternate, in the sitemap or in HTTP headers. What matters is that the methods do not contradict each other.
Canonical and languages
Each language version has a canonical pointing to itself. Do not point the canonical of one language to another, or the search engine will ignore the translation.
Common mistakes
- No return links.
- Wrong language codes (ua instead of uk).
- Automatic redirects by IP or browser language that stop the bot from reaching other versions.
- hreflang pointing to pages that return 404 or a redirect.
- Part of the pages are translated while hreflang points to all.
Need help with this?
Describe the task and we will suggest where to start. The first conversation is free.