Hreflang tells search engines which language or regional version of a page to show to whom. It only works when every version names every other: one missing link and the cluster can be ignored.
Read each row as “this page’s hreflang tags”. One missing return link (red) is enough for Google to distrust the pair.
The language part comes from ISO 639-1, the optional region from ISO 3166-1 alpha-2. Most invalid codes break one of those two rules.
Google’s guidance compares them. Whichever you choose, each version needs its own URL, not one URL that changes by visitor.
HTML tags, HTTP headers and sitemaps all work. Mixing them makes errors harder to find.
<link rel="alternate" hreflang="en-GB" href="https://shop.com/en-gb/" /><link rel="alternate" hreflang="de-DE" href="https://shop.com/de-de/" /><link rel="alternate" hreflang="x-default" href="https://shop.com/" />
Link: <https://shop.com/en-gb/a.pdf>; rel="alternate"; hreflang="en-GB", <https://shop.com/de-de/a.pdf>; rel="alternate"; hreflang="de-DE"
<url> <loc>https://shop.com/en-gb/</loc> <xhtml:link rel="alternate" hreflang="de-DE" href="https://shop.com/de-de/"/></url>
Hreflang is for alternate versions. A single-language site with one URL per page doesn’t need it.
Googlebot mostly crawls from the US, so automatic redirects can hide other versions. Offer a language switcher instead.
It helps Google show the right version to the right user; it doesn’t add ranking strength.
Hreflang is an annotation that tells search engines a page has alternate versions for other languages or regions, so that each user is shown the most appropriate one. It is expressed as rel="alternate" links with an hreflang value made of a language code and an optional region code. International SEO more broadly covers how multilingual and multi-regional sites are structured, signalled and crawled.
Free to start. Missing return links are listed per page pair.