Hreflang: Correctly Tagging Multilingual Websites
Hreflang is an HTML attribute (link rel="alternate" hreflang="...") that tells search engines the language and regional targeting of the different versions of a page. The goal is to serve users the correct language or country version of a page in their local search results and to avoid duplicate content issues across language and country variants.
Key Takeaways
- Hreflang is evaluated mainly by Google and Yandex; Bing gives it little weight and relies more on the content-language declaration. In tests, AI search systems such as ChatGPT, Perplexity, and Claude often link to the wrong language version.
- Self-reference and bidirectional references (reciprocity) are mandatory, as are fully qualified URLs including the protocol; Google ignores one-sided or incomplete sets.
- Defining x-default as the fallback is the most frequently forgotten element: according to Ahrefs, 56.3 percent of domains were missing it.
- Hreflang is error-prone: 67 percent of 374,756 examined domains had at least one issue, most often a missing x-default, a missing self-reference, and references to redirects.
- For DACH sites, hreflang controls which version shows up in which SERP, but it does not prevent cannibalization: de-AT, de-DE, and de-CH need differentiated content (vocabulary, prices/currency, legal requirements).
- The three implementation methods (HTML, HTTP header, XML sitemap) are equivalent from Google's perspective; for large and programmatic sites, the sitemap is the easiest to maintain.
- Avoid automatic IP redirects, because they keep Googlebot from crawling all versions; offer a visible language switcher instead.
Why hreflang is essential for multilingual sites
If you sell in the DACH region, you almost inevitably run several nearly identical versions of your pages: one for Austria, one for Germany, often a third for Switzerland. Linguistically, these versions are largely the same. That is exactly the problem. Without a clear signal, Google cannot tell that these are deliberately separate variants and not duplicate content. In the worst case, the German page ranks for the Austrian user, with gross prices based on German VAT, German shipping terms, vocabulary from Germany, and a legal notice (Impressum) under German law.
Hreflang solves this matching problem. The attribute tells the search engine: this page also exists for de-DE and de-CH, so serve each user the version that fits. The business case is well documented. According to an international survey of 8,709 consumers in 29 countries, 76 percent prefer products with information in their native language and 40 percent never buy from shops in other languages. For Austria, with 8.69 million internet users and an internet penetration of 95.3 percent (January 2025), serving the correct Austrian version is therefore a conversion issue, not a detail.
Even so, hreflang remains a niche topic. According to the Web Almanac 2022, only 9.6 percent of sites use hreflang tags on desktop and 8.9 percent on mobile. First, some context: hreflang is evaluated mainly by Google and Yandex. Bing does recommend hreflang on its own webmaster blog for language and region targeting, but according to Ahrefs it treats hreflang only as a weak signal and relies mainly on the content-language declaration (meta tag or HTTP header), links, and where visitors come from. Among AI search systems, the ones that pick the right language version are mostly those built on Google's or Bing's index: in tests by Glenn Gabe (December 2025), Copilot and Google AI Mode usually returned the matching version, while ChatGPT, Perplexity, and Claude often returned the US English one.
How it works: syntax, self-reference, and x-default
An hreflang value consists of a language code in ISO 639-1 format and, optionally, a country code in ISO 3166-1 Alpha-2 format, separated by a hyphen. For DACH, that means de-AT, de-DE, and de-CH. Important: the first part is always the language, the second the region. de-AT means German for Austria, not "Austria-German" in reversed logic. If you specify only de without a country, you address all German-speaking users regardless of country.
Three rules are not optional:
Self-reference: Every page must also list itself in its hreflang set. The Austrian page therefore points to de-AT (itself), de-DE, and de-CH. If the self-reference is missing, the set counts as incomplete.
Reciprocity: References must be bidirectional. If the Austrian (de-AT) page points to the German (de-DE) page, the German page must point back to the Austrian page. Google ignores one-sided references.
Full URLs: All alternates must be absolute URLs, including the protocol. According to Google Search Central, only fully qualified URLs are allowed, so https://example.com/foo, not /foo or //example.com/foo.
Then there is x-default. This value defines the fallback version for all users whose language or region does not match any hreflang entry. Typically, this is a language selection page or the main international version. The x-default tag is the most frequently forgotten element; more on that below. A minimal example shows how the pieces fit together: the Austrian product page lists four entries, namely a self-reference to de-AT, one reference each to the de-DE and de-CH variants, and an x-default pointing to the language selection page. Exactly the same four entries, with identical URLs, also appear in the head of the German and Swiss versions. Only this complete list, mirrored across all versions, makes the set valid for Google.
Strategy: implementation method and domain architecture
There are three equivalent ways to deliver hreflang. According to Google Search Central, all three methods are equivalent as far as Search is concerned:
HTML link tags in the head: The easiest to implement, ideal for small to medium sites and most CMSs with plugin support. Downside: with many languages, the head gets bloated, because every page has to carry the complete set.
HTTP header: Required for non-HTML documents such as PDFs. Technically more demanding, because it is configured on the server side.
XML sitemap: The cleanest solution for large and programmatic sites. The hreflang relationships live centrally in the sitemap, not in the source code of every page. That cuts maintenance effort and sources of error considerably.
Google explicitly recommends choosing one method. Three parallel implementations bring no advantage and make maintenance harder.
Alongside this comes the domain strategy. Three models compete:
ccTLD (.at, .de, .ch): Sends the strongest geo signal and builds local trust. A .at domain feels close and credible to Austrian users. Downside: three separate domains mean triple the effort for hosting, link building, and domain authority, which does not carry over between ccTLDs.
Subfolder (example.com/de-at/): Concentrates all domain authority on one domain. Easy to maintain, scalable, ideal for programmatic SEO. The geo signal is weaker than with a ccTLD, but you can compensate for that with hreflang and content. For most B2B projects in the DACH region, this is the most pragmatic choice.
Subdomain (de-at.example.com): Technical separation under one registered domain, but it passes on authority less well than a subfolder. In practice, rarely the best option.
DACH specifics: separating de-AT, de-DE, and de-CH cleanly
Three versions in the same language are the classic setup for keyword cannibalization. Hreflang decides which version appears in which SERP, but not how the versions differ in content. If you serve the same text three times, you risk Google treating the versions as interchangeable and indexing only one of them.
Real localization separates the versions cleanly:
Vocabulary: Austrian German differs from the German used in Germany: Jänner instead of Januar (January), Erdäpfel instead of Kartoffeln (potatoes), Sackerl instead of Tüte (bag). These signals come across as authentic and match local search intent.
Prices and currency: EUR for Austria and Germany, CHF for Switzerland. Gross price display and shipping terms differ.
Legal requirements and legal notice: The Austrian legal notice follows the E-Commerce Act (ECG) and the Media Act (Mediengesetz), the German one § 5 of the German Digital Services Act (Digitale-Dienste-Gesetz, DDG), the Swiss one Art. 3 para. 1 let. s of the Swiss Unfair Competition Act (UWG). The DDG replaced the Telemedia Act (TMG) on May 14, 2024. Warranty and withdrawal rules also differ.
To prevent cannibalization, make each version stand on its own in content instead of translating one to one. Hreflang signals the separation; the content has to justify it.
Common hreflang errors and debugging
Hreflang is error-prone, and the data is clear. An Ahrefs study of 374,756 domains shows that 67 percent had at least one hreflang issue. In detail, 56.3 percent were missing the x-default tag, 18 percent were missing self-referencing tags, 16.9 percent pointed to redirected or broken pages, and 15.3 percent were missing return links. A second study of 18,786 sites confirms the pattern: 31.02 percent had conflicting hreflang directives, 47.95 percent used no x-default, and 16.04 percent were missing self-referencing tags.
The most common sources of error at a glance:
Missing x-default: By far the most common error. Without a fallback, there is no catch-all logic for language/region combinations that do not match.
Missing reciprocity or self-reference: One-sided or incomplete sets are ignored. Both errors show up in double-digit percentages in the studies.
Invalid codes: A reversed order, invented codes such as en-UK (correct is en-GB), or typos make the entry useless.
References to redirects or non-canonicals: Hreflang must point to the final, indexable URL, not to a redirect.
Conflict with canonical: A common self-inflicted error. If the Austrian page points to the German page via canonical, that overrides the hreflang logic. Every language version needs a self-referencing canonical.
Tags in the body instead of the head: If hreflang sits below an invalid HTML element in the head, the browser may implicitly close the head. According to the Web Almanac 2025, 10.1 percent of desktop pages and 10.3 percent of mobile pages contain invalid HTML elements in the head, which pushes subsequent metadata such as hreflang into the body, where it has no effect.
For debugging: since September 2022, Search Console no longer has an hreflang report. Google retired the International Targeting report. Crawlers such as Screaming Frog or Sitebulb validate reciprocity, codes, and target status across the entire site. For individual live pages, Google points to third-party tools such as Merkle's hreflang tester.
Metrics and measurement during the rollout
You can measure success concretely. The key metrics:
Indexing status per version: Check in Search Console whether all language versions are indexed. Versions that are not indexed point to thin content or duplicate issues.
Hreflang error rate: The share of URLs with missing return links or invalid codes, determined through regular crawls, for example with Screaming Frog or Sitebulb. The target is zero.
Rankings per market and language: Track keywords with localized search engines (google.at, google.de, google.ch). That is the only way to see whether the right version ranks in the right market.
Geo-targeting beyond hreflang: Hreflang is the most precise signal, but not the only one. Server and CDN location and the associated IP region give Google a weak geo hint. Strictly avoid automatic IP redirects: they prevent Googlebot, which mostly crawls from the US, from reaching all versions. Offer a visible language switcher instead.
Programmatic SEO and quality assurance: With thousands of automatically generated pages, hreflang has to be generated from the data model, ideally via the XML sitemap. What matters most is quality assurance against thin content: only versions with standalone, localized content should get an hreflang set. Scaling without localization just mass-produces duplicate content.
Going further: migration and international keyword research
When you internationalize an existing site, a staged rollout makes sense. Start with the most important target market, monitor indexing and rankings, and roll out further versions only after that. A clean redirect strategy and monitoring through Search Console are mandatory so you catch traffic drops early.
International keyword research comes before any localization. Search volumes and terms differ considerably from market to market. Instead of a one-to-one translation, you need transcreation: carrying over the local search intent. A term that is common in Germany may barely be searched in Austria, even though the language is the same. Hreflang then makes sure the right, locally optimized page appears in the right market.
Data & Statistics
67% of 374,756 examined domains with hreflang had at least one issue; 56.3% were missing x-default; 18% were missing self-referencing tags; 16.9% pointed to redirected/broken pages; 15.3% were missing return links
Ahrefs: Hreflang Study (374,756 Domains) (2023)31.02% conflicting hreflang directives; 47.95% without x-default; 16.04% without self-referencing tags; 18,786 sites analyzed
Search Engine Land: Study by Dan Taylor (SALT.agency) in partnership with NerdyData (2023)9.6% of sites use hreflang tags on desktop, 8.9% on mobile
Web Almanac 2022 (HTTP Archive), SEO chapter (2022)The three hreflang implementation methods (HTML tags, HTTP headers, sitemap) are equivalent from Google's perspective; URLs must be fully qualified
Google Search Central: Tell Google about localized versions of your page (2025)76% prefer products with information in their native language; 40% never buy from shops in other languages (8,709 consumers, 29 countries)
CSA Research / Kantar: Can't Read, Won't Buy, B2C (via Newswire) (2020)8.69 million internet users in Austria; internet penetration 95.3% (January 2025)
DataReportal, Digital 2025: Austria (2025)Invalid HTML elements in head: 10.1% desktop / 10.3% mobile
Web Almanac 2025 (HTTP Archive), SEO chapter (2025)Opens the chat with a prepared prompt.
Frequently asked questions
What does de-AT mean in hreflang?
Which search engines support hreflang?
Do I need x-default with hreflang?
What is the most common hreflang error?
ccTLD or subfolder for DACH sites?
How do I avoid keyword cannibalization between de-AT, de-DE, and de-CH?
Which hreflang implementation method should I choose?
How does your website perform?
Get a free, AI-powered SEO report of your website by email: technical SEO, on-page, keywords & competitors. No obligation.
Get a free SEO audit →Or go straight to SEO Agency in Vienna