如何显示不同语言的页面?

时间:2019-02-25 19:22:39

标签: node.js internationalization seo google-webmaster-tools

我使用此元标记使Google搜寻器知道我的网站有两种语言,如此处support.google所建议。

<link rel="alternate" hreflang="x-default" href="http://www.example.com" />
<link rel="alternate" hreflang="de" href="http://www.example.com/de" />
<link rel="alternate" hreflang="en" href="http://www.example.com/en" />

所以有时example.com的内容与example.com/de相同,有时example.com的内容与example.com/en相同。

我使用以下代码检测语言

const lang = (
     getLangFromUrl(req.url) || 
     getLangFromCookies(req.cookies) || 
     getLangFromHeader(req.headers) || 
     'de'
);

并且Google将example.comexample.com/de检测为重复页面。

能否请您告诉我应该如何正确完成?

2 个答案:

答案 0 :(得分:2)

Google在以下链接中提到了此问题:support.google.com

如果您希望根据语言设置动态更改内容或重新引导用户,请注意Google可能找不到并抓取您所有的变体。这是因为Googlebot搜寻器通常起源于美国。另外,搜寻器发送HTTP请求,而未在请求标头中设置“接受语言”。

希望这对您有帮助

答案 1 :(得分:0)

处理具有多语言/多区域站点的重复页面

如果您作为跨区域站点的一部分以相同的语言在不同的URL上提供相似或重复的内容(例如,如果example.de/example.com/de/都显示相似的德语内容),应该选择首选版本,并使用 rel = canonical 元素和 hreflang 标签来确保向搜索者提供了正确的语言或区域性网址。

您可以在此处找到有关合并重复URL的Google指南:https://support.google.com/webmasters/answer/139066?hl=en