Content Agents

Fixing a Broken Hreflang and Multilingual SEO Setup

By Roey Granot · September 28, 2026

Category: ai-transformed-workflows

Fixing a Broken Hreflang and Multilingual SEO Setup

If your international organic traffic is underperforming, a broken hreflang setup is the likely cause - here's how to audit, fix, and maintain multilingual SEO at scale.

Key takeaways

  1. The problem International organic traffic often underperforms not because of missing content but because hreflang implementations are structurally broken in ways that compound quietly over time.

  2. Core insight Hreflang only works when every alternate page confirms every other alternate in the set, uses valid language and country codes, and is backed by content genuinely localized for each market rather than just translated.

  3. Practical outcome After auditing for bidirectional links and valid codes, choosing a consistent infrastructure method, adding pre-deploy validation, and localizing content properly, a reader can track four clear metrics to confirm whether their multilingual setup is working or where the remaining bottleneck sits.

If your international organic traffic is underperforming despite publishing translated content, the problem is almost certainly structural. Hreflang errors are among the most common and least visible technical SEO failures - and they compound quietly until a crawl reveals the damage.

This guide is for SEO practitioners who already know what hreflang is and have a multilingual site in production. We're not covering the basics. We're covering why your setup is probably broken, how to confirm it, and how to fix it without breaking everything else in the process.

Step 1: Audit Your Current Hreflang Setup for Bidirectional Linking and Valid Codes

The most common hreflang failure isn't a typo - it's one-way pointing. A site with 12 language versions across 3 regions can easily end up with 6 pages where en-US points to fr-FR, but fr-FR doesn't point back. Google ignores one-way references entirely. The signal only works when every alternate confirms every other alternate.

This is more widespread than most teams realize. Research reported by Search Engine Land suggests 31% of international websites contain conflicting hreflang directives, and 16% are missing self-referencing tags. A self-referencing tag means the en-US page lists itself in its own hreflang set - without it, Google has no clean anchor to start from. An additional 8.9% of sites use invalid language codes, often something like "en-UK" instead of the correct "en-GB."

Your audit needs to check four things explicitly: bidirectional linking (every alternate URL must reference back to every other version in the set), valid ISO 639-1 language codes paired with ISO 3166-1 country codes, self-referencing tags on every page in the set, and the presence of an x-default tag for users whose language doesn't match any version. Run this through a full site crawl - Screaming Frog and Sitebulb both surface hreflang errors at page level.

If your audit finds more than 5% broken links or invalid codes, you have a structural problem, not a typo. Fix the process before you fix the tags.

What this means in practice

  • Every page in a hreflang set must list all other pages in that set - including itself. If you have 8 language versions, each page carries 8 hreflang attributes.

  • "en-UK" is not a valid code. "en-GB" is. Language codes are ISO 639-1 (two letters); country codes are ISO 3166-1 alpha-2 (two letters). Use both together for regional targeting.

  • x-default should point to your primary-language page or a language selection page - it catches users who don't match any specific alternate.

  • If alternates are returning 404s or redirecting without proper chains, the hreflang attribute is worthless. Check status codes alongside the tag audit.

  • A missing self-referencing tag is the fastest fix with the highest leverage. Add it first.

Step 2: Choose Your Infrastructure Method and Implement Hreflang at Scale

Astronaut in a white spacesuit performing a spacewalk outside a space station.
Photo by WikiImages on Pixabay

There are three ways to implement hreflang: HTML head tags, XML sitemaps, or HTTP headers. They're not interchangeable - pick the one that fits your infrastructure and commit to it. Mixing methods creates inconsistency that crawlers handle unpredictably.

HTML head tags are transparent and auditable directly in source. They work well for sites under a few hundred pages, or when you want QA to be straightforward. The downside is page bloat on large sites - if you have 8 language versions and 10,000 pages, that's 80,000 extra lines in your HTML. XML sitemaps are the better choice at scale: you create a sitemap per language-region pair (sitemap-en-us.xml, sitemap-fr-fr.xml), link them from your sitemap index, and manage hreflang centrally without touching page templates. HTTP headers are for non-HTML files - PDFs, for example - where head tags aren't an option.

The structure question matters separately from the implementation method. ccTLDs (example.fr, example.de) send the clearest geographic signal to Google, but they're expensive to acquire and maintain. Subdomains (fr.example.com) are a middle ground - easier than ccTLDs, but split domain authority. Subdirectories (example.com/fr/) are recommended for most sites: they're technically straightforward, consolidate authority under one domain, and are easier to maintain. URL parameters (example.com?lang=fr) are the weakest option - Google can crawl them, but they create canonicalization headaches and should be avoided unless your CMS forces it.

