it-swarm.cn

我应该如何为SEO和本地化构建我的URL?

当我以多种语言设置网站时,如何设置搜索引擎和可用性的URL?

假设我的网站是www.example.com,我正在翻译成法语和西班牙语。什么是最好的可用性和SEO?

目录选项:

http://www.example.com/sample.html
http://www.example.com/fr/sample.html
http://www.example.com/es/sample.html

子域名选项:

http://www.example.com/sample.html
http://fr.example.com/sample.html
http://es.example.com/sample.html

文件名选项:

http://www.example.com/sample.html
http://www.example.com/sample.fr.html
http://www.example.com/sample.es.html

Accept-Language header:

或者我应该简单地解析 Accept-Language 标头并生成内容服务器端以适应该标头?

还有另一种方法吗?如果不同的语言版本没有不同的网址,我该如何处理搜索引擎?


UPDATE 2011-12-06

Google为meta标签提供了新建议,用于明确指向其他语言内容: 多语言内容的新标记

UPDATE 2012-05-25

相关但不准确: 站点地图中的多语言和多国站点注释

UPDATE 2013-06-12将网站内容定位到特定国家/地区 包括与问题直接相关的几个网址方案的讨论。

107
artlung

搜索引擎优化和国际化有很多可接受的方法来构建您的网站。每个都有优点和缺点。

顶级域名

在多个顶级国家/地区域名中购买相同的域名,例如example.comexample.esexample.de

优点

  • 完全由Google支持。您可以将网站添加到 Google网站管理员工具 ,其中有选项可以告诉Google他们是如何定位的。
  • 通常倾向于喜欢TLD上为其所在国家/地区发布内容的用户首选
  • 域名本身可以本地化。许多国际用户可能对英语单词或英语发声域名反应不佳。这对于不使用拉丁字母的语言尤为重要。
  • 支持按国家/地区定位。您可以拥有针对不同国家/地区的受众群体的example.co.ukexample.com.au等单独的网站。网站可能有重复的内容,略有拼写差异,仍然排名很好。实际上,同一语言中的多个良好本地化的站点可能比该语言中的单个站点排名更好。
  • 可以通过将DNS指向所针对的国家/地区中的Web服务器来本地化主机。

缺点

  • 购买许多域名既费时又费时。特别是如果你必须处理擅自占地者。
  • Cookie无法跨多个区域设置共享,这意味着用户必须单独登录到每个站点。
  • 由于许多语言有多个国家,并且没有国家/地区顶级域名可能是语言代码,因此不能仅通过语言进行本地化。即使在TLD与es等语言代码匹配的情况下,搜索引擎也可能认为该网站仅适用于来自西班牙的用户,而不适用于所有西班牙语用户。

子域

购买单个域名,并使用en.example.comes.example.com等子域名

优点

  • 完全由Google支持。
  • 支持按国家/地区按语言进行本地化。
  • 可以通过将DNS指向位于用户附近的Web服务器来本地化主机。
  • 与购买多个域相比,实施起来既简单又便宜。
  • Cookie可以在所有区域设置中共享,从而实现单点登录,从而实现更加无缝的用户体验。

缺点

  • 没有机会本地化域名本身
  • 与顶级域名相比,用户看起来可能不那么本地化。

子目录

购买单个域名,并使用子目录,如example.com/en/example.com/es/

优点和缺点

  • 与子域相同,只是有一个DNS条目可以排除在不同语言环境中在多个国家/地区托管您的站点。

技术NOT推荐

  • 文件名:使用不同的文件名,例如index_en.htmlindex_de.html。 Google不完全支持此技术。例如,无法在网站管理员工具中设置定位。
  • RL Parameters:使用lang=en等URL参数。建议不要使用不同的文件名。
  • 接受语言标题:根据Accept-Language标题自动切换语言。[。_____。]
    • 许多用户没有正确设置此标头。对于出国旅行的用户来说尤其如此,他们可能正在使用朋友的电脑或网吧。对于国际用户来说,安装英文网络浏览器并且知道足够的英语可以使用,但更喜欢使用不同语言的内容。
    • 谷歌刚宣布Googlebot将发送Accept-Language标题并从不同的地理位置抓取 。但是,Google仍建议您为不同语言的内容分别设置网址。
    • 您可以使用Accept-Language标头通过在他们访问的站点与Accept-Language标头不匹配时显示消息来建议用户可能更喜欢该站点的不同版本。
  • 地理IP地址:根据地理位置自动切换语言。

页面标记

支持多种语言时,您应该清楚地标记语言元数据。

使用html标签中的lang属性:

<html lang="en">

使用rel替换链接到其他语言的同一页面 由Google建议

<link rel="alternate" hreflang="es" href="http://www.example.com/" />
<link rel="alternate" hreflang="es-ES" href="http://es-es.example.com/" />
<link rel="alternate" hreflang="es-MX" href="http://es-mx.example.com/" /> 
<link rel="alternate" hreflang="en" href="http://en.example.com/" />

或者, 此信息可以放入站点地图文件中

