Hreflang Tags
Hreflang Tags are HTML or HTTP signals that tell search engines which language and regional version of a page to serve to which audience, used to manage international and multilingual SEO.
Also known as: hreflang, language tags, international SEO tags
Hreflang Tags are HTML attributes (or HTTP headers, or XML sitemap entries) that tell search engines which language and regional version of a page to serve to which audience. They are essential infrastructure for international SEO, signaling to Google and other engines that multiple URL variants represent the same content for different language and country combinations.
What Hreflang Tags Are
Hreflang tags are signals on a page that declare its own language-region code and list all alternate versions that exist for the same content in different languages or regions. The tags use standardized codes — ISO 639-1 for language (en, fr, es) and ISO 3166-1 alpha-2 for region (US, GB, CA) — combined as en-US or fr-CA. Implementation lives in HTML link tags in the page head, HTTP Link headers (useful for non-HTML files), or hreflang entries inside an XML sitemap. The x-default value designates the fallback page served when no other variant matches the user's setting, typically a global homepage or language selector.
How Hreflang Tags Work
Hreflang tags work by establishing a network of language-region equivalents across a site. A page declares its own language-country code and lists all alternate versions; each version returns the same declarations in reverse. Search engines use this network to serve the right variant to each user based on their language and location, instead of arbitrarily picking one version or treating the variants as duplicates competing with each other. The relationship between hreflang and canonical tags matters: each language-region variant should self-canonical, and hreflang should list all variants as alternates. Conflicting hreflang and canonical signals confuse search engines, which often resolve the conflict by ignoring hreflang entirely.
Common Pitfalls and Misconceptions
A common mistake is implementation drift. Hreflang requires reciprocal declarations — page A must list page B as an alternate, and page B must list page A in return — and the country and language codes must follow specific standards. Missing reciprocal declarations, incorrect codes (using en-UK instead of en-GB), or pointing hreflang at noindexed or redirected pages all break the implementation, often silently. Another error is assuming hreflang lifts rankings directly. It doesn't make a page rank higher; it makes the right page rank for the right audience. Without correct hreflang, search engines may serve the wrong language version or treat variants as duplicates.
Hreflang Tags in Practice
The mature practice on multilingual sites is to manage hreflang from a single source of truth — typically an XML sitemap that lists all language-region variants together — and audit reciprocity automatically. Manual hreflang implementation across hundreds or thousands of pages fails reliably; teams that build hreflang into the content management system itself, or generate it programmatically from a content matrix, avoid the slow degradation that catches sites managing hreflang page by page. The payoff is real: correctly implemented hreflang prevents the same content from competing against itself across regions, a surprisingly common cause of underperformance in international B2B programs.
Frequently asked questions
-
What are hreflang tags used for?
Hreflang tags tell search engines which language and regional version of a page to serve to which audience. They're used on sites with multiple language or regional variants of the same content, ensuring search engines show the right version to each user instead of treating the variants as duplicates competing for the same rankings.
-
How are hreflang tags implemented?
Three options: HTML link tags in the page head, HTTP Link headers (useful for non-HTML files), or hreflang entries inside an XML sitemap. The XML sitemap method scales best for large multilingual sites because it centralizes the declarations and makes reciprocity easier to audit. Most CMS platforms support at least the HTML and sitemap methods.
-
What does the x-default hreflang value mean?
x-default is the fallback page served when no other language-region variant matches the user's setting. It's typically used for a global homepage or a language selector page. Including x-default is recommended on sites with multiple regional variants because it gives search engines an explicit answer for users who don't match any specific variant.
-
What are the most common hreflang mistakes?
Missing reciprocal declarations (page A points to page B but B doesn't point back), incorrect language or country codes (en-UK instead of en-GB), hreflang pointing to redirected or noindexed URLs, mixing language-only and language-region declarations inconsistently, and failing to update hreflang when pages are added or removed in any variant.
-
Does hreflang affect rankings directly?
Not directly. Hreflang doesn't make a page rank higher; it makes the right page rank for the right audience. Without correct hreflang, search engines may serve the wrong language version to a user or treat variants as duplicates competing for the same query. The benefit is correct targeting, not ranking lift.
-
How do you audit hreflang implementation?
Crawl the site with a tool that flags hreflang errors — non-reciprocal declarations, invalid codes, references to broken or redirected URLs, and pages missing hreflang where they should have it. Cross-check with search console's international targeting report. Audit quarterly, and re-audit whenever the content matrix changes significantly.
-
How does hreflang interact with canonical tags?
They serve different purposes and should be aligned. Each language-region variant should self-canonical (canonical pointing to itself), and hreflang should list all variants as alternates. Pointing hreflang at one URL while canonical points at another confuses search engines, which often resolve the conflict by ignoring the hreflang entirely.