Pick one method, document it, and stick to it. Switching methods mid-campaign breaks everything.

What this means in practice

  • For most teams: subdirectories plus XML sitemaps. It's the easiest to maintain, easiest to crawl, and easiest to validate in CI/CD.

  • When you create language sitemaps, submit each one to Google Search Console separately - it gives you per-language crawl data, which is useful for diagnosing indexing gaps.

  • If you're on a CMS that generates hreflang automatically (WordPress with Yoast, for example), audit what it's generating. Auto-generated tags are frequently misconfigured on sites with complex URL structures.

  • ccTLDs are worth the investment only if geographic trust signals meaningfully affect conversion in that market. For most B2B and SaaS sites, subdirectories do the job.

Step 3: Validate Hreflang Before Rollout and Set Up Automated Regression Detection

A team deploys hreflang changes to production. Forty-eight hours later, they discover 15% of alternates are returning 404s. Google has already crawled the broken links. The fix takes another 48 hours to propagate. That's four days of bad signals to a crawler - and it happens constantly, on teams that know what they're doing.

Prevention looks like validation in your CI/CD pipeline before anything goes live. A pre-deploy check should catch: invalid language codes (en-UK flagged, en-GB required), non-200 status codes on alternate URLs (404s, 301s without clean redirect chains), missing self-referencing tags, and missing return links where a referenced page doesn't reciprocate. This is automatable with a script that pulls hreflang attributes from staged pages and runs status checks against every URL in the set. If any check fails, the deploy is blocked.

Post-deploy, set up weekly automated crawls to detect regressions. A regression is when a previously valid hreflang breaks - a page gets moved, the old URL returns 404, but hreflang still points to it. This happens constantly during site migrations, URL restructures, or when content teams delete pages without checking what references them. Weekly crawls catch it before it becomes a compounding problem.

Validation is not optional. A broken hreflang tag is worse than no tag - it tells Google your content is wrong.

What this means in practice

  • A CI/CD validation step doesn't require a developer - most crawling tools expose APIs that a script can call as part of a build process. The investment is usually a few hours of setup, not a sprint.

  • Track a validation pass rate: the percentage of deploys that pass hreflang checks without manual intervention. If it's below 90%, the process is broken upstream - usually a CMS template issue or a URL-change workflow that doesn't update hreflang.

  • When a regression fires, the first question isn't "what broke" - it's "what changed." Compare the crawl against the previous week's snapshot to isolate the delta.

  • Set alerts for 404s on alternate URLs specifically. A general uptime monitor won't catch hreflang-specific breakage on translated pages that aren't in your primary sitemap.

Step 4: Localize Content Beyond Translation and Measure Organic Traffic Lift

Hreflang only works if the content is actually different in a way that matters to users in each market. A site that translates English to French word-for-word but keeps the same keywords, currency, and cultural references hasn't localized - it's just moved the same content into a different font. Google can serve it to French users, but French users won't convert, and rankings for French search terms will be weak because the content wasn't written for them.

