15

什么被认为是翻译网站 URL 的最佳策略?我看到经常发生的事情是:

http://example.com/english-slug.html
http://example.com/de/english-slug.html
http://example.com/fr/english-slug.html

这具有(次要)优势,即用户可以通过修改 URL 手动切换到另一种语言。缺点似乎是对于不是默认语言的每个页面,URL 都包含错误语言的 slug。我认为这会导致 SEO 处罚。

另一种方法是翻译 slugs 并选择性地省略语言标识符:

http://example.com/english-slug.html
http://example.com/deutscher-slug.html
http://example.com/slug-francois.html

有些语言并不真正让自己变得“呆滞”,例如俄语、汉语和阿拉伯语。你最终会得到毫无意义的音译。

4

3 回答 3

13

我认为您应该使用语言标签翻译的 slug:

http://example.com/en/hello-world
http://example.com/de/hallo-welt

为什么是语言标签?为了避免碰撞。
有时您可能希望为不同的语言使用相同的 slug(例如,英语和德语中的“团队”)。

为什么要翻译路径?为了更好的可用性。
并非所有用户都理解“默认”语言,并且根据其脚本,他们甚至可能无法键入/记住/口述 slug。(首先,使用只有部分用户能够理解的人类可读的 slug 是没有意义的。)

是的,这将是一个“(次要)优势,即用户可以通过修改 URL 手动切换到另一种语言”。但是用户或搜索引擎不太可能期望这会起作用(请参阅我在 Webmasters 上的相关答案)。因此,您将获得很少(高级用户的 URL 黑客攻击)并失去很多(使用非默认语言的用户的可用性差)。

也就是说,在大多数情况下仍然可以启用此 URL hacking 功能:当用户将语言标记de(in /de/hallo-welt) 更改为en( /en/hallo-welt) 时,您可以检查它是否存在(如果存在,则显示),如果不存在,请检查如果在任何语言中存在“hallo-welt”,请找到它的英文翻译并重定向到它(从/en/hallo-welt/en/hello-world)。

于 2014-11-21T16:33:58.783 回答
3

另一种方法是将语言设置为查询字符串参数,例如:

http://example.com/hello-world?hl=en

http://example.com/hallo-welt?hl=de

例如谷歌航班网站使用这种方法。

于 2019-09-24T09:09:19.500 回答
2

如果您负担得起,最好的解决方案是使用正确的名称发送文档,也就是说,在每种语言上使用正确的词。

当然,每个文档都应在标题上使用相应的语言设置发送。

对于存储它们,您可以使用文件夹并让 Web 服务器根据语言偏好选择正确的文档;或者您可以使用服务器端技术,如 PHP、perl 等来发送文档并调整 URL。

无论如何,当您没有请求的语言时,您必须发送默认语言。

如果您不能或不想发送具有正确名称的文档,则使用子域是下一个最佳选择。此选项不如在域后添加语言那么常见,这意味着人们可能不习惯它,尽管它有一些优点,例如;

  • 每种语言的行为就像一个全新的 URL/站点(几乎)。
  • 人们喜欢访问一个专门的网站,而不是第二语言被降级并且随时可能失败(某些内容可能无法翻译)的小节。
  • 有些人不熟悉他们的语言的两个字母表示,但每个人都知道他的语言是如何被调用和拼写的。
  • 它生成更清晰的 URL。
  • 人们认为,拥有子域会增加 SERP 上的外观(我不知道这一点,它可能已经改变)。
  • 如果您愿意,拥有不同的布局会更容易。
  • 根据语言设置不同的服务器更容易。

当然,子域有一些缺点,例如:

  • 从服务器的角度来看,需要做更多的工作才能正确设置。
  • 从部分到高排名的协作较少。
  • 有些人可能不期望它,但期望一个子文件夹。

接下来是子文件夹选项,正如您在问题中显示的那样。如果您的主要观点是 SEO,这是推荐的方式,因为域的所有相关性都保留在同一个域上,并且每种语言都有助于一个共同的“锅”排名。

在任何情况下,我在选择解决方案时的观点都不是 SEO。无论我获得什么排名,都是由于内容本身以及我对技术的最佳利用。但我知道我的观点并不是最常见的。

还要考虑的一件事是,您应该提供某种解释或帮助用户,以便他可以采取行动更改为首选语言。它可能使用图标、工具提示或任何其他适合您的设计和详细程度的方法。

要避免的一件事,你没有要求它,但它是相关的;正在使用语言自动检测。很多时候,用户在不同的国家或使用的浏览器版本与他能理解的语言不同,自动检测只会造成很大的混乱。提供默认版本和更改它的明确方法。

于 2014-02-25T14:26:37.163 回答