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.
Related Articles
Part of Boring Tools -- boring tools for boring jobs.
Generate perfect hreflang tags
Create and validate hreflang markup for your multilingual site. Free.