Does each language page include itself?
It looks for a self-reference in pages that already declare hreflang alternatives.
What Check Engine measures
The check selects successful pages with hreflang. For each page, it builds the declared target set and compares the page's own URL after removing trailing slashes. A page missing from its own target set enters the finding. Sites with no hreflang pages produce no finding here, so this test does not require a single-language site to add alternate-language markup.
Only existing alternate-language declarations are reviewed. It does not infer a translation from similar text or decide which language code the page should use.
How to read the result
Missing self-references are medium severity. The target comparison is address-based, so an alias that differs beyond a trailing slash needs review rather than being silently treated as the page's final URL.
Why it matters
An alternate set should describe the page being read as well as its alternatives. A self-reference gives the same kind of address declaration for the current version that the markup gives for the others.
How to fix it
Inspect the page's alternate-language group. Add the current page under its correct language code and use the intended final address. Apply the same group consistently to related versions where appropriate. Review return links and target health separately, because a self-reference does not prove that the rest of the group is usable.
How to fix hreflang return tags
What we found in field audits
Problems in Crawlability & indexing were found on 12 of the 14 sites we audited. These are area totals. Read the field-audit method.
Method note
backend/seo_engine/checks/international.py, hreflang_self_reference, revision 0bb8e8d3.
Common questions
Must a page appear in its own hreflang target set?
Yes. Each qualifying page should belong to its declared target set. The address comparison ignores trailing slashes.
Does a single-language site need hreflang to pass the self-reference check?
No. With no hreflang pages, there is nothing for this comparison to test. It reviews existing declarations rather than requiring new ones.
How serious is a missing hreflang self-reference?
The result receives medium severity. Address aliases beyond trailing-slash differences still need review.