7

我正在构建一个为 4 种不同语言设计的网站,使用Sinatra和使用I18n库来插入本地化内容,但我想知道如何处理和之类的标准HTML5元标记,以及如果谷歌和其他搜索引擎将如何对待它们我将这些标签中的内容本地化。descriptionkeywords

理想情况下,我希望能够告诉谷歌(等),也许通过sitemap.xml文件中的信息或其他东西(尽管我不确定这是否可能),该网站可能会以这 4 种语言解析,因此正确本地化关键字,并根据用户的语言环境偏好对用户进行描述。

同样,我希望能够通过本地化相关og元标签和 twitter:card 元标签来本地化发送到 Twitter 和 Facebook 的信息。

注意:无论选择何种语言,实际的页面 URL 都是相同的,本地化的内容会在Slim模板本身中呈现。

例如,是否足以指定

html lang='de_DE'

我正在寻求一种最佳实践和 DRY 方法,以便为我的国际用户实现很好的本地化搜索结果摘要信息。

4

2 回答 2

7

如果不同的语言版本驻留在同一个 URL 上,那么搜索引擎得到的是您的服务器发送到指定任何语言首选项的浏览器的内容。根据您的描述,他们似乎总是获得默认(英文)版本。没有meta标签或lang属性可以影响这一点。(并且搜索引擎会忽略lang属性。)

所以你应该安排事情,以便页面的每个语言版本都有自己的 URL。(差异可能仅在查询部分,例如?lang=de-DE在末尾。)此外,版本应该是相互链接的,有link元素或有可见a链接,这样当搜索引擎找到一个版本时,它会找到其他版本,同样,只需通过以下链接。

PS 写<meta name=keywords ...>标签可能是浪费时间。谷歌很久以前就忽略了它们。

于 2013-07-27T12:07:46.877 回答
5

您可以meta使用lang属性在同一个 HTML 文档中为元素提供不同语言的内容:

<meta name="description" lang="de" content="…" />
<meta name="description" lang="en" content="…" />
<meta name="description" lang="es" content="…" />
<meta name="description" lang="fr" content="…" />

如果任何第三方服务(如 Google 或 Facebook)认识到这是一个不同的问题,一般无法回答,这取决于具体的服务、上下文和时间点,因为事情可能会迅速变化。

但是(正如Jukka K. Korpela也指出),通常您应该使用单独的 URL 进行翻译。让用户(和搜索引擎等)能够链接到特定语言版本。

于 2013-07-27T19:24:37.053 回答