国际化和搜索引擎优化

时间:2009-12-01 19:28:10

标签: seo internationalization search-engine url-routing

我想将我的网站国际化,以便可以使用多种语言访问。语言设置将自动在请求数据中检测到,并可在用户的设置中覆盖/存储在会话中。

我的问题涉及我应该如何根据页面的URL显示基于语言的同一页面的各种版本。假设我们只是查看http://www.example.com/的索引页面,默认为英语。现在,如果讲法语的人加载索引页面,我应该将网址保持为http://www.example.com/,还是应该将其重定向到http://www.example.com/fr/

我正试图弄清楚这对SEO有什么好处或后果。我不希望该网站的法语版本显示在google.com上,如果它阻止同一页面的英文版本显示在那里,但我希望它显示在google.fr。

5 个答案:

答案 0 :(得分:38)

当您开始将网站本地化为多种语言时,从搜索角度来看,有很多事情需要考虑。一般来说,您需要注意并确保您不会因用户的意图过于聪明。自动检测语言和将它们存储在cookie中的事情在某些情况下可能会很好,但是如果它们成为本地化正常工作的要求,那么搜索引擎(以及真实的人)也会遇到一些问题。

对于搜索引擎,您需要确保他们可以查找和访问所有不同语言的所有内容,而无需POST请求(无下拉表单),javascript,flash或Cookie。因为搜索引擎通常不使用这些技术。

事实证明,这通常对真正的客户也有好处。如果你依赖于浏览器设置或ip检测,那么一些真正的客户要么借用朋友的电脑,要么在外国旅行,可能会被错误的语言困住(微软Bing实际上已经有这个问题了一段时间)。 / p>

以下是一些要记住的最佳做法

  • 每种语言都应包含在信息体系结构的某个根目录下。最佳选择是为您的网站获取每个特定区域的TLD(mysite.fr)。虽然这有时不可行,但第二种选择是使用子域(fr.mysite.com),第三种选择是使用子文件夹(mysite.com/fr)。这使得我们最简单地查看一组页面并最好地确定语言/区域。 不要使它成为一个参数(mysite.com/products/iphone/lang=en&region=us),这是我们检测的最困难的案例。

  • 我们有语言分类器(人工智能网),试图确定页面描述的语言/区域。因此,请确保您的网页上有足够的线索来说明语言是什么。例如。如果页面是法语,请确保元描述标签也是法语,<h1>标签,标题,并确保你有一个坚实的法语句子。许多网站会混合使用语言,并且页面上的实际法语很少

  • 电话号码,邮寄地址和地理位置名称也是搜索引擎识别网页区域/语言的重要线索。使用这些(并确保它们是页面上的实际文本,而不是图像)

  • 使用Google网站站长工具指定网页的语言和区域。创建一个帐户,验证您的网站,然后您可以指定您网站的不同部分所针对的区域和语言。

<强>误信息   - 您可能听说过的lang属性或任何语言标签目前都没有被任何搜索引擎使用。当我们(微软Bing)去年对这些进行分析时,人们使用的最常见的“标准”lang标签只显示在网络上0.000125%的页面上 - 这还不够有用!

Vanessa Fox(她建立谷歌的网站管理员中心,并创建了站点地图协议)最近写了一篇关于Google如何思考本地化以及这对网站架构意味着什么的特别好的文章。我建议您在此处查看:http://www.ninebyblue.com/blog/making-geotargeted-content-findable-for-the-right-searchers/

答案 1 :(得分:3)

这就是我在my personal website解决问题的方法,作为i18n中的练习:

  • 当用户到达时,例如brazzy.de/index.php,该网站尝试从cookie(如果存在)或浏览器设置(接受语言标题)中确定语言,默认为英语,并且不重定向
  • 每个页面都有指向该页面的不同语言版本的链接(IMO是用户方便的最重要因素,同时也确保搜索引擎可以轻松找到不同版本)。
  • 这些链接导致例如brazzy.de/en/index.php,在我的案例中改写为brazzy.de/index.php?lang=en - 这可以确保搜索引擎看到不同语言版本的不同网址
  • 访问此类子目录会将语言cookie设置为该语言
  • 没有特定于语言的URL的页面(即语言取决于客户端数据的位置)使用例如 <link rel="canonical" href="/en/"> 告诉搜索引擎可以找到该页面的特定语言网址。
  • 使用 XML sitemaps 进一步确保搜索引擎可以找到所有网页和所有不同的语言版本。

答案 2 :(得分:1)

由于页面的内容不同,我会为不同的语言提供不同的URL。

主要的搜索引擎足够智能,可以根据内容找出页面的语言。在URL中使用语言代码(如fr)也应该为搜索引擎提供提示。

答案 3 :(得分:0)

两个答案:我是怎么做的,以及我如何收集SEOiser认为你应该这样做。

我的网站主要是英文和几个德文页面,我打算有更多德语页面,可能还有一些西班牙语页面。我的根页面与语言无关,并且在英语等价物下面有德语页面(它们存在的地方)的导航链接,并使用英语和德语不同的网址(例如/services.html与/leistungen.html) )。

这是一个很好的用户界面,可能是糟糕的搜索引擎优化,因为所有不同的语言都纠结在一起,没有办法让搜索引擎解开它们,这可能会在计算搜索质量指标时产生不良后果。

SEO正确的事情是维护一个独特的层次结构,可能是www.site.tld / lang /,但更好的是lang.site.tld /,每个都有一个单独的sitemap.xml文件。

我更关心访客而不是搜索引擎,所以我会继续做错误的事情。

答案 4 :(得分:-2)

这是关于处理这种情况的想法。

  1. 你必须使用php
  2. 来浏览你的页面
  3. 您可以为网站的每种语言创建一个像root / lang / en(英文)
  4. 这样的文件夹
  5. 您创建一个.htaccess文件(它必须位于/ lang /文件夹中),您可以在其中编写一些重定向(重写URL) 这是放在.htaccess文件中的内容:
  6.  <IfModule mod_rewrite.c>
            RewriteEngine On
            RewriteRule lang/(+)$ index.php?lang=$1 [QSA,NC]
      </IfModule>

    1. :首先检查是否有重写模块 在apache上显示和激活,因为如果不是,它将弹出错误

    2. RewriteEngine On:我们准备重写引擎来开始处理 规则

    3. lang /(+)$表示对该文件夹或文件的子文件夹的任何请求 应该重定向到索引页面并传递名称 文件的子文件夹作为index.php文件的lang参数 根据郎值
    4. 进行本地化
    5. [QSA]表示命名的捕获(语言)将附加到新创建的URI,

    6. [NC]表示我们的URI不区分大小写

相关问题