Rule site.hreflang.self-reference-missing
hreflang block must include a self-reference
site.hreflang.self-reference-missing is a check in Crawlmind's site audit that grades high-impact issues of this kind. This page explains why the rule matters and the exact fix.
Why it matters
Each page in an hreflang cluster must list itself as one of the alternates. Without the self-reference, the page declares "these are my sibling locales" but never says which locale IT is: and Google drops the entire annotation.
The fix
Wrong:
```html
<!-- /en-us/page is en-US but never says so -->
<link rel="alternate" hreflang="en-gb" href="https://example.com/en-gb/page">
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr-fr/page">
```
Right:
```html
<!-- /en-us/page declares itself plus siblings -->
<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/page">
<link rel="alternate" hreflang="en-gb" href="https://example.com/en-gb/page">
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr-fr/page">
```
If you have a single template that emits every locale's alternate block, ensure the loop includes the current page's own locale. The same approach that fixes return-tags also fixes self-references.