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

How to show a page in different languages?

我使用此元标记让 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.comexample.com/en的内容一样。

我使用下面的代码检测语言

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

和 google 将 example.comexample.com/de 检测为重复页面。

你能告诉我应该如何正确完成吗?

处理 multilingual/multi-regional 个站点的重复页面

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

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

Google 在这个 link 中提到了这个问题:support.google.com

如果您希望根据语言设置动态更改内容或重新路由用户,请注意 Google 可能无法找到并抓取您的所有变体。这是因为 Googlebot 爬虫通常来自美国。另外,爬虫发送的HTTP请求没有在请求头中设置Accept-Language。

希望对您有所帮助