Auditite
All playbooks
Guide SEO Manager

Hreflang Implementation Guide with Auditite

Step-by-step guide to implementing hreflang tags correctly for multi-language and multi-regional websites. Avoid common mistakes.

Overview

Hreflang tags tell search engines which language and regional version of a page to show to users in different locations. Incorrect hreflang implementation is one of the most common causes of international SEO problems — from serving the wrong language to cannibalizing your own pages across regions.

Step 1: Plan Your Hreflang Strategy

  1. List every language and region combination your site supports.
  2. Decide your URL structure: subdirectories (/en/, /de/), subdomains (en.example.com), or separate domains (example.de).
  3. Map every page to its equivalents across all language/region versions.
  4. Identify pages that exist in some languages but not others.

Language and Region Codes

Use ISO 639-1 for language codes and ISO 3166-1 Alpha-2 for region codes:

TargetCode
English (any region)en
English (US)en-US
English (UK)en-GB
German (Germany)de-DE
German (Austria)de-AT
Spanish (Spain)es-ES
Spanish (Mexico)es-MX
French (France)fr-FR

Step 2: Choose an Implementation Method

Place hreflang link elements in the <head> of each page. Every page must reference all its language/region variants, including itself.

Add hreflang annotations to your XML sitemap using xhtml:link elements. This avoids bloating your HTML and is easier to manage at scale.

HTTP Headers (For Non-HTML Files)

Use HTTP Link headers for PDFs and other non-HTML documents that have multiple language versions.

Step 3: Implementation Rules

  1. Every hreflang set must be reciprocal. If page A references page B, page B must reference page A. Missing return links cause hreflang to be ignored.
  2. Every page must include a self-referencing hreflang tag. The English version must reference itself as hreflang="en".
  3. Include an x-default tag. The x-default tells search engines which page to show when no other hreflang matches the user’s language/region.
  4. Use fully qualified URLs. Include the protocol and domain in every hreflang URL.
  5. Canonical and hreflang must be consistent. The canonical URL of each page must match the URL used in hreflang annotations. If a page’s canonical points elsewhere, its hreflang is ignored.

Step 4: Common Scenarios

Same Content, Different Languages

Each translated page references all other translations. The x-default points to the English version or a language selector page.

Same Language, Different Regions

Use region-specific codes (en-US, en-GB) to differentiate content tailored for different markets even when the language is the same.

Pages Without Translations

If a page only exists in one language, it does not need hreflang tags. Only implement hreflang on pages that have equivalents.

Step 5: Validate Your Implementation

  1. Run Auditite’s hreflang audit across all site versions to check for missing return links and invalid codes.
  2. Verify that every hreflang URL returns a 200 status code (not a redirect or 404).
  3. Check that language codes are valid ISO 639-1 and region codes are valid ISO 3166-1.
  4. Confirm no page has conflicting hreflang and canonical signals.
  5. Test from different geographic locations using a VPN to verify Google serves the correct version.

Step 6: Monitor and Maintain

  1. Check Google Search Console’s International Targeting report for hreflang errors.
  2. Review the “Alternate page with proper canonical tag” status in the URL Inspection tool.
  3. Audit hreflang whenever new pages are added or URL structures change.
  4. Monitor organic traffic by country/language to detect serving issues.
  5. Update hreflang annotations whenever you launch a new language or regional version.

Common Hreflang Mistakes

  • Using incorrect language or region codes (e.g., uk instead of en-GB for United Kingdom English)
  • Forgetting self-referencing hreflang tags
  • Non-reciprocal annotations (page A references B, but B does not reference A)
  • Pointing hreflang URLs to redirects instead of final destination URLs
  • Using relative URLs instead of absolute URLs

Stop copy-pasting. Start automating.

Auditite turns playbooks into live audit workflows. Get started to see how.

Get insights delivered weekly

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