Localization means: keyword research conducted in each market (search volume and intent differ significantly - don't translate English keywords, research French ones), currency and payment methods appropriate to the region, tone and cultural register (formality varies widely across European markets, humor rarely translates directly), and date formats, units, and legal references relevant to that country. The keyword gap is the one teams most consistently underestimate. The French equivalent of a high-volume English keyword is often a different phrase entirely, with different modifiers and different intent.

Set measurement baselines before you launch. Track organic traffic by language-region segment, rankings for localized keywords specifically (not their English translations), and conversion rate by market. The correlation between hreflang implementation and traffic lift is well-documented in case studies - Saxo Bank reported 179% growth in monthly organic traffic following international SEO restructuring, and UNIQLO's multilingual work correlates with reported gains of 109% in organic traffic and 141% in revenue, per industry reporting. These are correlations, not guarantees, and both involved significant simultaneous changes beyond hreflang alone. But the directional signal is consistent.

There's also a dimension worth flagging for sites concerned about AI search visibility. Research cited by Search Engine Land suggests ChatGPT's retrieval bot fetches English pages 2.6 times more often than search demand would predict, and sites with an /en/ folder see meaningfully higher citation rates in AI-generated answers. As one practitioner framed it: "A high-quality English version of your cornerstone pages is one of the few content-side moves that widens your footprint." That's correlation data from a specific period - apply the finding with appropriate caution - but it's worth factoring into how you prioritize your English-language content quality alongside localized versions.

If your hreflang is perfect but your content is generic, you'll get crawled correctly and ranked nowhere.

What this means in practice

  • Run keyword research natively in each market before writing or translating. Use a tool with local search volume data - global volume aggregates obscure regional intent differences.

  • Segment your Search Console data by country as soon as you go live. This is your primary signal for whether Google is serving the right version to the right users.

  • If you're launching more than three markets, prioritize by revenue opportunity - not by translation cost. A market with 10% of your total addressable market doesn't warrant the same localization depth as your primary growth market.

  • Review localized pages with a native speaker, not just a translator. Cultural register errors undermine credibility faster than keyword gaps.

The Metrics That Tell You Whether This Is Working

Four steps, four to five weeks of work, and an ongoing maintenance commitment. Here's what a working multilingual SEO setup looks like operationally - and what you track to confirm it's holding.

The audit takes about a week with a proper crawling tool. Infrastructure setup - especially if you're migrating from HTML head tags to XML sitemaps, or restructuring from subdomains to subdirectories - runs two to three weeks depending on CMS complexity. Validation setup (CI/CD checks plus weekly crawl scheduling) takes another week. Localization and measurement are ongoing; expect the first meaningful data at 60 to 90 days post-launch, not 30.

Track four metrics once you're live. Hreflang coverage: the percentage of eligible pages with valid, complete hreflang attributes. Bidirectional linking rate: the percentage of alternates where the referenced page correctly references back. Validation pass rate: the percentage of deploys that clear pre-deploy checks without intervention. And organic traffic by language-region segment, indexed to your baseline. If coverage and bidirectional rates are high but traffic isn't moving, the content localization is the bottleneck - return to Step 4.

A few things you can skip. If you have a single-language site, you don't need hreflang - full stop. If you have fewer than 1,000 pages, HTML head tags are fine and easier to audit. If you're targeting a single country with regional content variations (en-US and en-CA, for example) but the content is essentially identical, consider whether hreflang is solving a real user problem or just adding maintenance overhead.

The goal isn't a perfect hreflang setup. It's a hreflang setup that doesn't actively mislead Google - one that's auditable, maintainable, and connected to content that users in each market actually need.

Before diving into the audit process, it helps to have a clear mental model of what hreflang tags actually do and why search engines depend on them to serve the right language version to the right audience. This quick overview cuts through the technical jargon to establish the core concept in plain terms. It's a solid grounding point, particularly if you're inheriting someone else's multilingual setup and need to get up to speed fast.

Frequently Asked Questions

Why is my hreflang not working even though I added the tags?

The most common reason is one-way pointing - your en-US page references fr-FR, but fr-FR does not reference back. Google ignores one-way references entirely. Every alternate URL in the set must reference every other alternate, including itself. Also check that you are not using invalid codes like 'en-UK' instead of the correct 'en-GB', and that every page includes a self-referencing tag.

What is the best way to implement hreflang at scale across thousands of pages?

XML sitemaps are the recommended approach for large sites. You create a sitemap per language-region pair (for example, sitemap-en-us.xml and sitemap-fr-fr.xml), link them from your sitemap index, and manage hreflang centrally without adding bloat to page templates. Submit each language sitemap to Google Search Console separately so you get per-language crawl data to diagnose indexing gaps.

Should I use ccTLDs, subdomains, or subdirectories for my multilingual site?

For most sites, subdirectories (example.com/fr/) are the recommended choice. They consolidate authority under one domain, are technically straightforward, and are easier to maintain than ccTLDs or subdomains. ccTLDs send the clearest geographic signal but are expensive to acquire and maintain, and are only worth the investment if geographic trust signals meaningfully affect conversion in that specific market.

How do I prevent hreflang from breaking after site updates or migrations?

Set up validation in your CI/CD pipeline before anything goes live. A pre-deploy check should flag invalid language codes, non-200 status codes on alternate URLs, missing self-referencing tags, and missing return links. After deployment, run weekly automated crawls to catch regressions - cases where a page was moved or deleted but hreflang still points to the old URL. A general uptime monitor will not catch hreflang-specific breakage on translated pages.

Does translating content word-for-word improve rankings in other markets?

No. Word-for-word translation without localization typically produces weak rankings because the content was not written for the target market. You need to conduct keyword research natively in each market, since the French equivalent of a high-volume English keyword is often a completely different phrase with different intent. You should also adapt currency, payment methods, tone, date formats, and cultural references. If your hreflang is correct but the content is generic, Google will crawl it correctly and rank it poorly.