Troubleshooting guide · technical-seo · Published 2026-08-16 · 3 min read

hreflang edge cases and validation

hreflang edge cases: x-default fallback, self-reference and reciprocity, region code rules, canonical clashes, and non-HTML files.

The two rules that break clusters

The basics introduced the tags. The hardest failures in practice come down to two non-negotiable rules:

These two rules alone cause a large share of "hreflang has no errors but does nothing" reports, because both failures silently drop whole clusters rather than surface an error.

x-default and the fallback

x-default is not a language code; it is a reserved value pointing at the page Google should show when no other hreflang tag matches the user's locale or region. The common target is a language selector or the default-region homepage. Two points:

Region codes versus language codes

Canonical conflict silently overrides hreflang

If the canonical tag on a page points to a different URL than the hreflang annotation specifies, Google follows the canonical and ignores the hreflang. The rule: every page referenced in an hreflang set needs a self-referencing canonical, and the URLs in the hreflang tags should match the canonicals character for character (protocol and trailing slash included). The canonicalisation edge cases guide covers the wider conflict patterns this belongs to.

Non-HTML documents

For a PDF or other non-HTML resource, the language block cannot live in the document head. Use an HTTP Link header on the response:

Link: <https://example.com/en/report.pdf>; rel="alternate"; hreflang="en", \
      <https://example.com/de/report.pdf>; rel="alternate"; hreflang="de", \
      <https://example.com/report.pdf>; rel="alternate"; hreflang="x-default"

The same self-reference and reciprocity rules apply to header-based alternates.

Pick one delivery method

HTML <link> in the head, HTTP Link headers, and xhtml:link entries in an XML sitemap are all valid and treated as equivalent by Google, but mixing them on one URL is a common source of inconsistency. Choose a single source of truth per URL and prefer the sitemap route when you manage many URLs at scale; build it from a single data source and validate the rendered head output rather than trusting view-source alone, since rendering can alter the final tags. Audit your Search Console international targeting periodically so a silent cluster drop does not go unnoticed.

Need a website built, fixed, optimised, migrated or replaced?

This technical resource is written by CSMBAC, a small design and development studio. If you would rather hand the problem to a professional, the website service page explains how we build enquiry-ready websites.

Explore website services