
What a return tag is and why it must exist
Hreflang is a handshake, not a one-way announcement. When your English page declares that a French equivalent exists at /fr/, the French page has to confirm the relationship by declaring back that the English page exists. That confirmation is the return tag, also called the reciprocal or bidirectional tag. Google's own documentation states the rule plainly: if page A links to page B, page B must link back to page A, or the tags will not be interpreted correctly.
The reason is trust. Anyone can claim on their page that they are the French alternate of a competitor. Without a required return link, that claim would be a free way to hijack another site's authority. Making hreflang reciprocal means both pages have to agree, which stops one-sided claims cold. So a missing return tag is not a warning you can shrug off. It is the annotation failing its one validation rule.
What actually breaks
When the return tag is missing, Google drops the unconfirmed annotation. Your English page told Google about the French version, but because France never confirmed, that pairing is discarded. The searcher in Lyon does not get routed to your French page. Google falls back to guessing, usually serving the English URL or whichever page has stronger signals, and your localized page underperforms for no visible reason. Nothing errors, nothing 404s, the page stays indexed. It just quietly stops receiving the regional traffic you built it for.
On a two-language site this is annoying. On a site with a dozen locales it is a nightmare, because each page must reference every sibling plus itself. One template that forgets the self-referencing tag, or one locale generated by a different system, and you get return-tag errors scattered across thousands of URLs.
The reciprocity rule, visualized
Common causes
The self-referencing tag getting skipped is the classic one. Every page must include an hreflang entry pointing at itself, and templates that only list the "other" languages miss it. Next is locales built by different systems: your main site runs one plugin, the regional microsite runs another, and neither knows about the other's pages. URL mismatches count too, since the return tag has to point at the exact URL, right down to trailing slash and protocol. And plain human error: someone adds a new language page and forgets to update the other eleven templates to reference it.
Detecting missing return tags
| Tool | What it shows | Where |
|---|---|---|
| Screaming Frog | Missing Return Links and Missing Self Reference filters | Hreflang tab (enable Store and Crawl Hreflang) |
| Search Console | Historic "no return tags" errors in International Targeting | Legacy International Targeting report |
| Sitebulb | Reciprocity and self-reference hint checks | International hints |
| Manual view-source | Confirm each sibling and the self tag are present | Raw HTML head of a sample page per locale |
Screaming Frog is built for exactly this. Turn on hreflang crawling, run the site, then open the Hreflang tab and select the "Missing Return Links" filter. It lists every page that another page points to but that fails to point back. The "Missing Self Reference" filter catches the skipped self tag. Between those two filters you find the whole problem set in one crawl, which beats clicking through pages hoping to spot it.
Fixing it step by step
1. Export the Missing Return Links and Missing Self Reference lists from Screaming Frog.
2. For each cluster, make sure every page references every other page in the group, using the exact live URLs. If EN, FR, and DE are a set, all three must list all three.
3. Add the self-referencing hreflang to every page. A page must include an annotation pointing at its own URL with its own language-region value.
4. Match URLs precisely. Same protocol, same trailing-slash convention, same canonical form. A return tag pointing at a slightly different URL does not count.
5. If multiple systems generate pages, consolidate hreflang to one source of truth so every locale sees every sibling.
6. Re-crawl until the Missing Return Links filter is empty, then request re-indexing on a sample.
- Make every page reference every sibling and itself
- Include a self-referencing hreflang on each URL
- Match return URLs exactly, protocol and slash included
- Keep all locales on one hreflang source of truth
- Re-crawl until Missing Return Links reads zero
- List only the "other" languages and skip the self tag
- Let two systems generate hreflang independently
- Point a return tag at a near-miss URL variant
- Add a new locale without updating every sibling
- Assume indexed pages mean the mapping works
What good looks like
Take any page in a language cluster, view its source, and you see one hreflang entry per language including a self-reference, each pointing at a live 200 URL in its exact canonical form. Do the same on every sibling and the entries mirror perfectly: A points to B and B points back to A, all the way around the group. Crawl it in Screaming Frog and Missing Return Links plus Missing Self Reference both show zero rows. That is a cluster Google will actually trust and act on.
FAQ
Why does hreflang require a return tag at all?
Does one missing return tag break the whole cluster?
Is the self-referencing hreflang really required?
The return tag exists but still errors, why?
Reciprocity problems hide well and quietly starve your regional pages of traffic. We crawl the full cluster, map every missing return and self tag, and hand you an exact fix list per URL.
Claude Vincent is a technical SEO consultant focused on crawlability, rendering, and AI-search visibility. He writes the field guides and case studies at SEO ProCheck, with a bias toward the durable, unglamorous work that decides whether search engines and AI answer engines can actually read and cite a site.
About SEO ProCheck
Technical SEO consulting and GEO strategy with 20 years of enterprise experience. Case studies, resources, and tools for search and AI visibility.
Work With Me
Technical SEO audits, GEO strategy, site migrations, and international SEO. Hourly consulting for teams who need hands-on support, not just reports.







