Missing Self-Referencing Hreflang: How to Fix It

No Comments
Missing self-referencing hreflang: how to fix it

TL;DR

A page in an hreflang cluster is missing the rel="alternate" hreflang entry that points back to itself. Every page in a language or region group should list all of its alternates plus its own URL. When the self-reference is absent, the set is incomplete and harder for Google to confirm, which can weaken or break how your localized versions are served. The fix is to add one self-referencing line to each page's hreflang set so the set is identical across every variant.

What this means

Hreflang annotations tell search engines which language and region a page targets, and which other versions exist. They work as a cluster: page A points to page B, and page B points back to page A. For the cluster to be unambiguous, each page should also point to itself. That self-pointing line is the "self-referencing hreflang."

This issue flags a URL whose hreflang set lists its alternates but omits an entry for its own URL and language code. The page is describing every version of itself except the one it is actually serving, which leaves the set incomplete and the cluster unbalanced.

Why it matters

Google's documentation states that for each variation of a page you include a link for every page variant, including the page itself, and that the set of links is identical for every version. Google still describes adding a self-referencing rel="alternate" hreflang annotation as best practice.

The harder rule is reciprocity. Annotations must be confirmed from the pages they point to: if page A links to page B, page B must link back to page A, or the annotations may be ignored. When the self-reference is missing, your sets are no longer identical across variants, which makes those return-link checks fragile. The practical risk is that Google may not swap in the correct localized version for a user's language or region, so a searcher could land on the wrong-language page, raising bounce rates and undercutting the international targeting you built. Including the self-reference keeps every variant's set identical and the cluster easy to validate.

For the full picture of how clusters, return links, and x-default fit together, see our hreflang and international SEO guide.

How it gets flagged

Screaming Frog

The SEO Spider raises this when a URL lacks its own self-referencing rel="alternate" hreflang annotation. Open the Hreflang tab and apply the Missing Self Reference filter to list affected URLs, then use the Export button to pull them out. Related filters such as Missing Return Links and Inconsistent Language & Region Confirmation Links help you see whether the broken self-reference is also breaking cluster confirmation.

Google Search Console

GSC no longer has a dedicated International Targeting hreflang report, but the URL Inspection tool shows the alternate references Google detected for a page. If the inspected URL is absent from its own alternate list, the self-reference is missing. Server log and crawl tools that parse hreflang from HTML, HTTP headers, or XML sitemaps will surface the same gap.

How to fix it

Add a self-referencing line to the hreflang set on every page, so each variant lists all alternates plus itself, and so every variant ships the exact same set. Below, an English (US) page and a French (France) page each include themselves.

On the English page at https://example.com/en-us/page/:

<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/page/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr-fr/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en-us/page/" />

On the French page at https://example.com/fr-fr/page/, the set is identical:

<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/page/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr-fr/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/en-us/page/" />

Notice the French page still includes the fr-fr line that points to itself. Other rules to respect:

  • Use absolute URLs, with the canonical version of each URL (consistent protocol, host, and trailing slash).
  • Point hreflang at the canonical URL of each version, and keep canonical tags self-referencing so the two signals agree. See our canonical tags reference.
  • If you declare hreflang in an XML sitemap, every <loc> entry must include an <xhtml:link> for itself plus all alternates. Our XML sitemaps reference covers the markup.
  • Pick one method per page (HTML head, HTTP header, or sitemap). Do not mix them for the same URL set.

False positives

A few cases look like a missing self-reference but are not real problems:

  • Declared by a different method. If your self-reference lives in the HTTP header or XML sitemap but the crawler only parsed the HTML head, it may flag a gap that does not exist. Confirm where your annotations are served.
  • URL normalization differences. A self-reference with a trailing slash, different case, or a parameter that resolves to the same page can be reported as absent. Match the exact canonical URL the page serves.
  • Single-language pages. A page with no alternate versions does not need hreflang at all, so a flag there is noise, not a defect.
  • Crawler rendering. If hreflang is injected by JavaScript and the tool crawled raw HTML, the reference can appear missing while users and Google still see it.

FAQ

Is a self-referencing hreflang strictly required?

Google describes it as best practice rather than a hard requirement, and Screaming Frog notes it was previously required. In practice it is far easier to keep every variant's set identical when each page includes itself, which is why it is treated as a fix-it issue.

What happens if I leave it missing?

The cluster becomes harder to confirm and the return-link checks more fragile, so Google may fail to serve the right localized version. That can send users to the wrong-language page.

Do all variants need the same set of links?

Yes. Google states the set of links should be identical for every version of the page, which is only possible when each page includes a line for itself.

Does this apply to x-default too?

The x-default entry points to your fallback page for unmatched users. Every variant in the cluster should carry the same x-default line, and the fallback page still needs its own self-reference for its specific language and region.

Hreflang clusters breaking your international rankings?

Get a full crawl and a prioritized fix plan from a specialist.

Request an Advanced SEO Audit

Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.

About SEO ProCheck

Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.

Work With Me

Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.

Subscribe to our newsletter!

More from our blog