Roy*_*ins 7 url multilingual url-design
什么被认为是翻译网站的URL的最佳策略?我经常看到的事情是:
http://example.com/english-slug.html
http://example.com/de/english-slug.html
http://example.com/fr/english-slug.html
Run Code Online (Sandbox Code Playgroud)
这具有(次要)优点,即用户可以通过修改URL手动切换到另一种语言.缺点似乎是URL包含错误语言的slug,每个页面都不是默认语言.我想这会导致SEO惩罚.
另一种方法是翻译slug并可选地省略语言标识符:
http://example.com/english-slug.html
http://example.com/deutscher-slug.html
http://example.com/slug-francois.html
Run Code Online (Sandbox Code Playgroud)
有些语言并没有真正让自己变得"迷茫",比如俄语,汉语和阿拉伯语.你最终会得到毫无意义的音译.
我认为你应该使用语言标签和翻译的slugs:
http://example.com/en/hello-world
http://example.com/de/hallo-welt
Run Code Online (Sandbox Code Playgroud)
为什么语言标签?避免碰撞.
有时您可能希望为不同语言使用相同的slug(例如,英语和德语中的"团队").
为何翻译路径?为了更好的可用性.
并非所有用户都理解"默认"语言,并且根据其脚本,他们甚至可能无法键入/记住/指示slug.(首先使用只有部分用户能够理解的人类可读的slugs是没有意义的.)
是的,用户可以通过修改URL手动切换到另一种语言,这将是"(次要)优势".但是用户或搜索引擎不太可能期望这种方法能够正常工作(请参阅我在网站管理员上的相关答案).因此,您将获得很少(针对高级用户的URL黑客攻击)并且损失很多(使用非默认语言的用户的可用性差).
也就是说,在大多数情况下仍然可以启用此URL黑客功能:当用户将语言标签de(in /de/hallo-welt)更改为en(/en/hallo-welt)时,您可以检查它是否存在(如果是,显示它),如果不存在,则检查如果在任何语言中都存在一个"hallo-welt",请找到它的英文翻译并重定向到它(从/en/hallo-welt到/en/hello-world).