localizationseocraftcms

Craft CMS 4 multi language best practices


Most multi language sites show the locale in the URL. For example: https://www.stackoverflow.com/en. With Craft the issue seems to be that the default language seems to also work without the locale in the URL. This is also causing indexing issues with Google. I currently have languages setup and both have their own base URL which consists out of the same hostname but end with a different locale.

But Craft does not automatically redirect users from https://www.stackoverflow.com to https://www.stackoverflow.com/en. Even though this is the default. And both https://www.stackoverflow.com/en/about and https://www.stackoverflow.com/about seem to be valid URL's.

Would it be better if I would remove the locale in the URL from the default language? It's a little bit weird to have it setup this way since it will not have a consistent URL structure for all languages but it might fix my indexing issues.


Solution

  • I guess it very much depends on the use case. My default approach to Multi-Language sites is one of the following:

    I prefer the first approach, as I assume it is just less complex to not have a redirect involved. Complex solutions tend to break and cause problems in weird ways. When I browse the web while travelling I sometimes cannot even access some content because of malfunctioning redirects.

    I rather prefer a prominent language switch or notice, analog the one shown on the Apple website.