如何本地化html5元标记信息

Dav*_*Sag 4 html5 localization internationalization meta-tags

我正在建立一个使用4种不同语言设计的网站Sinatra,并使用和使用I18n库来插入本地化的内容,但是我想知道如何处理HTML5诸如description和的标准元标记keywords,以及Google和其他搜索引擎如何处理这些标记?我将这些标签中的内容本地化。

理想情况下,我希望能够通过sitemap.xml文件或其他信息(尽管我不确定甚至可能)告诉Google(该网站)可以用这四种语言进行解析,因此可以正确地本地化关键字和对用户的描述,具体取决于他们的区域设置偏好。

同样,我希望能够通过定位相关的og元标记和twitter:card`元标记来定位发布到Twitter和Facebook的信息。

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

例如,是否足以指定

html lang='de_DE'
Run Code Online (Sandbox Code Playgroud)

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

uno*_*nor 6

您可以meta使用 属性在同一 HTML 文档上lang提供具有不同语言内容的元素在同一 HTML 文档上提供包含不同语言内容的元素:

\n\n
<meta name="description" lang="de" content="\xe2\x80\xa6" />\n<meta name="description" lang="en" content="\xe2\x80\xa6" />\n<meta name="description" lang="es" content="\xe2\x80\xa6" />\n<meta name="description" lang="fr" content="\xe2\x80\xa6" />\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n\n

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

\n


Juk*_*ela 5

如果不同的语言版本位于相同的URL,那么搜索引擎得到的就是服务器发送到指定任何语言首选项的浏览器的信息。根据您的描述,因此似乎它们总是获得默认(英语)版本。没有meta标签或lang属性可以影响此。(搜索引擎会忽略lang属性。)

因此,您应该安排事情,以便页面的每种语言版本都有其自己的URL。(不同之处可能仅在于查询部分,例如?lang=de-DE在末尾。)此外,应将版本与link元素或可见a链接相互链接,以便当搜索引擎找到一个版本时,它将查找其他版本,同样,只需点击链接即可。

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