ShipworkSite inspection
Hreflang
Every error, explainedGuides →
Pricing Learn Guides

All errorsHreflang not reciprocal

Why a hreflang cluster only works when every version links back

What the error means

Hreflang declarations form a group: every alternate must list the others, and each listed page must link back. When a language version does not return the link — or points at a URL that 404s, redirects, or is blocked — Google treats the cluster as unreliable and may ignore it entirely, serving the wrong version to the wrong country.

Why Google rejects it

Reciprocity is how Google validates that the set of alternates was written deliberately rather than scraped or mistyped. A one-way hreflang — the home page lists six languages, but the German page lists none — fails that test, and the annotation that was supposed to route users stops routing anything.

How to fix it

  1. Make the set self-referential and complete: every URL in the cluster lists every member, including itself, plus the x-default where used.
  2. Use absolute URLs with the correct scheme, and make sure each target returns 200 to an outside request — a 403 from bot protection silently kills the cluster.
  3. Do not point alternates at URLs that redirect. List the final URL, or the annotation points at a move rather than a page.
  4. Combine hreflang with self-canonicals: an hreflang target that canonicalises elsewhere contradicts itself and is dropped.
Find out if this is happening to you

Shipwork reads your hreflang alternates, requests each target, and verifies the return trip — reporting alternates that are dead, redirecting, or that do not link back. Free, no account, no signup — paste your store address.

Check my store

Other errors like this