If you publish in more than one language or region, hreflang decides whether the right version reaches the right user, and it's the single most error-prone area in technical SEO. Here's how it works and what breaks it.
hreflang only works when every page in a language group references every other version correctly, reciprocally, and with valid codes. One missing return tag or typo silently breaks the whole cluster.
If you publish the same content for more than one language or region, hreflang is what tells search engines which version to show which user. Get it right and a Turkish searcher gets your Turkish page while an American gets your US English page, with no duplicate-content confusion between them. Get it wrong and the wrong-language result can rank, or your versions cannibalise each other in search.
hreflang is the most error-prone area in technical SEO for one reason: it demands strict reciprocity and accuracy across every page in a language group at once. A single missing return tag or a typo'd code can invalidate the whole cluster. These are the three rules that break most often.
If page A lists page B as an alternate, B must list A in return. Missing return tags are the number-one hreflang error and make search engines ignore the annotation.
Every page in the group must include an hreflang entry for itself. Without a self-reference the cluster is incomplete and the versions may not be linked correctly.
Use valid ISO language/region codes, include an x-default fallback, and point only at canonical, 200-status URLs, never a redirect, a 404, or a non-canonical page.
The complete, error-by-error guide to getting hreflang right.
Grounded in the real checks the crawler runs.
These frequently overlap with Indexability, since every hreflang target must also be canonical and indexable.
hreflang tells search engines which language and region each version of a page targets, so they serve the right one to the right user. You need it whenever you publish the same content in multiple languages or for multiple regions. Without it, search engines may show the wrong-language page or treat your versions as duplicates of each other.
It requires strict reciprocity and accuracy across every page in a group: each must reference all alternates including itself, return tags must be mutual, codes must be valid, and every target must be canonical and return 200. One missing return tag or typo'd code breaks the cluster, which is why hreflang generates more audit errors than almost any other area.
It's recommended though not strictly required. x-default specifies the fallback page when none of the listed locales match the user, typically a language selector or your primary version. Without it, search engines guess the fallback, which can show the wrong version to users outside your targeted locales.
Any of the three works; pick one and be consistent. HTML head tags are easiest to inspect; the XML sitemap method scales well for large sites and keeps markup lighter; HTTP headers suit non-HTML files. Don't mix methods for the same pages, which can create conflicts. See the complete guide.
Free to start. Find broken return tags, invalid codes and missing x-defaults across every locale.
Start my free audit