No Return Tag

No Comments
No return tag
TL;DR: Hreflang must be reciprocal. If page A links to page B with hreflang but B does not link back to A, that is a missing return tag, and Google ignores the annotation. Every page in a language cluster has to reference every other page, including itself. Miss one link and the whole mapping goes quiet.
Type
Hreflang error
Also called
Missing reciprocal
Impact
Annotation ignored
Severity
High
Detect with
Screaming Frog

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

Complete: every page links to every page EN FR DE Broken: DE forgets to link back EN FR DE no return tag → EN/FR pairings dropped

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

ToolWhat it showsWhere
Screaming FrogMissing Return Links and Missing Self Reference filtersHreflang tab (enable Store and Crawl Hreflang)
Search ConsoleHistoric "no return tags" errors in International TargetingLegacy International Targeting report
SitebulbReciprocity and self-reference hint checksInternational hints
Manual view-sourceConfirm each sibling and the self tag are presentRaw 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.

DO
  • 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
DON'T
  • 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?
To prevent one-sided claims. If reciprocity were optional, any site could declare itself the alternate of another and try to siphon signals. Requiring both pages to confirm makes the relationship mutual and trustworthy.
Does one missing return tag break the whole cluster?
It breaks the specific pairing that lacks confirmation. Other confirmed pairings can still work, but on a template-driven site a single missing tag usually repeats across many pages, so the practical damage is wide.
Is the self-referencing hreflang really required?
Google recommends it, and leaving it out is a frequent cause of return-tag and reciprocity errors. Include a self tag on every page. It costs nothing and removes a whole class of failures.
The return tag exists but still errors, why?
Almost always a URL mismatch. The return tag points at http instead of https, or with a trailing slash the canonical lacks, or a tracking parameter. It must match the exact live canonical URL to count.
Return-tag errors buried across your locales?

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.

Get an advanced SEO audit

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.

Subscribe to our newsletter!

More from our blog