Auditite
Back to blog
Technical SEO Technical SEO Audit 2025-07-28 10 min read

Hreflang Implementation Guide Best Practices

Complete guide to implementing hreflang tags for multilingual and multi-regional websites. Avoid common mistakes and boost international SEO.

A

Auditite Team

hreflanginternational SEOmultilingualtechnical SEO

What Is Hreflang and Why Does It Matter?

The hreflang attribute tells search engines which language and regional version of a page to serve to users in different locations. Without it, Google might show your English page to French-speaking users, or your US-targeted content to UK visitors — even when you have perfectly localized versions available.

Hreflang is critical for any website that serves content in multiple languages or targets multiple countries with the same language (e.g., English for the US, UK, and Australia).

How Hreflang Works

Hreflang tags create a mapping between equivalent pages across different language or regional versions of your site. When a user searches in French from France, Google checks whether the page it wants to rank has an hreflang annotation pointing to a French (or French-France) version, and serves that instead.

The basic syntax uses ISO 639-1 language codes and optional ISO 3166-1 Alpha 2 country codes:

  • en — English (any region)
  • en-US — English for the United States
  • en-GB — English for the United Kingdom
  • fr — French (any region)
  • fr-CA — French for Canada
  • x-default — Default/fallback version (usually your language selector page or primary language)

Three Ways to Implement Hreflang

Add hreflang link tags in the <head> section of each page:

<link rel="alternate" hreflang="en-US" href="https://example.com/page/" />
<link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/page/" />
<link rel="alternate" hreflang="de-DE" href="https://example.de/page/" />
<link rel="alternate" hreflang="x-default" href="https://example.com/page/" />

Best for: Sites with fewer than 10 language/region combinations. Beyond that, the HTML bloat can impact page load times.

2. XML Sitemap Annotations

Declare hreflang relationships in your XML sitemap:

<url>
  <loc>https://example.com/page/</loc>
  <xhtml:link rel="alternate" hreflang="en-US" href="https://example.com/page/" />
  <xhtml:link rel="alternate" hreflang="fr-FR" href="https://example.com/fr/page/" />
  <xhtml:link rel="alternate" hreflang="x-default" href="https://example.com/page/" />
</url>

Best for: Large sites with many language variations. Keeps HTML clean and is easier to manage programmatically.

3. HTTP Headers

For non-HTML files (PDFs, documents), use the HTTP Link header:

Link: <https://example.com/page/>; rel="alternate"; hreflang="en-US",
      <https://example.com/fr/page/>; rel="alternate"; hreflang="fr-FR"

Best for: Documents and files where you cannot control the HTML head.

The Bidirectional Requirement

Hreflang annotations must be bidirectional. If page A declares page B as its French alternative, then page B must also declare page A as its English alternative. One-way annotations are ignored by search engines.

This is the single most common source of hreflang errors. When you add a new language version, every existing version must be updated to reference it.

Common Hreflang Mistakes

Missing Return Tags

As described above, every hreflang relationship must be confirmed from both sides. Use automated auditing to detect one-way annotations across your site.

Incorrect Language or Country Codes

Using en-UK instead of en-GB (the correct ISO code for the United Kingdom) is a frequent error. Similarly, using zh-CN when you mean Simplified Chinese is correct, but zh-TW for Traditional Chinese (Taiwan) is often confused.

Pointing to Non-Canonical URLs

Hreflang tags should always point to the canonical version of each page. If your canonical URL is https://www.example.com/page/ but your hreflang points to https://example.com/page/ (without www), the signal is weakened.

Forgetting x-default

The x-default hreflang value tells search engines which page to show when no other language/region match exists. Typically, this points to your primary language version or a language selector page. Omitting it means unmatched users get whatever Google decides.

Self-Referencing Hreflang Missing

Each page should include an hreflang annotation that references itself, in addition to all other language versions. A page at example.com/fr/page/ should include hreflang="fr-FR" pointing to itself.

Mixing Implementation Methods

Choose one implementation method and stick with it. Using HTML link elements on some pages and sitemap annotations on others creates inconsistency and makes debugging harder.

Hreflang for Same-Language, Different-Region Sites

If you serve the same language to multiple countries (e.g., English for the US, UK, and Australia), hreflang helps Google show the correct regional version. This is important when content differs in:

  • Pricing and currency
  • Shipping information
  • Legal terms
  • Spelling and terminology (color vs. colour)
  • Phone numbers and addresses

Even if the content is 90% identical, the 10% that differs (pricing, contact info) matters to users — and hreflang ensures they see the right version.

URL Structure for International Sites

Your URL structure should support clear language/region separation:

  • Subdirectoriesexample.com/fr/, example.com/de/ (recommended for most sites)
  • Subdomainsfr.example.com, de.example.com (separate domain authority)
  • ccTLDsexample.fr, example.de (strongest geo-targeting signal, but expensive to maintain)

Subdirectories are the most common choice because they consolidate domain authority and are easiest to manage. Whichever structure you choose, be consistent and ensure your hreflang tags match.

Auditing Hreflang at Scale

For sites with many language versions, hreflang auditing must be automated. Key checks include:

  • All annotations are bidirectional — every reference is confirmed by the target page
  • All hreflang URLs return 200 status codes — no broken links
  • All hreflang URLs match their canonical URLs
  • Language and country codes are valid ISO codes
  • x-default is present on every page set
  • Self-referencing hreflang is included
  • No orphan pages — every language version is connected to the full set

Auditite’s hreflang audit scans all your pages and cross-references every annotation, flagging mismatches, missing return tags, and invalid codes.

Debugging Hreflang Issues

When hreflang is not working as expected:

  1. Check Google Search Console — Look for hreflang errors in the International Targeting report
  2. Verify bidirectional links — Crawl both the source and target pages
  3. Confirm canonical consistency — Ensure hreflang and canonical tags agree
  4. Test with URL Inspection — Check that Google sees the hreflang annotations
  5. Review server-side rendering — For JavaScript-rendered sites, verify hreflang tags are in the initial HTML response

Performance Considerations

On pages with many language versions (20+), the HTML hreflang tags can add significant bytes to your page. Consider:

  • Moving hreflang to your XML sitemap for sites with many language versions
  • Compressing HTML responses with gzip/brotli
  • Monitoring the impact on page load times

Key Takeaways

Hreflang implementation requires precision and ongoing maintenance:

  1. Choose one implementation method and apply it consistently
  2. Ensure all annotations are bidirectional — this is non-negotiable
  3. Always include x-default and self-referencing annotations
  4. Point hreflang to canonical URLs only
  5. Audit regularly with automated tools to catch broken or incomplete annotations
  6. Test after every site change that affects URL structure or language versions

When done correctly, hreflang ensures your international audience sees the content created for them, improving engagement, conversion rates, and search visibility across all your target markets.

Stay in the loop

Get insights, strategies, and product updates delivered to your inbox.

No spam. Unsubscribe anytime.

Ready to see Auditite in action?

Get started and see how Auditite can transform your SEO auditing workflow.

Get started
Get started

Get insights delivered weekly

Join teams who get actionable playbooks, benchmarks, and product updates every week.