最好的解决方案,如果您负担得起的话,就是使用正确的单词在每种语言中发送文档,这意味着以正确的名称发送文档。
当然,每个文档都应该在标题中使用相应的语言设置来发送。
对于存储它们,您可以使用文件夹,并让 Web 服务器根据语言首选项选择正确的文档;或者您可以使用服务器端技术,如 PHP、Perl 等发送文档并调整 URL。
无论如何,在没有请求的语言时必须有一个默认语言要发送。
如果您不能或不想使用正确的名称发送文档,则子域名是最佳的下一个选择。虽然这个选项不像在域名后添加语言那么常见,这意味着人们可能不习惯它,但它具有一些优点,例如:
- 每种语言的行为都像一个全新的 URL/站点(几乎)。
- 人们感觉像访问一个专用站点,而不是一个次要语言被削弱并可能随时失败的子部分(某些内容可能没有翻译)。
- 有些人不熟悉他们的两个字母表示的语言,但每个人都知道自己的语言叫什么和如何拼写。
- 它生成更干净的 URL。
- 人们认为使用子域名可以增加在 SERP 上的出现次数(我不了解这一点,可能已经改变了)。
- 如果您想要不同的布局,则更容易实现。
- 根据语言设置不同的服务器更容易。
当然,子域名也有一些缺点,例如:
- 从服务器角度正确设置需要更多的工作量。
- 对于排名的协作较少。
- 有些人可能不会期望它,但期望一个子文件夹。
接下来是子文件夹选项,就像您在问题中展示的那样。如果您的主要视角是 SEO,则这是推荐的方式,因为所有域的相关性都保留在同一域中,每种语言都有助于共同的排名“锅”。
当选择解决方案时,我的观点从未是 SEO,在任何情况下都不是。无论我得到什么排名,都是由于内容本身和我可以给技术的最佳用途。但我理解我的观点并不是最常见的。
还要考虑的一件事是,您应该提供某种解释或帮助用户以便他可以采取行动更改为首选语言。它可以使用图标、工具提示或任何适合您的设计和冗余性的方法。
有一件事要避免,虽然您没有询问,但与之相关;这是使用语言自动检测。许多时候,用户在不同的国家或使用具有与他可以理解的语言不同的浏览器版本,自动检测只会造成大混乱。提供默认版本和明确更改它的方法。