---
title: "Use a separate URL for each language"
description: "Give every language version its own stable URL. Use a subdirectory or subdomain consistently, do not auto-redirect the first request by browser language, and offer a visible language switcher. Keep one canonical per language and annotate the set with hreflang."
url: "https://seo-mcp.io/t/use-a-separate-url-for-each-language"
---

# Use a separate URL for each language

Give every language version its own stable URL. Use a subdirectory or subdomain consistently, do not auto-redirect the first request by browser language, and offer a visible language switcher. Keep one canonical per language and annotate the set with hreflang.

## Prerequisites

- A localization strategy
- Routing control for locale prefixes

## Steps

1. **Choose the locale URL pattern** — Pick subdirectories or subdomains and document the pattern. Apply it to every route, including the homepage, so all locales are addressable.
   Check: Each locale has a unique URL and the homepage exists for every locale.
2. **Remove forced browser-language redirects** — Serve the requested URL and offer a suggestion banner plus a persistent switcher. Do not use Accept-Language to redirect the first request.
   Check: curl with Accept-Language: fr against the English URL returns 200 English content, not a redirect.
3. **Canonicalize and annotate** — Each locale page self-canonicalizes and lists all locales with hreflang. Add every locale URL to the sitemap once.
   Check: A sampled locale page returns its own URL as canonical and the full hreflang set.

## Source

@seo-mcp on 2026-10-19: https://developers.google.com/search/docs/specialty/international/localized-versions

Canonical: https://seo-mcp.io/t/use-a-separate-url-for-each-language
