Missing Return Tag

No Comments
Missing return tag
TL;DR: Hreflang only works when it is reciprocal. If your English page points to your German page but the German page does not point back, Google treats the annotation as untrustworthy and can ignore the whole cluster. Crawl your hreflang pairs, find the one way links, and add the return tags.
Check code
IN-039
Category
Indexation / hreflang
Severity
High on intl sites
Detect with
Screaming Frog, Sitebulb
Fix effort
Low to medium

What a missing return tag actually is

Hreflang is a handshake, not a signpost. When page A declares <link rel="alternate" hreflang="de" href="https://example.com/de/" />, Google expects the German page to carry an equivalent annotation pointing back at page A. Google's hreflang documentation is explicit about this: if page X links to page Y, page Y must link back to page X, otherwise the annotations "may be ignored or not interpreted correctly." The missing back reference is what crawlers and audit tools call a missing return tag, and it is by far the most common hreflang implementation bug I see in the wild.

The reason the handshake exists is trust. Anyone can put an hreflang tag on their own page claiming that some other URL is their French alternate. Without confirmation from the other side, that claim could hijack another site's page or simply be wrong. Reciprocity is Google's proof that both pages agree they belong to the same translation cluster.

Why one way hreflang quietly wrecks international SEO

The nasty part is that nothing visibly breaks. The pages still index, still rank somewhere, and the source page's hreflang looks perfectly valid when you view source. What actually happens is that Google discards the unconfirmed pair, and then the usual wrong country symptoms creep in: your US page ranks in the UK, your Spanish users land on the English version, and localized pages cannibalize each other because Google never understood they were alternates of one document.

On ecommerce sites this shows up as the wrong currency in front of buyers, which costs real money. I have watched a retailer's German conversion rate sag for months because google.de kept serving the .com page, and the root cause was a template that emitted hreflang on the English site only. One missing block of return tags, an entire market served the wrong storefront. That is the kind of bug that makes you swear at a template file.

It also compounds. Hreflang clusters are only as strong as their weakest page: if the German page fails to confirm, the en to de relationship dies, and any x-default logic that depended on the cluster gets shakier too.

Visualizing the handshake

Broken: one way annotation /en/ page hreflang="de" → /de/ page no return tag Google cannot confirm the pair. Annotation ignored, wrong page ranks. Valid: reciprocal pair /en/ page hreflang="de" → /de/ page ← hreflang="en" Both pages confirm the relationship. Correct language version served per market. Rule of thumb: every page in a cluster lists every other page in the cluster, plus itself. A 5 language cluster means 5 annotations on each of the 5 pages, 25 total.

How to detect missing return tags

Do not eyeball this. On a site with 8 locales and 2,000 templates you are looking at tens of thousands of annotation pairs, and humans are terrible at spotting the one that is absent. Use a crawler:

  1. Screaming Frog: enable Crawl and Store hreflang under Config, Spider, Crawl, run the crawl, then open the Hreflang tab and filter for Missing Return Links. The tool lists the exact URL that fails to confirm each pair. Export it, this is your fix list.
  2. Sitebulb: the International report flags Missing return links and separates them from broken hreflang URLs and language mismatches, which helps you triage causes rather than symptoms.
  3. Ahrefs or Semrush site audit: both surface hreflang reciprocity errors on scheduled crawls, useful as a regression alarm after the initial cleanup.
  4. Spot check the other direction: curl the alternate URL and grep the response for hreflang. If annotations live in HTTP headers or the XML sitemap instead of the head, check there. Mixed delivery methods are a classic source of phantom missing returns, because the crawl only inspected one method.

One heads up: Google removed the International Targeting report from Search Console back in 2022, so you cannot rely on GSC to surface these anymore. Your crawler is the source of truth now.

Common causes, mapped to fixes

Root causeHow it looks in a crawlFix
Hreflang template deployed on one locale onlyEvery pair from that locale fails in the same directionRoll the same alternate block out to all locale templates
Alternate URL redirects or 404sReturn tag exists but on a different final URLPoint hreflang at the final 200, canonical, exact URL
Protocol or trailing slash mismatchPair looks reciprocal to a human, fails string matchNormalize to one absolute URL format everywhere
Page forgot to reference itselfSelf reference missing warnings alongside return errorsInclude a self referencing hreflang on every page
Sitemap hreflang out of sync with head tagsConflicts between two annotation sourcesPick one delivery method and delete the other

Fixing it step by step

  1. Export the Missing Return Links report and group failures by template or site section. Ninety percent of the time this collapses thousands of URL errors into two or three template bugs.
  2. Generate hreflang from a single source of truth, a translation mapping in your CMS or database, and render the identical cluster on every member page. Never hand author these per page.
  3. Make every annotation an absolute URL that returns 200 and matches its page's canonical exactly, character for character.
  4. Add the self referencing tag to each page in the cluster.
  5. Recrawl and confirm the missing return count is zero, then put a monthly automated crawl on it so regressions get caught before Google recrawls the whole site.

What good looks like: every page in a cluster carries the full set of alternates including itself, all URLs are final and canonical, and your crawler's hreflang report is boring. Boring is the goal.

DO
  • Generate hreflang clusters from one central translation map
  • Include a self referencing tag on every page
  • Use absolute, final, canonical URLs in every annotation
  • Crawl for missing return links after every locale launch
  • Keep one delivery method: head tags, headers, or sitemap
DON'T
  • Add hreflang to one locale and assume the rest inherit it
  • Point annotations at URLs that redirect or 404
  • Mix head tags and sitemap hreflang with different data
  • Hand edit annotations page by page on a large site
  • Expect Search Console to warn you, that report is gone

FAQ

Does one missing return tag kill the entire cluster?
No, it invalidates the specific unconfirmed pair. Google evaluates pairs individually, so the en to fr relationship can survive while en to de fails. In practice though, missing returns are usually template level, so one bug tends to break many pairs at once.
Can I put hreflang in the XML sitemap instead of the page head?
Yes, sitemap hreflang is fully supported and often easier to automate at scale. The reciprocity rule still applies: every URL entry must list all alternates including itself. Just do not run sitemap and head annotations in parallel with different data, conflicts make Google trust neither.
Do hreflang URLs have to match the canonical exactly?
Yes. Reciprocity is checked as a string match against the crawled URL. If the annotation says http but the page canonicalizes to https, or one side has a trailing slash and the other does not, the return check fails even though a human would call them the same page.
How long until fixes take effect?
Google has to recrawl both sides of each pair before it can confirm the handshake, so expect days to a few weeks depending on crawl frequency. Resubmitting the affected sitemaps after the fix nudges things along.
Is hreflang even worth it for a site with two languages?
If both languages target distinct audiences and you care which version ranks where, yes. Two locales means a tiny cluster, two annotations plus self references per page, and it is trivial to keep reciprocal. The cost benefit only gets debatable when you have near identical English variants for six countries.
Want your hreflang setup actually verified?
A missing return tag is one of dozens of quiet indexation leaks. Our advanced SEO audit crawls every hreflang pair, canonical, and directive on your site and hands you a prioritized fix list.

Get the 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