36

我有一个有 2 种语言的网站:英语和瑞典语。

我想要的是,如果有人在瑞典搜索该网站,它应该显示瑞典的结果。也就是说,我希望瑞典的谷歌 (google.se) 抓取该网站的瑞典版本。对于任何其他地方,我希望能够抓取英文版。

我阅读了以下内容:http:
//googlewebmastercentral.blogspot.se/2010/03/working-with-multilingual-websites.html

它说我应该为网站设置 2 个单独的页面。有没有办法让我不需要更改网址中的任何内容?

我的意思很简单,如果 google.se 上的任何人搜索 example.com,它应该显示瑞典语的结果,其他任何地方,英语。

4

3 回答 3

59

这是我关于如何为多语言网站构建 URL 的完整答案

有许多可接受的方式来构建您的网站以实现 SEO 和国际化。每个都有优点和缺点。

顶级域

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

优点

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

缺点

  • 购买许多域名既昂贵又耗时。特别是如果您必须处理擅自占地者。
  • Cookie 不能跨多个区域共享,这意味着用户必须分别登录到每个站点。
  • 仅按语言进行本地化没有很好的选择,因为许多语言有多个国家,并且没有国家 TLD 可能是语言代码。即使在 TLD 与语言代码(如es.

子域

购买单个域,并使用子域,例如en.example.com, 和es.example.com

优点

  • 完全由谷歌支持。
  • 支持按国家按语言进行本地化。
  • 可以通过将 DNS 指向靠近用户的 Web 服务器来本地化托管。
  • 与购买多个域名相比,实施起来既简单又便宜。
  • Cookie 可以在所有地区共享,从而实现单点登录以获得更无缝的用户体验。

缺点

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

子目录

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

的优点和缺点

  • 与子域相同,只是有一个 DNS 条目会阻止您在多个国家/地区为不同的语言环境托管您的站点。

推荐的技术

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

页面标记

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

html标签中使用 lang 属性:

<html lang="en">

按照Google的建议,使用其他语言的 rel 替代链接指向同一页面:

<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 Webmaster Tools。这可以为顶级域、子域或子目录完成。

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

于 2013-05-18T12:27:35.783 回答
43

这是谷歌关于多语言网站的官方文档。它与您链接到的 blogspot 条目具有基本相同的信息。他们写:

将每种语言的内容保存在单独的 URL 上。

然后就他们认为的最佳用户体验实践提供建议。

鉴于此,如果您想要获得最佳的 Google 体验,您应该遵循他们的指南并拥有特定于语言的网址。谷歌搜索当然是对语言敏感的,当人们搜索它时,它应该返回网站的适当版本。

如果您打算使用单个 URL,您打算如何设置语言?基于语言标题?Javascript检测?饼干?这些对于 SEO 来说都是潜在的问题,并且由于 Google 认为它们不是好方法,因此他们没有提供有关如何使用它们来优化 SEO 的建议。

您最好的选择可能是听从 Google 的建议并拥有多个 URL。

于 2012-04-27T19:01:04.497 回答
11

2015 年更新:

谷歌现在支持对语言环境自适应页面的抓取和索引

从链接的帖子中引用,他们支持:

...

  • 除了 Googlebot 当前使用的似乎来自美国的当前 IP 地址之外,Googlebot 将开始使用似乎来自美国以外的 IP 地址的地理分布式抓取。
  • 与语言相关的抓取,Googlebot 将在请求中使用Accept-Language HTTP 标头开始抓取。

...

尽管他们仍然建议使用单独的 URL

于 2015-08-31T13:47:08.490 回答