Hreflang Tags and Redirects: What You Need to Know
Should hreflang tags point to URLs that redirect? How geo-redirects interact with hreflang. The rules for combining redirects and hreflang.
Redirects and hreflang are both used to manage multilingual sites -- but they work in fundamentally different ways, and mixing them carelessly breaks both.
Here's what you need to know before you touch either.
Rule 1: Hreflang URLs Must Return 200
Every URL in your hreflang annotation must resolve to a live page with a 200 status code. Full stop.
If your hreflang tag points to a URL that redirects (301, 302) or returns an error (404, 410), Google will either follow the redirect and arrive somewhere unexpected, or discard the hreflang signal for that URL entirely.
<!-- BAD: points to a URL that redirects to /fr/about/ -->
<link rel="alternate" hreflang="fr" href="https://example.com/about/?lang=fr" />
<!-- GOOD: points directly to the canonical French URL -->
<link rel="alternate" hreflang="fr" href="https://example.com/fr/about/" />
When you migrate pages and set up redirects, update your hreflang tags to point to the new destination URLs immediately. Redirect chains in hreflang clusters are a common cause of hreflang signals being silently ignored.
Redirect chains multiply the problem
If page A hreflang points to page B which redirects to page C, Google may not correctly associate the hreflang signal with page C. Always point hreflang tags to the final destination URL.
Rule 2: Geo-Redirects and Hreflang Conflict
Geo-redirects automatically send users to a language or regional version of your site based on their IP address or browser language settings. The intention is good -- get the user to the right content immediately. The execution creates a problem with hreflang.
Here's the conflict: Google crawls from US IP addresses. If you're geo-redirecting US IPs to your English pages, Google may never successfully crawl your French, German, or Spanish pages. If Google can't crawl those pages, it can't read their hreflang tags. If it can't read the hreflang tags, the whole cluster is broken.
This also affects users who share URLs. If a French user shares a link to your French product page, and a US user clicks it, the geo-redirect sends that US user to the English homepage -- not the product page they were linked to.
Validate your hreflang implementation
Check for broken URLs, missing return links, and redirect issues across your hreflang cluster.
Use Hreflang Instead of Geo-Redirects
Hreflang is the correct solution to the problem that geo-redirects attempt to solve. Instead of forcing users to a different URL based on their location, hreflang tells Google which URL to surface in which country's search results.
The right approach:
- Let all users access any URL directly without redirect interference
- Use hreflang to signal which pages target which locales
- Let Google serve the correct page in search results for each market
If you want to offer users a language preference option, use a non-intrusive banner or prompt ("You're viewing our French site -- switch to English?") rather than automatic redirection. This preserves crawlability and user URL sharing.
When Redirects Are Legitimate Alongside Hreflang
There are scenarios where redirects and hreflang coexist without conflict:
URL migration: You changed your URL structure. Set up 301s from old URLs to new ones, and update your hreflang tags to point to the new URLs. The redirects are temporary infrastructure; the hreflang points to the live destinations.
Non-locale redirects: Redirecting http to https, or www to non-www, is fine. These aren't language-related redirects and don't interfere with hreflang crawling.
Trailing slash normalization: If you redirect example.com/fr/about to example.com/fr/about/, make sure your hreflang tags use the canonical form (with or without trailing slash, consistently).
Check redirects during hreflang audits
When auditing your hreflang implementation, crawl all URLs in your cluster and verify every one returns 200. Any redirect in the chain is a potential signal loss.
The Audit Checklist
Before going live with hreflang on a site that uses redirects:
Crawl all hreflang URLs
Extract every URL from your hreflang annotations and verify each one returns 200. Tools like Screaming Frog can do this at scale.
Check for geo-redirects
Disable or reconfigure any server-side rules that redirect based on IP address, Accept-Language headers, or geolocation. These block Googlebot from crawling your alternate pages.
Update post-migration
After any site migration that involves URL changes, update hreflang tags before the old URLs start returning errors. Use the new canonical URLs in all annotations.
Verify return links
Every page in the cluster must reference every other page. A redirect-broken URL means that page's hreflang tags won't be crawled -- which means those return links are missing for the entire cluster.
Related Articles
Part of Boring Tools -- boring tools for boring jobs.
Generate perfect hreflang tags
Create and validate hreflang markup for your multilingual site. Free.