我们有一个多语言应用程序,可以使用GET参数来区分不同的语言版本以及客户端的浏览器语言。如果语言不受支持或未知,我们会使用英语作为后备。目前支持的语言是英语和德语,顺便说一句。
因此,具有浏览器语言“en”的访问者(任何其他类似“es”,“zh”等 - 除了“de” - 将导致所描述的英语)将为不同的URL获得以下语言版本:
到目前为止这是有效的,但这是我们对Google索引的问题:
当我们从德国搜索网站或使用google.de时,其中一个(至少我们的客户)希望以德语获得结果。
但是,谷歌使用英文文本而不是德文文本显示结果(页面摘录/元描述)。
示例,搜索“mydomain”(请原谅程序员艺术:)):
My Domain Title
http://www.mydomain.com
Here's the english meta description even if we search from Germany.
问题似乎是GoogleBot要么使用英语,要么不提供任何语言信息(我认为是这种情况),因此获得“mydomain.com”的英文版本。
我们尝试帮助GoogleBot并将“备用”链接放入页面标题中,即对于“mydomain.com”我们有这些链接
<link rel="alternate" hreflang="en" href="http://www.mydomain.com?language=en" />
<link rel="alternate" hreflang="de" href="http://www.mydomain.com?language=de" />
然而,虽然从理论上讲(据我们所知),GoogleBot现在应该知道该页面的不同语言版本,但它仍会返回英文结果。
我们还考虑过使用“规范”标签但是这并不意味着我们必须选择一种语言版本进行索引?
我们的最终目标是让Google为国际用户返回英文版本的页面,为德国用户返回德语版本。
关于我们如何实现这一目标的任何提示?
更新
以下是我们迄今为止解决问题的方法。
首先,我们将语言移动到网站的路径中,每当语言丢失时,我们都会假设德语。
因此我们得到了这个结果:
http://www.mydomain.com --> 301 to "http://www.mydomain.com/de/"
http://www.mydomain.com/de/ --> German, alternatives are "http://www.mydomain.com/de/" and "http://www.mydomain.com/en/"
http://www.mydomain.com/en/ --> English, alternatives are "http://www.mydomain.com/de/" and "http://www.mydomain.com/en/"
德国谷歌现在按预期显示德语结果,但英语谷歌(或德语谷歌设置显示英语结果)也显示德国结果。我认为原因是重定向中的错误或谷歌并不真正关心。
答案 0 :(得分:3)
我遇到了同样的问题并使用语言限制(lr)参数解决了这个问题,如Google Docs
中所述希望这有帮助。
澄清:这有助于Google Site Search(我们正在使用)。但是,通过google.com进行的正常Google搜索仍会返回那些难看的混合语言结果。