If your international pages aren’t ranking where they should or worse, the wrong language version keeps showing up in search results, hreflang errors are often the quiet culprit. These small technical mistakes can send deeply conflicting signals to Google and Bing, leaving them unable to decide which version of your content belongs where.
The frustrating part? Most hreflang errors are invisible until rankings start slipping. A study published on Search Engine Land found that over 31% of websites serving multiple languages contain conflicting hreflang directives. That’s not a niche problem, it’s an epidemic hiding in plain sight across international SEO setups worldwide.
Hreflang errors genuinely confuse search engines. Let’s learn why they happen, and how to stop them from quietly undermining your global visibility.
What Hreflang Actually Does (and Why It Goes Wrong So Easily)
Hreflang is an HTML attribute that tells search engines the language and geographic target of a given page. When someone in Germany searches for your product, a correctly implemented hreflang tag ensures they see the German version and not the English one.
The system works on mutual acknowledgment. If your English-US page declares a relationship with your English-UK page, the UK page must declare the same relationship back. It’s a two-way handshake. Miss one side, and search engines typically ignore the entire signal.
That mutual dependency is also why errors compound quickly. One broken link in a cluster of 20 language variants can invalidate the whole set.
The Hreflang Errors That Confuse Search Engines Most
Avoiding these common hreflang errors helps search engines serve the right version of your content to the right audience.
1. Missing Return (Reciprocal) Tags
This is the single most impactful hreflang error, and it’s remarkably common. When Page A references Page B as an alternate, Page B must reference Page A in return. Without that return link, search engines cannot confirm the relationship, and they won’t guess.
One analysis found that major e-commerce sites can have up to 40% of their hreflang annotations missing proper reciprocity, often because different regional teams manage different language versions without coordinating updates.
What goes wrong: Google and Bing simply disregard the annotations. Your carefully built international structure becomes invisible to crawlers.
Fix: Audit every language cluster. Every page in the set must reference every other page, including itself.
2. Wrong or Invalid Language and Region Codes
Hreflang uses ISO 639-1 language codes (like en, fr, de) and optionally ISO 3166-1 alpha-2 region codes (like US, GB, IN). Get either one wrong, and that annotation becomes useless.
Research shows that roughly 8.91% of multilingual sites currently contain unknown or incorrect language codes. Some common slips:
- Using en-UK instead of the correct en-GB
- Confusing hr (Croatian) with cr (which doesn’t exist as a valid code)
- Using zh without specifying zh-CN (Simplified) vs. zh-TW (Traditional)
- Mixing up id (Indonesian) with in (India’s country code)
Each of these tells search engines nothing, or worse, contradicts your actual content language.
Fix: Cross-reference all codes against Google’s supported language codes list before implementation. Automated audits in Screaming Frog or Semrush Site Audit can catch invalid codes at scale.
3. Hreflang Pointing to Non-200 URLs
Hreflang tags that reference broken, redirected, or non-indexable URLs are treated as though they don’t exist. If your French page URL changed after a migration but the hreflang tags still point to the old path, you’ve essentially orphaned that language variant from your international structure.
This includes:
- URLs returning 404 errors
- Pages behind 301 or 302 redirects
- Pages blocked by robots.txt
- Pages with a noindex directive
The last point is particularly tricky. A noindex tag is a hard instruction that search engines will always follow, whereas hreflang is treated as a suggestion. When a page carries both a noindex directive and an hreflang tag, search engines respect the noindex and disregard the hreflang entirely. Including noindexed pages in a language cluster creates a logical contradiction that undermines the whole set.
Fix: Regularly crawl your hreflang URLs to verify they resolve with a 200 status and aren’t flagged with noindex. Any URL update requires a simultaneous hreflang update.
4. Conflict Between Hreflang and Canonical Tags
Canonical tags and hreflang tags serve different purposes but must work together. The canonical tag identifies the preferred version of a page. Hreflang identifies language and regional variants. When they point in conflicting directions, search engines receive genuinely contradictory instructions.
A typical conflict looks like this: an English-US page’s hreflang tag references itself and the English-UK page, but the canonical tag points to the English-UK page instead of itself. Now search engines don’t know which version is authoritative.
The rule of thumb: canonical tags should point within language versions, not across them. Each localized page should have a self-referencing canonical.
Fix: During any hreflang audit, validate that canonical and hreflang tags are aligned. A metadata checker can simplify this process by highlighting conflicting canonical tags, missing attributes, or inconsistent metadata signals across localized pages.
5. Using Conflicting Implementation Methods
Hreflang can be implemented in three ways: HTML <head> tags, XML sitemap annotations, or HTTP response headers. Any one of these works. Mixing them, especially when they contain different or contradictory data, tends to cause search engines to abandon the signals altogether.
This scenario plays out often during agency transitions or when separate technical teams work on different parts of a site. The original team implements hreflang via XML sitemap. An incoming SEO team adds HTML header tags without removing the sitemap version. Both sets now conflict.
Fix: Pick one implementation method and apply it consistently across the entire site. For most modern sites, HTML <head> tags offer the best balance of flexibility and control.
6. Missing Self-Referencing Hreflang Tags
Every page in an hreflang cluster should include a tag pointing to itself. Without it, search engines may treat the page as having an incomplete or unreliable set of annotations, and may ignore all of them.
Around 16% of multilingual sites are missing self-referencing hreflang tags, according to published research. It’s an easy oversight, particularly when the logic seems redundant. Why would a page need to reference itself?
In practice, it helps search engines confirm the page is part of the international cluster and that the annotation set is complete. It’s a required piece of the puzzle, not a redundancy.
Fix: Every page that uses hreflang should include a self-referential hreflang tag matching its own language-region code.
7. Conflicting Hreflang Directives (Multiple URLs for One Language-Region Pair)
When more than one URL is assigned to the same language-region code in a cluster, search engines receive competing instructions. This is known as a conflicting directive, and more than 31% of international websites trigger this error.
It often happens on sites where content is updated in one region and the hreflang tags aren’t synchronized across all pages in the cluster. The result: Google doesn’t know which URL should rank for Spanish users in Mexico, for example, and may serve neither reliably.
Fix: Each language-region combination should map to exactly one URL in the hreflang set. Audit for duplication any time content is restructured or URLs are updated.
8. Language Encoding Mismatches
A less obvious but increasingly documented error involves the lang attribute in the HTML tag conflicting with the hreflang annotation. For example, a page targeting the UK with hreflang=”en-GB” but carrying a lang=”en-US” HTML attribute sends mixed signals about the page’s actual linguistic identity.
Search engines may misinterpret targeting signals, causing the wrong regional version to appear in search results, including in AI-generated search responses, where regional targeting is becoming increasingly important.
Fix: Ensure the HTML lang attribute matches the hreflang code on every page. Crawl all pages to verify consistency across the site.
9. Misuse of x-default
The x-default hreflang value is meant for the fallback version of a page, typically a language selector or a generic global homepage served when no other language match applies. It’s not a universal default, and it’s not a substitute for proper language targeting.
Common misuses include:
- Applying x-default to every language version instead of just one
- Using it as the “main” language tag instead of a proper language code
- Omitting it entirely when it’s genuinely needed for a language selector page
Fix: Use x-default once per URL cluster, pointing to the page that should appear when no other hreflang matches a user’s language or region.
Why These Errors Are Hard to Catch
Many hreflang errors don’t throw visible warnings. Pages continue to load, rankings don’t crash immediately, and Google doesn’t send alerts. The damage tends to emerge slowly, traffic in specific regions stagnates, the wrong language version gets indexed in a market, or your own regional pages begin competing against each other.
Large sites compound the problem. Technical debt accumulates as pages are added, redirected, or removed and hreflang clusters become outdated without anyone noticing. Some large websites discover years-old hreflang errors only after investigating mysterious traffic drops in specific regions.
How to Audit for Hreflang Errors
A basic hreflang audit typically involves:
Crawl-based tools – Screaming Frog and Semrush Site Audit both crawl hreflang tags and surface issues like missing return links, invalid codes, and broken URLs. These are the fastest way to get a site-wide view.
Google Search Console – The International Targeting report can surface hreflang-related issues as Google sees them. It’s a useful secondary check but doesn’t catch everything.
Manual inspection – For smaller sites or spot-checking, reviewing the HTML source of key pages remains one of the most reliable methods to verify tag structure.
Cross-referencing canonical and hreflang alignment – This step is often skipped and is frequently where the most damaging conflicts hide.
A reasonable audit cadence is every three to six months, or immediately following any domain migration, URL restructure, or CMS change.
Conclusion
Hreflang errors rarely announce themselves. They just quietly reroute traffic, confuse indexing signals, and erode the international visibility you’ve worked to build. The good news is that most of these errors follow predictable patterns, broken reciprocal links, invalid codes, canonical conflicts, and inconsistent implementation methods top the list.
Getting hreflang right doesn’t require perfection at launch; it requires ongoing attention. A well-audited hreflang setup is one of the more durable investments in international SEO, because when search engines understand exactly who each version of your content is for, they tend to reward that clarity with better regional rankings.


