hreflang implementation is one of the most error-prone areas of technical SEO. Google has publicly stated that the majority of hreflang implementations it encounters contain errors, and a partial or incorrect hreflang implementation is worse than no hreflang at all โ€” it can cause Google to serve the wrong language version to users, suppress both versions in their target markets, or simply ignore the entire hreflang setup.

As we covered in our guide to international SEO, the concept is straightforward. The implementation is where most sites fail.

Mistake 1: Non-Bidirectional Implementation

The most common hreflang mistake: implementing hreflang on the English version of a page but forgetting to implement return links on the French and Spanish versions. hreflang requires every page in the set to reference every other page in the set. If the English page references French, the French page must reference English and all other language versions.

Google validates hreflang bidirectionality. If the return links are missing, Google ignores the entire hreflang set for those pages โ€” as if no hreflang existed at all. Check your implementation with Google Search Console's International Targeting report, which explicitly shows "return links missing" errors.

Mistake 2: Hreflang Pointing to Redirected URLs

If a hreflang tag references a URL that redirects to another URL, Google follows the redirect but discards the hreflang signal. Each hreflang tag must point directly to the final destination URL with no redirects. This is particularly common after HTTPS migrations where hreflang tags were not updated โ€” HTTP URLs with redirects to HTTPS versions produce silent hreflang failures.

Use our site scanner to identify which of your URLs are returning redirects, then cross-reference with your hreflang implementation to find affected tags.

Mistake 3: Wrong Language-Country Code Combinations

hreflang values must be valid BCP-47 language tags. Common errors include:

  • Using en-UK instead of en-GB (the correct ISO 3166-1 alpha-2 code for the United Kingdom)
  • Using zh instead of specifying zh-CN (Simplified Chinese for China) or zh-TW (Traditional Chinese for Taiwan)
  • Using pt instead of pt-BR (Brazilian Portuguese) or pt-PT (European Portuguese)
  • Mixing uppercase and lowercase incorrectly โ€” language codes are lowercase (en, fr), country codes are uppercase (GB, FR)

Invalid language codes cause Google to silently ignore those specific hreflang tags while processing the rest. The result is partial implementation that sends inconsistent signals.

Mistake 4: Missing x-default

The x-default hreflang value specifies the fallback page for users in locations not covered by any of your other language/country targeting. Without x-default, users in countries not explicitly targeted receive no hreflang guidance and Google serves whatever version it considers most appropriate based on other signals.

Always include an x-default tag pointing to your primary or most universal language version. For most sites this is the English version: <link rel="alternate" hreflang="x-default" href="https://yoursite.com/page/">

Mistake 5: Inconsistent Canonical and hreflang Signals

As we covered in our guide to canonical tags, each page should have a self-referencing canonical pointing to itself. A page with a canonical pointing to a different URL sends a contradictory signal to hreflang โ€” is this page canonical (the canonical says yes) or is it an alternate (the hreflang implies)? When canonical and hreflang conflict, Google typically follows the canonical signal and ignores hreflang.

The correct implementation: canonical tag self-references the current URL. hreflang tags reference all language/country alternates. No conflicts.

Mistake 6: Implementing hreflang in the Wrong Location

hreflang can be implemented in three places: the HTML <head>, HTTP response headers, or the XML sitemap. All three work, but they cannot be mixed reliably. Choose one implementation method and use it consistently. Implementing hreflang in both the HTML head and the sitemap for the same page creates conflicting signals.

Validating Your hreflang Implementation

After implementation or changes, validate with:

Google Search Console International Targeting report โ€” shows language-specific errors and confirms Google is processing your hreflang correctly.

Hreflang testing tools (hreflang.org or Sistrix's hreflang checker) โ€” check specific pages for all six common errors simultaneously.

URL Inspection in Search Console โ€” enter a specific page URL and check the "Crawled as" section to see which language/country version Google considers canonical for that page.

Summary

The six critical hreflang mistakes: missing return links (bidirectionality), pointing to redirected URLs, invalid language-country codes, missing x-default, canonical conflicts, and mixed implementation methods. Validate with Search Console's International Targeting report after any hreflang changes. Use our site scanner to identify redirected URLs in your hreflang implementation.

Continue reading: The Complete SEO Checklist for 2026 and Beyond: 50 Checks That Actually Matter