Technical SEO5 min

Hreflang Tags: International SEO Without the Headaches

Serving content in multiple languages or regions? Hreflang tells Google which version to show to which audience. Get it wrong and chaos ensues.

You Have an English Site, a Spanish Site, and a French Site. Google Shows the Wrong One to Everyone.

Without hreflang tags, Google guesses which language version to show each user. It guesses wrong. A lot.

Your Spanish page shows up for English searches. Your French users see the German version. Nobody is happy.

What Hreflang Does

Hreflang tags tell Google: "This page exists in multiple languages/regions. Here are all the versions. Show the right one to the right user."

Each page includes hreflang annotations pointing to all its language variants, including itself.

The Syntax

`<link rel="alternate" hreflang="en-us" href="https://example.com/page" />`

`<link rel="alternate" hreflang="es" href="https://example.com/es/page" />`

`<link rel="alternate" hreflang="fr" href="https://example.com/fr/page" />`

Language code (required) + optional country code. Always include an `x-default` for the fallback version.

The Rules That Trip Everyone Up

Return links are required. If page A references page B as a variant, page B must reference page A back. If the return link is missing, Google ignores the hreflang.

Canonical and hreflang must align. The canonical URL must match the hreflang self-reference. Mismatches cause Google to ignore everything.

Each page must reference all variants, including itself. Do not forget the self-referencing hreflang tag.

Implementation Options

In the HTML `<head>`. In HTTP headers (for PDFs and non-HTML files). In your XML sitemap. Google's SEO documentation covers hreflang as part of international SEO.

Pick one method. Stick with it. Do not mix methods for the same pages.

Why Most Hreflang Implementations Are Broken

Because they are maintained manually. Someone adds a new page in French and forgets to update the English and Spanish hreflang annotations. Now the return links are missing. Google ignores everything.

Automate it. Use your CMS to generate hreflang tags dynamically.

Track international SEO setup with seocheckup.app. 113 tasks. Free. No credit card. 30 seconds.

Keep reading