Getting your `hreflang` tags right is the difference between being a global powerhouse and being invisible in your target markets. While it seems like a minor technical detail, the data suggests that most of the web is actually getting it wrong.
But before we go towards the fixes, let's have a look at the "why" behind this urgency:
A comprehensive study by Hreflang.org found that roughly 75% of websites using hreflang tags have at least one technical error, ranging from incorrect language codes to missing return tags.
While English is the dominant language of the internet, it only accounts for about 25% of global users. If your international SEO is broken, you are effectively ignoring 75% of the world's purchasing power.
According to CSA Research, 76% of online shoppers prefer to buy products with information in their native language, and 40% will never buy from websites in other languages.
These issues are also closely tied to technical seo best practices, especially in large-scale international websites.
For instance, there may be one page in English for the U.S., another in British English for the UK, and yet another in Spanish for Spain. The use of hreflang tags would help search engines choose the right page, failing which they may find themselves choosing the wrong one.
What Is a Hreflang Tag?
A `hreflang tag’ is an HTML attribute that tells search engines which language or regional version of a webpage to show to users.
“It’s helpful for search engines to know that there are different versions of a page for different languages, countries, or regions.
For example, hreflang can link a page for English speakers in the U.S. to one for English speakers in the U.K.
When used correctly, hreflang lets people go to the most useful version of a page. It can lead to indexing issues, confusion with duplicate content, and less visibility in international markets if it's not done right.
Primary Purpose of Hreflang Tag
Hreflang does not increase ranking in isolation but rather aligns with relevance. It ensures that users are delivered to the most appropriate version of a page, which increases engagement metrics like time on page and decreases bounce rates.
Primary Features of Hreflang Implementation Include the Following:
Implementing your international SEO plan requires more than just adding code; that's not enough.
You need to be good at both technical details and making plans for the future. Here are the most important parts of a good hreflang implementation:
-
Adding tags on words for language and place (like en-us, en-gb, es-es)
-
Links between distinct versions of a page, in both directions
-
hreflang tags pointing to itself
-
Correct alignment of standard forms across languages
-
Use same version of XML sitemap or HTML head
Why Hreflang Matters in Technical SEO?
As sites are more complicated, technical SEO is often required to ensure the hreflang implementation is well aligned with the architecture of the site and the indexing method.
Without hreflang, search engines can see localized versions of pages as duplicates instead of linguistic or geographical differences. This can result in inefficiencies in ranking, wrong page selection, and a bad user experience in international search results.
According to an industry-standard SEO audit, the international site structure is one of the most troublesome types of structures in SEO systems.
If you look at the research from the top SEO audit tool providers, like Ahrefs and SEMrush, you will see that many issues with canonicals and hreflang tags not being aligned properly are on multi-language and multi-regional sites.
In technical terms, hreflang contributes to the following:
-
Improved index accuracy across language variants
-
Reduced duplicate content conflicts
-
Better regional SERP targeting
-
Increased organic CTR in localized markets
These effects compound over time, particularly in large enterprise websites where hundreds or thousands of URLs are involved.
Common hreflang Mistakes and How To Fix Them
Most HREFLang problems don't come from missing tags; they come from structure errors. These mistakes are the ones that most often appear during the process.
1. Missing X-Default Tag
Search engines use the x-default attribute to figure out which page to show users when there isn't a language or regional version that fits their needs. Google could pick a language page that isn't the one you want if you don't give it to them.
Incorrect
<link rel="alternate" hreflang="en-us" href="https://example.com/us/" />
Correct
<link rel="alternate" hreflang="en-us" href="https://example.com/us/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/" />
Fix
You should add an x-default to your global homepage, language selector, or default landing page. This provides Google with a clear fallback when a user's language or location does not match any available variants.
Pro Tip
Use x-default on international homepages and country selectors. It is less critical on deeply localized pages where every visitor is expected to belong to a specific region.
2. Hreflang Outside the <head> Section
Search engines need the hreflang tags to be in the section of your HTML. If hreflang tags are in the body of the site, crawlers may entirely ignore them and lose the language and regional targeting signals.
Incorrect
<body>
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
</body>
Correct
<head>
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
</head>
Fix
Place all `hreflang "tags" on <head> each page. If you’re utilizing XML sitemaps or HTTP headers to implement hreflang, make sure those are set up properly and consistently.
Pro Tip
After you deploy, verify the rendered source code, not the CMS template. A lot of hreflang difficulties arise when the CMS gets the tags right, but the final HTML doesn't show them.
3.Alternate Versions Pointing to the Same URL
Each hreflang tag should link to a different language or regional version of a page If you have several hreflang values pointing to the same URL, search engines can’t tell which version should be served to which audience.
Incorrect
<link rel="alternate" hreflang="en-us" href="https://example.com/page/" />
Correct
<link rel="alternate" hreflang="en-us" href="https://example.com/us/page/" />
Fix
Ensure every `hreflang’ value points to the correct localized version of the page. Each alternate URL should contain content appropriate for the targeted language or region.
Pro Tip
If the same information is truly used by many regions, consider utilizing a broader language code such as en instead of developing distinct regional versions that all resolve to the same site.
4. Missing Return Links
Hreflang must be reciprocal If one page links to another language version, the other page must link back. Without return links, the entire hreflang set can be ignored by search engines.
Incorrect
<!-- English page -->
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<!-- French page missing return link -->
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
Correct
<!-- English page -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<!-- French page -->
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
Fix
Ensure every alternate page links to all other versions in the same hreflang set.
Pro Tip
Audit hreflang clusters in batches, not one by one. One missing return link can break the relation between many regional pages.
5. Incorrect Language or Region Codes
Hreflang Codes need to be in valid ISO language and region formats. Search engines may ignore the wrong codes like en-uk or es-latam .
Incorrect
<link rel="alternate" hreflang="en-uk" href="https://example.com/uk/page/" />
Correct
<link rel="alternate" hreflang="en-gb" href="https://example.com/uk/page/" />
Fix
Use ISO 639-1 language codes and ISO 3166-1 Alpha-2 country codes. For example, en-gb for English users in the United Kingdom and es-mx for Spanish users in Mexico.
Pro Tip
Do not invent regional codes. If the market does not have a valid region code, use only the language code.
6. Canonical Conflicts
Canonical tags and hreflang tags should work well together. If a localized page canonicalizes to a different language version, search engines may ignore the hreflang signal and instead index the canonical target.
Incorrect
<!-- French page -->
<link rel="canonical" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
Correct
<!-- French page -->
<link rel="canonical" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
Fix
Each localized page should generally self-canonicalize and include hreflang references to itself and its alternate versions.
Pro Tip:
Check the canonicals before fixing hreflang. A wrong canonical can override a right hreflang setup.
7. Inconsistent URL Structures
Hreflang works best when the substitute pages follow a predictable URL pattern. Mapping at scale is made more challenging by the non-systematic mixing of subfolders, subdomains, and parameters.
Incorrect
<link rel="alternate" hreflang="fr" href="https://fr.example.com/page/" />
<link rel="alternate" hreflang="es" href="https://example.com/page/?lang=es" />
Correct
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="es" href="https://example.com/es/page/" />
Fix
Use a consistent international URL structure where possible. Generally subdirectories are easier to manage at scale. But consistency is the priority .
Pro Tip
Decide the URL structure before implementation. Fixing hreflang after a messy international architecture is much harder.
8. Missing Self-Referencing Hreflang Tags
Each page should point to itself with a `hreflang "tag." The page without a self-reference looks like an incomplete part of the language cluster.
Incorrect
<!-- English page -->
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
Correct
<!-- English page -->
<link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="de" href="https://example.com/de/page/" />
Fix
To fix it, you should add a self-referencing hreflang tag to every page in the alternate set.
Pro Tip
If a page is listed as other alternates but does not list itself, then it is an incomplete hreflang cluster.
9. Punctuation Errors and Typos
Small syntax errors can break hreflang tags. Missing quotation marks, incorrect hyphens, added spaces, misspelled attributes all can break implementation.
Incorrect
<link rel="alternate" hreflang="en_us" href="https://example.com/us/page/" >
Correct
<link rel="alternate" hreflang="en-us" href="https://example.com/us/page/" />
Fix
Be careful to check hreflang syntax. Look for quotation marks, hyphens, URLs, language codes, and spelling .
Pro Tip
Most syntax issues are caught faster by automated crawlers than by manual review, especially on large multilingual sites.
10. Combining Different Tagging Methods
Hreflang can be implemented using HTML tags, XML sitemaps and HTTP headers. The problem is when different methods give different signals
Incorrect
HTML:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
XML sitemap:
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/french/" />
Correct
HTML and the sitemap both point to the following:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/" />
Fix
Use a single implementation method whenever possible. If multiple methods are required, ensure that URLs, codes, and relationships match exactly.
Pro Tip
Because updates can be controlled centrally, XML sitemap hreflang is frequently easier to maintain than page-level tags on large sites.
11. Partial or Inconsistent Implementation
If you’re only using hreflang for specific templates or markets, you’ll have incomplete clusters. Search engines could categorize a piece of the site as internationalized and other sections as duplicate or isolated content.
Fix
To fix it, audit every page type and apply hreflang consistently wherever alternate versions exist.
Pro Tip
Template-level implementation is safer than manual tagging because it reduces gaps when new pages are published.
12. Incorrect XML Sitemap Implementation
When using hreflang with XML sitemaps, all alternative URLs must be stated correctly. Missing substitutions, improper codes, redirects, non-reciprocals, and complete setups can go wrong.
Incorrect
<url>
<loc>https://example.com/en/page/</loc>
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
</url>
Missing the English self-reference and other alternates.
Correct
<url>
<loc>https://example.com/en/page/</loc>
<xhtml:link rel="alternate" hreflang="en" href="https://example.com/en/page/" />
<xhtml:link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
</url>
Fix
Make sitemap hreflang complete, reciprocal, and consistent across all equivalent URLs.
Pro Tip
It's easier to check a sitemap hreflang than a bunch of HTML tags if your site has a lot of translated URLs.
13. Broken, Redirected, Blocked, or Non-Indexable Hreflang URLs
URLs with hreflang should link to active pages that can be crawled and indexed. Redirects, 404 errors, robots.txt blocks, and noindex tags can limit access to other URLs.
Incorrect
<link rel="alternate" hreflang="fr" href="https://example.com/fr-page-old/" />
The URL redirects:
301 → https://example.com/fr/page/
Correct
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page/" />
Fix
Change the <hreflang} links so that all URLs return a 200 status code, can be indexed, and are not blocked by robots.txt.
Pro Tip
A lot of hreflang problems are caused by old URLs that were moved or deleted but never changed in the hreflang set.
14. Missing Reciprocal (Return) Links
Hreflang must be bi-directional. If one page connects to another and the other page links back to it, Google won't acknowledge the link.
Incorrect
English page:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
Correct
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
<link rel="alternate" hreflang="en" href="https://example.com/en/page" />
Fix
Ensure every language version links to all alternates in the set.
15. Not Using Absolute URLs
In a cross-domain configuration, crawlers may misinterpret or ignore relative URLs in hreflang.
Incorrect:
<link rel="alternate" hreflang="es" href="/es/page" />
Correct:
<link rel="alternate" hreflang="es" href="https://example.com/es/page" />
Fix: Always use full absolute URLs with a protocol.
16. Adding Hreflang Tags to Blocked or Broken Pages
In a cross-domain configuration, crawlers may misinterpret or ignore relative URLs in hreflang
Incorrect:
Disallow: /fr/
But `hreflang` still points at the following:
<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />
Correct:
You will have to remove block or allow crawling:
Allow: /fr/
Fix: Ensure all hreflang URLs are crawlable and indexable (200 status, not blocked).
Conclusion
Hreflang mistakes do not arise from superficial technical faults, but are indicative of deeper structural problems within how search engines understand the workings of a multilingual website ecosystem.
Consistency is the primary reason behind such mistakes, not the lack of implementation. Hreflang mistakes can be solved only when consistency in terms of URL, canonicalization, sitemap, and backlinks prevails. Once established, hreflang becomes an invisible but extremely important function.
Rank in AI Overviews
Frequently Asked Questions
What is the correct format for hreflang codes?
Use ISO 639-1 language codes plus ISO 3166-1 Alpha 2 region codes when needed. For example, use en-gb instead of en-uk, because the UK is not a valid region code in hreflang.
Should every page include a self-referencing hreflang tag?
Yes. Each page should list itself as one of the alternates so the cluster is complete. Without a self-reference, search engines may treat the page as an incomplete or orphaned variant.
Can hreflang and canonical tags point to different URLs?
They can, but they should not conflict. If the canonical points to a different page than the hreflang cluster expects, the canonical usually wins and can override your regional targeting.
Do hreflang tags work if I only add them to some pages?
Partially, but that is risky. Partial implementation creates uneven signals, so search engines may only understand part of your international setup and ignore the rest.
What is x-default, and do I need it?
x-default is the fallback URL used when no language or region matches a user. It is especially useful for homepages, selectors, or global landing pages that should catch unmatched visitors.
Why do hreflang errors show up in Search Console but not in my browser?
Because browsers do not validate hreflang logic the way search engines do. Search Console can surface issues like missing return tags, invalid codes, and unsupported URLs, even when the page looks fine in a browser.
What happens if my English and French versions use different site structures?
Mixed structures like subdirectories, subdomains, and parameters make it harder for search engines to map the relationships correctly. The more predictable your URL pattern is, the better hreflang works at scale.
Is en-us better than just en for a U.S. site?
It depends on targeting. Use en-us if you are specifically targeting English speakers in the U.S., and use en if the page is simply English with no regional distinction. For U.S.-focused international SEO, en-US is usually the safer choice.
What is the fastest way to debug hreflang errors on a live site?
Start with a crawl of all localized URLs, then check return links, self-references, canonicals, and response codes. After that, validate language codes and confirm the sitemap or head markup is consistent across all alternates.
Why does Google choose a different canonical even when hreflang is correct?
Google may still select a different canonical if it sees stronger signals pointing elsewhere, especially if the pages are very similar or your self-canonical setup is inconsistent. This is a frequent issue on multilingual e-commerce sites.
Related Blogs
We explore and publish the latest & most underrated content before it becomes a trend.
5 min read
Six Ways AI Can Help DTC Brands Enhance Their Customer Services In 2022
By Sabah NoorSubscribe to Saffron Edge Newsletter!
Rank in AI Overviews