告诉Google关于您的网站

您应该将网站的每种语言(或区域设置)添加到 Google网站管理员工具 。这可以针对顶级域,子域或子目录来完成。

如果您的网站是按国家/地区定位的,则应使用网站管理员工具设置网站定位。导航到“配置” - >“设置” - >“地理位置目标”,然后从下拉列表中选择定位正确的国家/地区。

90
Stephen Ostermiller

在他的博客上回答类似于你的问题, Matt Cutts建议

如果您有针对企业的法语和德语版本的网站,我的偏好将是:

  1. ccTLDS,例如example.fr或example.de
  2. 之后,子域名如fr.example.com或de.example.com。
  3. 如果那是不可能的,我会使用例如example.com/fr/或example.com/de/这样的子目录
22
mvark

作为一个德国用户,我讨厌它,当一个网站不允许我在英文页面上,因为它认为它更清楚我想要什么。美国人可能很难理解,但实际上有些人说的不止一种语言。

有时我可能想查看德国网站,有时我可能想查看英文网站。

简单地解析Accept-Language标题可能会让我发疯。

如果您的德语页面是您的英文页面的廉价翻译,尤其如此。

为了方便您的用户,英文版本还应具有本地化,例如domain.com/en/en.domain.com

当我输入domain.com时,您会猜到基于我的Accept-Language标题给我英文或德文页面。如果我不喜欢你的选择,我应该能够简单地在域名中交换语言。

额外提示:如果您在域名前面都有语言,则输入ger.domain.comde.domain.com应该会将我带到德国网站。

19
Christian

在我看来,您应该使用文件夹或子域方法,因为它们对用户更直观。哪一个是个人品味的问题,我个人觉得文件夹的方法更清晰。文件名选项远不那么直观。

解析Accept-Language标题以在第一次访问时将用户引导到正确的内容是一个好主意,但您应该只在文件夹或子域名网址上重定向。否则,将无法链接到特定语言的内容,并且您的网站索引将是一团糟。

15
Wookai

如果使用本地化版本(即法国!=法语),请使用子域选项。使用子域名,但我认为如果这个国家使用不同的语言,最好使用目录。例如:

us.domain.com (USA)
us.domain.com/en/sample.html (USA - english)
us.domain.com/es/ejemplo.html (USA - spanish)
es.domain.com (Spain)
es.domain.com/es/ejemplo.html (Spain - spanish)
es.domain.com/ca/exemple.html (Spain - catalan)

Bing依赖于地理元标记,但对于Google,您必须使用Google网站站长工具。

如果您想要定位全球市场,请使用带有首选用户语言的www.domain.com(浏览器在Accept-Language标题上提供laguage优先级),或者在没有它时使用您的主要市场语言。

5
jrosell

这是我问过的同样问题 Stack Overflow 。我得到了一个资源,我将在这里作为答案发布。

我找到了一个N​​ice 来自Google的资源 关于你可以做出的选择。您可以使用每种方法的优缺点。

我一直在努力学习多语种网站一段时间。在文章中肯定有一些要点在提到的答案中没有提到。这就是为什么我觉得有必要发布这个答案。我希望这可以帮助别人。

5
Saif Bechan

我不会使用子域名。在搜索引擎优化方面它没那么有用: http://www.hobo-web.co.uk/seo-blog/index.php/blog-subdomain-or-subfolder-which-is-best/ =。

这里类似的说法: 子域名与子目录

如果您查看大型网站,最常使用的是子域名。

这也取决于您的业务是否更具全球性或本地性。我们是一家版权代理机构,因此可以使用更多本地商家。因此,顶级域比运行.com上的所有内容更好。

文件名是我尚未见过的概念。

3
Remy

最新采用此方向,如基于SAAS的产品的单页应用程序(SPA) -

  1. 对不同国家/地区使用不同的网站将失去链接汁,否则将会流向我们的主要品牌领域。例如: - https://www.example.in/https://www.example.fr/等(亚马逊,这家大型电子商务巨头在过去犯了这个错误。)

  2. 使用与SPA相同的域名并将所有访问者重定向到它将会很好,但在这种情况下我们只能使用一种语言。由于不同国家/地区需要不同语言,因此用户体验会很差。

  3. 这个案例有很多最好的例子(例如,微软和优步)我个人喜欢他们正在做的事情,并相信他们正在使用最好的SEO实践。

    当郎 - 英语与不同的国家。

    • https://www.example.com/en-in(印度)
    • https://www.example.com/en-au/(澳大利亚)
    • 等等.

    要么

    • https://www.uber.com/en/in/(印度),
    • https://www.uber.com/en/au/(澳大利亚)
    • https://www.uber.com/fr/(法国)
    • 等等.

    当Lang和Country相同时 -

    • https://www.example.com/fr-fr/https://www.example.com/fr/fr/(法国)
    • https://www.example.com/ru-ru/https://www.example[dot]com/ru/ru/(俄罗斯)
    • 等等.

为了更加清晰,请参阅 Google Search Console帮助:管理多地区和多语言网站

1
Premnath321