Technical checks
Hreflang checks
Hreflang tags must be reciprocal. Each page must link back to all alternates. You’ll find 11 checks in this group.
| State | Evidence | Owner |
|---|---|---|
| Found | HreflangOriginal page and available evidence recorded | Audit |
| Reviewed | Decision recordedA person checked the target and proposed value | Human |
| Checked | Public page readLive result recorded separately | Netrix |
All checks in this group
Open a check to see what triggered it and what to do next.
Hreflang Missing Return Links
Hreflang tags must be reciprocal. Each page must link back to all alternates.
Unsupported Hreflang Code
Check the declared language, optional script and region against the pinned supported code inventory. This is annotation syntax, not detected content language.
Conflicting Hreflang Destinations
One language code names different URLs. Align the intended language mapping; repeating the same destination across methods is not this finding.
Hreflang Outside Head
Move the HTML declaration into a valid head element, or use the equivalent HTTP or sitemap method.
Hreflang URL Is Not Fully Qualified
Use a complete HTTP or HTTPS URL, not a relative or protocol-relative reference, even if a browser can resolve it.
Hreflang Set Omits Its Own Page
A page that declares language alternates should also identify itself. Pages without any hreflang are not required to add it.
Hreflang Target Returns an Error
The observed alternate returned a 4xx or 5xx status. Correct the annotation or restore the intended destination.
Hreflang Target Redirects
Review whether the language alternate should name the final accessible URL directly.
Hreflang Target Is Noindex
The observed alternate carries a Googlebot-applicable noindex instruction. Review the conflicting signals; this is not Google's actual indexed state.
Hreflang Target Canonicalizes Elsewhere
The alternate's single observed canonical names another URL. Review the intended canonical language version.
Inconsistent Reciprocal Hreflang Language
The return mapping or target self-reference disagrees with the declared language. This compares annotations, not page text or Google's language detection.