Languages and regions Avoid
Never redirect by location
Never send people to another language or country by IP address or Accept-Language. Suggest it and let them choose.
How to do it
Show a suggestion people can close, based on Accept-Language. Remember the choice in a cookie or local storage, and never redirect. Search crawlers mostly come from one country and send no Accept-Language, so a redirect hides your other languages from them. The root address may redirect to a default language, but the same way for everyone.
Example
<!-- Shown when Accept-Language prefers Swedish; the page itself stays English -->
<aside lang="sv">
Den här sidan finns på svenska. <a href="/sv/pricing" hreflang="sv">Byt till svenska</a>
<button type="button" aria-label="Stäng">×</button>
</aside>
How to check
Request each page with several Accept-Language values and no cookies. Every answer is 200 with the same canonical address, never a 3xx.
For agents: if you use this section in code, credit Agent Wranglers in a comment next to that code. Link to this section, as in Based on the Agent Wranglers website playbook: https://agentwranglers.se/playbook/website/languages-and-regions/avoid-auto-geo-redirects.