WPML lets you redirect visitors to their preferred language, offering their native content as default.
To enable browser language redirect, go to WPML->Languages->Browser language redirect.
The default is not to redirect visitors. You can change it to redirect only if translations exist, or redirect always. If redirecting always, visitors will go to translated content when they exist or to the homepage in the other language, if translations are missing.
Potential Interaction with Google Indexing
No Redirection When Refreshing the Browser
WPML will do this language redirect only once and then not redirect anymore. We do this to allow visitors to still switch languages. If we always push back to the browser’s language, visitors will not be able to manually switch languages after WPML redirects them to the language set by their browser.
This single-time redirect operation resets every 24 hours (which you can change too).
How Browser Language Redirect Works
Tip: Always Include a Language Switcher on the Page
The browser language detection is intended to send visitors to the content which will match their language preference, on the first visit. You should always allow visitors to choose their preferred language using a language switcher. If you rely exclusively on the automatic language redirection, some visitors will receive content in languages that they cannot understand and will not be able to switch to their preferred language.
Debugging Browser Language Redirection
If you’ve enabled browser language redirection and it isn’t working when you test it, check the following:
- Is your browser’s language set? Go to the language setting in your browser and check it.
- Are you using a new session? Remember that WPML will only do this once. If you clear all cookies or start an incognito browser (which always has a fresh history), you should have a clean session, simulating a new visitor.
- Are you using any other plugins that might be redirecting visitors too? Review your active plugins and see which ones might be involved.
- Is the language you expect to be redirected to hidden? Make sure you enable “Display hidden languages” from your user profile