// LEARN / INTERNATIONAL

Fix Hreflang Return Tag Errors

A single missing return tag can break an entire hreflang cluster, even when the page is otherwise indexed. The fix is symmetry: every alternate must point back, every URL must be self-referential, and x-default must be consistent.

Hreflang cluster diagram showing reciprocal links between language-specific URLs and an x-default page

What return tag errors mean

A hreflang return tag error means Google found a page in the set, but the reciprocal link back is missing or inconsistent. If page A points to page B, page B must point back to page A. If it doesn't, the cluster is incomplete.

That sounds small, but at scale it is noisy. On enzymes.bio, Google reported 16,100 indexed pages and 591,000 not indexed pages, with 0 external backlinks as the rate-limiter. In that kind of setup, hreflang mistakes can waste crawl capacity and send the wrong locale into search results.

The fastest way to fix hreflang is to stop thinking in pairs and start thinking in clusters. Every language-country URL needs a self-reference, every sibling needs a return tag, and the whole set needs one clear canonical target. If canonicalization is off, hreflang validation gets messy fast. See canonical tags guide if you need the rules first.

How clusters break

Asymmetric alternates

Page A lists page B, but page B does not list page A. This is the classic missing return tag case.

Wrong locale pairing

en-GB is linked to a generic English URL, while en-US gets a country-specific page. Google sees a partial set, not a clean language-country matrix.

Missing self-reference

The page is excluded from its own hreflang list. That usually happens in templating, where the current URL is filtered out by mistake.

Broken canonical alignment

Hreflang points to a URL that canonicals elsewhere, or to a parameterized variant. The cluster looks valid in source, but invalid after canonical processing.

Incomplete x-default

The fallback URL exists on some pages but not all. For multilingual sites, x-default should be deliberate, not accidental.

Diagram explaining hreflang return tag errors and a URL tree with canonical parent-child pages

Validate the full set

  1. 01

    Export the URL set

    Pull every localized URL into one sheet. Include path, locale, canonical URL, and whether it has x-default. If the site uses WordPress with TranslatePress, the translation matrix needs to be audited against the actual rendered HTML, not the admin list.

  2. 02

    Check symmetry

    For each URL, verify that all alternates point back. If https://example.com/en-gb/product/ lists https://example.com/en-us/product/, then the US page must list the UK page too. One missing return tag breaks the pair.

  3. 03

    Check self-reference

    Each page should reference itself in the hreflang cluster. Without that, Google may treat the page as a follower, not a member.

  4. 04

    Check canonical targets

    The canonical URL and hreflang URL should describe the same indexable page. If a page canonicals to a parent, Google can drop the alternate map.

  5. 05

    Re-test in Search Console

    Use Indexing › Pages for indexing outcomes and Performance › Search results to spot locale mismatches in queries and landing pages. Legacy Settings › International Targeting still appears in older docs and some dashboards, but modern validation lives in the page source and crawl traces.

Three deployment patterns

FieldSubfoldersSubdomainsccTLDs

Example

/en-gb/

uk.example.com

example.co.uk

Best for

One CMS, shared templates, simpler rollouts

Separate regional teams or infrastructure

Strong country signal and local operations

Hreflang risk

Lower if templates are centralized

Medium: cross-host return tags are easier to miss

Higher: more domain-level coordination

Return-tag debugging

Easiest

Moderate

Hardest

Typical failure

Template forgets one locale

Host-level canonical mismatch

One domain misses the full alternate set

Fix common false positives

Not every hreflang error is a real cluster failure. Sometimes Google flags a return tag issue because one of the URLs is blocked, redirected, or canonicalized away. That is common on large e-commerce sites with filtered category pages and locale selectors.

Use Links › External links and Settings › Crawl stats only as supporting evidence, not as the source of truth. The source of truth is the rendered HTML plus the final canonical destination after redirects. If the page source says one thing and the crawl sees another, fix the template first.

Country-language pairs matter too. en-US and en-GB are not interchangeable, even if the copy is 95% identical. If the product, shipping, or legal content changes by region, keep the pair separate. If not, one clean English page with x-default may be enough.

