Automatic language detection doesn't work well. It is usually based on either the geographic region associated with the IP address or based on the Accept-Language
parameter.
- Geo IP databases are inaccurate for a small (but significant) percentage of users. Probably around 5-10%.
- Geo IP doesn't work for users that are travelling abroad in a country where they don't speak the language.
- Geo IP doesn't work for areas where multiple languages are spoken (like areas of Canada where they speak both English and French).
Accept-Language
often defaults to English as that is the default language in which browsers can be downloaded. Users that speak other languages may not know how to change it, even if they know enough English to use the browser.
Accept-Language
is often set incorrectly on borrowed devices and in Internet Cafes.
Even if you automatically detect the language, you need to give users a way to force it something else. Having separate URLs for different languages is a good way to do that.
I prefer to use language detection to tell users that another URL might be more appropriate for them. A prominent notification near the top of the page like:
You are currently on our French site, but your browser says you prefer English.
[ Switch to the English site ]
In addition, search engines don't support a single URL with multiple languages well. Search Engine crawlers typically don't send an Accept-Language
header and only see the default language.
Google announced that they are now trying to crawl sites with different languages on the same URL. However, I don't know of any large sites that get good SEO traffic from multiple languages without having a set of URLs for each language.
Even if you have language detection on the .com
, having multiple language URL choices is required to ranking in multiple languages on search engines.
For more information see How should I structure my URLs for both SEO and localization?
kr.example.com
orexample.com/kr/
would be much better thanexample.co.kr
.example.co.kr
could exist, but it would better refer to a company that only operates in Korea, or to the Korean branch of an international company, without any assumption on the language. Once you get the distinction between geographic and linguistic concepts right, you can combine them. For example, an English-speaking client living in Korea may order a product on theexample.co.kr/en/
website. – Tony Aug 20 '20 at 7:35example.com
host and no language subdirectory for all languages). (I assume this must have been the case, since otherwise there wouldn't be a need for the question. This would suggest a "fault" in the website(s) since language selection should result in a change in the URL.) – MrWhite Aug 21 '20 at 17:01