Self-Referencing Hreflang: Do You Need It?

Why every page with hreflang tags should include a self-referencing tag, what happens when it's missing, and how to fix audit warnings.

If you're seeing "no self-referencing hreflang" warnings in an SEO audit, you're not alone. It's one of the most common hreflang errors -- and one of the easiest to fix once you understand what it means.

What self-referencing hreflang is

A self-referencing hreflang tag is when a page includes itself in its own hreflang set. The French page links to itself with hreflang="fr". The English page links to itself with hreflang="en". Every page in the group does this.

Here's what a correct self-referencing set looks like on the French version of a page:

<!-- On https://example.com/fr/about/ -->
<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/about/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/about/" />

The second line -- hreflang="fr" pointing to the current page -- is the self-referencing tag. The page is annotating itself as a member of the hreflang group.

Why Google requires it

Without the self-referencing tag, Google can't complete the picture. Here's the logic:

When Google crawls your English page and sees it pointing to a French version, Google notes the relationship. When Google then crawls the French page, it expects to see that page acknowledge its own membership in the group -- including pointing back to itself. If the French page only points outward (to English and German) but not to itself, the reciprocal relationship is incomplete.

Google's documentation is explicit on this: every page in a hreflang set must include a link to every other page in the set, including itself.

Missing self-references cause silent failures

Google doesn't report missing self-referencing hreflang tags as an error in Search Console. The tags are simply processed with less confidence, or ignored. You won't see a warning -- you'll just see poor language targeting in search results.

What happens when it's missing

When a page is missing its self-referencing tag, Google may:

  • Ignore the entire hreflang cluster for that page
  • Fall back to language detection based on the page's content and domain
  • Show the wrong language version in search results for that market

The effect is subtle. Your other pages might work fine. But the page with the missing self-reference won't benefit from hreflang signal -- defeating the purpose of having it.

Validate your hreflang self-references

Check every page in your hreflang set for missing self-referencing tags and other common errors.

The "return link" requirement

Self-referencing is related to, but distinct from, the return link requirement. These are two separate things:

  • Self-referencing: the page includes itself in its hreflang set
  • Return links: every other page in the group links back to this page

Both are required. A complete hreflang implementation satisfies both.

Think of it as a matrix: if you have three pages (EN, FR, DE), every page must have three hreflang tags -- one for each page in the group, including itself.

How to fix missing self-referencing hreflang

The fix is straightforward: add the missing tag to every page that lacks it.

Before (incorrect):

<!-- On https://example.com/fr/about/ -- missing self-reference -->
<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/about/" />

After (correct):

<!-- On https://example.com/fr/about/ -- self-reference added -->
<link rel="alternate" hreflang="en" href="https://example.com/en/about/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/about/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/about/" />

If the error is widespread across your site, the fix is best applied at the template level. Most CMS platforms and frameworks inject hreflang from a template -- find that template, update the logic to always include the current page's URL and language code in the tag set.

Self-referencing in XML sitemaps

The same rule applies when you implement hreflang via XML sitemap. Each <url> block must include an xhtml:link element pointing to itself:

<url>
  <loc>https://example.com/fr/about/</loc>
  <xhtml:link rel="alternate" hreflang="en"
              href="https://example.com/en/about/" />
  <xhtml:link rel="alternate" hreflang="fr"
              href="https://example.com/fr/about/" />  <!-- self-reference -->
  <xhtml:link rel="alternate" hreflang="de"
              href="https://example.com/de/about/" />
</url>

A note on audit tools

Different SEO tools report this differently. Some call it "missing self-referencing hreflang," others call it "no self-link," others flag it as a broken hreflang cluster. They're all describing the same thing.

If you're running a hreflang audit and you see this warning for a handful of pages, it's likely a template edge case -- pages that are generated differently from the rest of your site. Identify the pattern, fix the source, and re-crawl.


Part of Boring Tools -- boring tools for boring jobs.

Generate perfect hreflang tags

Create and validate hreflang markup for your multilingual site. Free.