Seoxpert.io
mediumTechnical SEO

Hreflang Sets Missing Self-Referencing URLs

Pages with hreflang alternates do not include a self-referencing entry, making the hreflang set incomplete.

By Seoxpert Editorial · Published · Updated

Why it matters

Every page in an hreflang cluster must include a self-referencing entry alongside its alternates. Google treats a cluster with missing self-references as malformed and may ignore the entire set — users then get served a random variant instead of their correct regional version.

Impact

International users are shown the wrong language or regional version. Signals for each variant stay split instead of being consolidated, reducing ranking potential on localised queries.

How it's detected

Scanner walks every hreflang cluster and checks that each URL in the set is reached by a matching hreflang pointing back to itself from its own page.

Common causes

  • Template iterates over "other languages" and omits the current page from the output
  • Hreflang generated from a sitemap feed that excluded the current URL
  • Manual hreflang list built once and not updated when a new language was added

How to fix it

Render hreflang for every variant including the current page. The simplest implementation: iterate over the complete language set and output one link for each, including the one that matches the current locale.

Code examples

Correct hreflang set with self-reference (on the en-US page)

<link rel="alternate" hreflang="en-US" href="https://example.com/us/product" />  <!-- self -->
<link rel="alternate" hreflang="en-GB" href="https://example.com/uk/product" />
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/produit" />
<link rel="alternate" hreflang="de-DE" href="https://example.com/de/produkt" />
<link rel="alternate" hreflang="x-default" href="https://example.com/product" />

Sitemap hreflang with self-reference

<url>
  <loc>https://example.com/us/product</loc>
  <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/us/product" />
  <xhtml:link rel="alternate" hreflang="en-GB" href="https://example.com/uk/product" />
  <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/produit" />
</url>

FAQ

Why does the self-reference matter?

It confirms the page's own place in the cluster. Without it, Google cannot be sure the cluster definition is complete and may treat the entire set as ambiguous — at which point it falls back to its own language inference, which is less accurate.

Do I need self-reference in both HTML and sitemap hreflang?

Only whichever method you use. Do not mix: pick either HTML link tags in the head or xhtml:link entries in the sitemap. Self-reference is required in whichever implementation you choose.

Found this issue on your site?

Run a scan to see if Hreflang Sets Missing Self-Referencing URLs affects your pages.

Scan my website →