Skip to main content

Confirm

Are you sure?

SEO · Checked once per domain

Hreflang reciprocity and indexabilityWhat it checks and how to fix it

What it checks

Follows the hreflang alternates between the audited pages. Warns when page A lists page B as an alternate but B does not list A back, or when an alternate is marked noindex. Passes otherwise. Alternates that were not among the audited pages are reported as unverified, not as failures.

Why it matters

Google only trusts an hreflang pair when both pages confirm it: a one-way annotation is ignored, so the language version you meant to show is not shown. An alternate marked noindex cannot be served either, and breaks the cluster it belongs to.

How to fix it

Make every language version carry the same, complete set of hreflang tags, so each link is confirmed by its
counterpart. The simplest way is to generate the set from one shared source rather than writing it page by page.

<!-- Identical on https://example.com/pricing and https://example.com/es/precios -->
<link rel="alternate" hreflang="en" href="https://example.com/pricing">
<link rel="alternate" hreflang="es" href="https://example.com/es/precios">
<link rel="alternate" hreflang="x-default" href="https://example.com/pricing">

Remove noindex from any page listed as an alternate, or drop it from the set if it should stay out of the index.
If you declare hreflang in the sitemap instead, apply the same rule there: every <xhtml:link> must be mirrored on
the alternate's own entry.

Monitor this automatically

Full Stack Audit runs this check and 126 others on your site on a schedule, and emails you when one that passed starts failing.

More SEO checks