Example hreflang block

<link rel="alternate" hreflang="en-us" href="https://example.com/en-us/product/" />
<link rel="alternate" hreflang="en-gb" href="https://example.com/en-gb/product/" />
<link rel="alternate" hreflang="fr-fr" href="https://example.com/fr-fr/product/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/product/" />
<link rel="canonical" href="https://example.com/en-us/product/" />

Validate with cURL

curl -I https://example.com/en-gb/product/
curl -s https://example.com/en-gb/product/ | grep -i 'hreflang\|canonical'
curl -s https://example.com/en-us/product/ | grep -i 'hreflang\|canonical'

Check GSC and logs

For a real audit, compare the source HTML against Googlebot fetches and the Search Console reports. Start with Indexing › Pages for excluded URLs, then use Performance › Search results to see whether the wrong locale is ranking. If the site is image-heavy or script-heavy, Settings › Crawl stats will show whether crawl volume dropped after a template change.

On enzymes.bio, the broader site-level pattern was strong: 7,950 organic clicks/mo in May 2026, up from 2,770 in May 2025, with 557,000 impressions/mo, 1.4% CTR, and average position 11.8 in May 2026. Those numbers matter because they show that technical cleanup can surface demand already sitting in the index.

You should also check Indexing › Sitemaps for locale sitemap completeness and Enhancements › Breadcrumbs, Enhancements › Product snippets, and Enhancements › FAQ for template regressions. Hreflang bugs often travel with other release mistakes.

DevTools spot check

const links = [...document.querySelectorAll('link[rel="alternate"]')].map(el => ({
  hreflang: el.getAttribute('hreflang'),
  href: el.href
}));
console.table(links);

const canon = document.querySelector('link[rel="canonical"]')?.href;
console.log('canonical:', canon);

FAQ

What causes a hreflang return tag error?

Usually one page in the cluster is missing a reciprocal link, or a canonical/redirect removes the URL Google expected to see.

Does every hreflang URL need to link to itself?

Yes. Self-reference helps Google treat the page as a member of the cluster, not just an alternate target.

Is x-default required?

Not always, but it helps when you have a generic language selector or a global fallback page. Keep it consistent across the cluster.

How do I fix hreflang across en-US and en-GB?

Use separate URLs when the regional content differs, and ensure both pages point to each other plus any shared alternates in the same cluster.

Where should I check hreflang issues in GSC?

Start with Indexing › Pages, then compare affected URLs in Performance › Search results. Settings › International Targeting is legacy, so treat it as a reference point, not the main validator.

What if the site has 35 languages?

Treat hreflang as a templated system, not a manual tag set. On enzymes.bio, 35 languages via TranslatePress means one broken template can affect thousands of pages at once.

// FAQ

Common questions

What causes a hreflang return tag error?
Usually one page in the cluster is missing a reciprocal link, or a canonical/redirect removes the URL Google expected to see.
Does every hreflang URL need to link to itself?
Yes. Self-reference helps Google treat the page as a member of the cluster, not just an alternate target.
Is x-default required?
Not always, but it helps when you have a generic language selector or a global fallback page. Keep it consistent across the cluster.
How do I fix hreflang across en-US and en-GB?
Use separate URLs when the regional content differs, and ensure both pages point to each other plus any shared alternates in the same cluster.
Where should I check hreflang issues in GSC?
Start with `Indexing › Pages`, then compare affected URLs in `Performance › Search results`. `Settings › International Targeting` is legacy, so treat it as a reference point, not the main validator.
What if the site has 35 languages?
Treat hreflang as a templated system, not a manual tag set. On enzymes.bio, 35 languages via TranslatePress means one broken template can affect thousands of pages at once.
// FREE-AUDIT

Get a free 30-minute technical SEO audit

Send your URL and one symptom. You'll get a Loom walkthrough back within 48 hours — no sales call.

Request a free audit
In plain English: If one locale misses the return link, Google can ignore the whole cluster, so fix the template, not just the flagged URL.