我在 ASP.NET 中开发了一个多语言站点,它检测用户的系统文化,并以适当的语言显示内容。
这一切都很好,但我的客户已经进行了 SEO 审核。SEO 机构表示担心这不是好的 SEO 做法,因为每种语言都没有唯一的 URL。
他们建议该网站可能被指控伪装,并且谷歌可能无法为每种不同的语言正确索引该网站。
关于这些是否是有效的问题,以及为网站的每种语言版本设置唯一的 URL 是否有优势?
我在 ASP.NET 中开发了一个多语言站点,它检测用户的系统文化,并以适当的语言显示内容。
这一切都很好,但我的客户已经进行了 SEO 审核。SEO 机构表示担心这不是好的 SEO 做法,因为每种语言都没有唯一的 URL。
他们建议该网站可能被指控伪装,并且谷歌可能无法为每种不同的语言正确索引该网站。
关于这些是否是有效的问题,以及为网站的每种语言版本设置唯一的 URL 是否有优势?
尽管您已经完成了自动切换语言的出色工作,但 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
有几个解决方案可以解决这个问题:
只需确保每次都为相同的 URL 提供相同的内容。
祝你好运!
希望我们会看到一些了解谷歌内部的人(任何人?)。但大多数关于谷歌和其他爬虫的假设是......假设,并且可能会发生变化。
我的猜测是,您应该为语言使用单独的 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 策略,用户应该能够覆盖语言建议。这也是大多数大型网站处理语言的方式。