9

在我的应用程序中,我的本地化 url 看起来像这样:

这个问题主要针对Facebook Likes,但我想当我开始考虑搜索引擎爬虫时,我会遇到类似的问题。

您期望什么样的网址作为规范网址?我不想使用确切的英文网址,因为我希望点击链接的人将被转发到他们自己的语言(浏览器设置/依赖于 IP)。

IP 查找不是我想要在每个页面点击时都做的事情。除此之外,我还需要在我的应用程序中加入更多的“状态”,因为我必须检查用户是否已经被转发到他自己的语言环境,或者是否有意浏览英文版本。

我想它会是这样的:

http://example.com/something/animals/elephant

或者可能根本没有任何语言标识符:

http://example.com/animals/elephant

但这有点难以实现,将来发生 url 冲突的机会更大(在极少数情况下,我会得到一个名为ende的类别)。

概括

您期望什么样的网址作为规范网址?是否已经为此制定了标准?

4

5 回答 5

3

我知道这个问题有点老了,但我遇到了同样的问题。我找到了这个:

一个页面的不同语言版本仅在主要内容使用相同语言时才被视为重复(即,如果仅翻译页眉、页脚和其他非关键文本,但正文保持不变,则页面被认为是重复的)。

可以在这里找到:https ://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls

由此我可以得出结论,我们应该将语言环境添加到规范中。

于 2021-12-04T10:09:18.707 回答
0

我确实找到了一种建议不要使用带有本地化地址的规范标签的资源。但是,Google 的文档没有具体说明,只是在另一个上下文中提到了子域。

于 2017-03-15T23:20:04.027 回答
-2

除了必须是 URL 之外,当然没有“标准”。您在许多商业网站上看到的当然正是您所描述的:

  <protocol>://<server>/<language>/<more-path>

对于“语言标签”,您也可以遵循RFC。我猜你的 2-letter-abbrev 很好。

我只不同意<more-path>URL 的。如果我理解正确,您正在考虑将每个页面转换为本地语言 URL?我不会那样做。也许我不是标准用户,但我个人喜欢手动在 URL 中胡闹,即如果显示的 URL 是http://examle.com/de/tiere/elefant,但我不相信内容翻译得很好我会手动尝试- 这不会给我带来到预期的页面。而且由于我也不喜欢这些 URL ,我最喜欢的方法是交换零件并使用通用英语(或任何其他语言)作为. 例如:http://examle.com/en/tiere/elefanthttp://ex.com/with-the-whole-title-in-the-url-so-the-page-will-be-keyworded-by-search-engines<language><more-path>

如果您的网站类似于维基百科,那么我也同意您的翻译方案<more-part>

于 2014-01-31T10:24:33.477 回答
-2

您需要考虑的语言还有更多。

这是典型的 3 元组{region, language, property} 如果您只有一个网站,那么您就{region, language}只有一个。

在这个 3 维空间中,每条内容都可以是不同的,或者至少呈现方式不同。但这是同一条内容,因此您希望集中管理编辑信号、促销、跟踪等。想想搜索系统 - 您希望页面排名在文章的所有实例中合并,而不是分散得很薄出去。

我认为有一个标准的解决方案:Canonical URL

将语言/地区放入域名

example.com
uk.example.com
fr.example.com

现在您可以选择如何为子域(用于语言/区域)或域(用于用户跟踪)附加 cookie!

在每个 html 页面上添加一个指向规范 URL 的链接

<link rel="canonical" href="http://example.com/awesome-article.html" />

现在你完成了。

于 2014-02-01T00:36:59.970 回答
-2

也许这个 Google 的指南可以帮助您解决问题:https ://support.google.com/webmasters/answer/189077?hl=en

它说许多网站为(世界各地的)用户提供针对特定地区用户的内容。建议使用 rel="alternate" hreflang="x" 属性在搜索结果中提供正确的语言或区域 URL。

于 2016-04-27T08:46:21.470 回答