A page's language list leaves the page itself out

In the reportHreflang set missing self-reference

hreflang_missing_self_reference · Issue

Short answer

This appears when a page lists its language versions but leaves out its own address, in its HTML, its Link header or its sitemap entry. Google asks each version to list itself as well as the others. Add the page's own address to each list.

Severity: Medium. Google still uses entries that point to each other, but the list is incomplete; fix it when you next edit it.

Why it matters

Google's guide to localized versions says each language version must list itself as well as all other language versions, and that where some are left out, Google still processes the ones that point to each other.

What to do

  1. Look at the finding: it shows which lists leave the page out and the address we expected.
  2. Add an entry for the page itself, with its own language, to each hreflang list you already publish in HTML, a Link header or a sitemap.
  3. Use exactly the address the page is served at: a trailing slash or a different letter case counts as a different address.

What we read

We reuse the page’s HTML hreflang, its HTTP Link declarations and the sitemap declarations attached to its final address. Each populated channel, and each populated sitemap file, must include that same final address. Empty channels are not required to contain a self entry.

The self entry can use any label, including x-default. A trailing slash or a difference in path letter case remains a different address under the existing URL comparison. A canonical address does not replace the page’s own final address.

The HTML and HTTP Link channels and the site’s sitemap channel must be complete. An unread channel, an incomplete sitemap collection or a malformed or relative annotation leaves the result unknown. With complete channels and no declarations, this check is not applicable. No additional request or script execution is made by this rule.

Example & evidence

Illustrative example — one page's list, not a live audit.

https://bakery.example/en/ has:

<link rel="alternate" hreflang="fr" href="https://bakery.example/fr/">
<link rel="alternate" hreflang="de" href="https://bakery.example/de/">

The list names the French and German versions but not the page itself, so it is reported.

<link rel="alternate" hreflang="en" href="https://bakery.example/en/">

A possible correction: add this entry for the page itself.

Confirm & check again

Check for yourself: view the page source and check that one hreflang tag has the page's own address as its href.

Check again: Full audit — Run a new audit of the same page. Complete channels with a self entry in every populated source confirm the finding fixed. Removing all hreflang makes the check not applicable and carries the earlier finding; absence of declarations is not a confirmed fix. An unread or malformed source also keeps it carried. Dismissal remains an independent judgment.

Limits & sources

This check verifies declarations, not whether the page is the right language or will be indexed. Its identity follows the final page address, while the original requested capture and evidence remain bound to that request.

Confidence: High because the lists are read directly.

Sources

  • Google, Tell Google about localized versions of your page — says each language version must list itself as well as all other language versions, and that Google still processes the ones that point to each other when some are left out. Checked 28 September 2026.

Editorial review: 4 November 2026