11

我在 ASP.NET 中开发了一个多语言站点,它检测用户的系统文化,并以适当的语言显示内容。

这一切都很好,但我的客户已经进行了 SEO 审核。SEO 机构表示担心这不是好的 SEO 做法,因为每种语言都没有唯一的 URL。

他们建议该网站可能被指控伪装,并且谷歌可能无法为每种不同的语言正确索引该网站。

关于这些是否是有效的问题,以及为网站的每种语言版本设置唯一的 URL 是否有优势?

4

2 回答 2

8

尽管您已经完成了自动切换语言的出色工作,但 SEO 机构是正确的!

该谷歌可能无法为每种不同的语言正确索引该站点。

这是真的!上次我检查时,Google 没有发送接受语言标头。这意味着 Google 只会索引默认语言。

他们建议该网站可能被指控伪装,

这与您的 Excact 实施不同,但您的网站可能会受到处罚!

在网站上拥有唯一的 URL(针对每种语言版本)是有优势的!
首先,对于您的用户:他们可以链接到他们喜欢的语言。次要的搜索引擎,因为他们可以正确索引您的网站。

我建议大多数时候只在主页上重定向用户以使用 302 重定向到正确的 URL(以及正确的语言)进行语言切换。(编辑:您可以查看Matt Cutts 的帖子“SEO 建议:讨论 302 重定向”

要验证我的建议:安装fiddler并浏览http://www.ibm.com。如下所示,我收到了一个 302 重定向到适当的语言,到达 www.ibm.com/be/en。

    Result  Protocol    Host    URL Body    Caching Content-Type    
4   302 HTTP    www.ibm.com /   209     text/html
5   200 HTTP    www.ibm.com /be/en/ 5.073   no-cache  text/html;charset=UTF-8

有几个解决方案可以解决这个问题:

  • 开始重写 Urls(添加例如使用该语言的目录)
  • 如果您不想经历添加目录(或重写 url)的麻烦,添加 QueryString 将是最简单的解决方案(尽管尝试将它们限制为最多 2 个参数)
  • 另一种选择是使用不同的子域!www.website.com 为默认语言,es.website.com, fr.website.com

只需确保每次都为相同的 URL 提供相同的内容。

祝你好运!

于 2010-01-30T14:04:54.150 回答
3

希望我们会看到一些了解谷歌内部的人(任何人?)。但大多数关于谷歌和其他爬虫的假设是......假设,并且可能会发生变化。

我的猜测是,您应该为语言使用单独的 URL,即使它们只是有?language=区别(尽管更好的是真正不同的 URL)。我相信这一点,因为当你去google.it它说,google.com in English那个链接去google.com...... 换句话说,谷歌本身对不同的语言使用不同的 URL。

此外,另一个大网站,微软(他们可能知道 SEO)使用

http://www.microsoft.com/en/us/default.aspx

对于美国英语和

http://www.microsoft.com/it/it/default.aspx

对于意大利 - 意大利语,因此根据语言(和国家/地区)进行区分可能是最佳实践。

无论如何,当我在使用英语计算机时,我看不到意大利语或西班牙语的网站,反之亦然。作为一种可用性,而不是 SEO 策略,用户应该能够覆盖语言建议。这也是大多数大型网站处理语言的方式。

于 2010-01-28T11:05:05.893 回答