HTML:多语言元描述?

35

如何给我的网站设置两个语言的meta描述?

这段代码是否符合Google标准?

<meta name="description" lang="en" content="english blablabla" />
<meta name="description" lang="hu" content="hungary blablabla" />

1
“Google valid”是什么意思? - unor
当我们没有HTML错误并且谷歌会编写正确的语言描述时,例如如果我使用匈牙利谷歌浏览器搜索,我将只看到匈牙利语描述。 - Zsolt Janes
2个回答

15

请查看Google网络管理员中心博客的这篇文章:http://googlewebmastercentral.blogspot.com.es/2010/03/working-with-multilingual-websites.html

"Google试图确定每个页面的主要语言。如果您在每个页面上仅使用一种语言并避免并排翻译,可以帮助简化语言识别。虽然Google可以识别一个页面属于多种语言,但我们建议所有页面元素(标题、侧边栏、菜单等)使用相同的语言。 请记住,Google忽略从“lang”属性到文档类型定义(DTD)的所有代码级别语言信息。一些网页编辑程序会自动创建这些属性,因此在尝试确定网页的语言时它们不是非常可靠。"

有关多语言网站的一些信息:

由于HTML“lang”属性不允许定义多种语言,并且用于指定语言的元属性已过时,根据W3建议,最好在HTTP标头中指定语言。

HTTP/1.1·200·OK
Date:·Sat,·23·Jul·2011·07:28:50·GMT
Server:·Apache/2
Content-Location:·qa-http-and-lang.en.php
Vary:·negotiate,accept-language,Accept-Encoding
TCN:·choice
P3P:·policyref="http://www.w3.org/2001/05/P3P/p3p.xml"
Connection:·close
Transfer-Encoding:·chunked
Content-Type:·text/html; charset=utf-8
Content-Language:·en

与将http-equiv属性设置为Content-Language的meta元素一样,HTTP标头的值可以是由逗号分隔的语言标签列表。

参见:https://www.rfc-editor.org/rfc/rfc2616#section-14.12

正如RFC2616所述:

Multiple languages MAY be listed for content that is intended for
   multiple audiences. For example, a rendition of the "Treaty of
   Waitangi," presented simultaneously in the original Maori and English
   versions, would call for

       Content-Language: mi, en

如果您前往http://validator.w3.org/check并尝试验证此内容:

<!DOCTYPE html>
<html>
<head>
<title>Test</title>
<meta http-equiv="Content-Language" content="en,hu">
<meta charset="UTF-8">
</head>
<body>
<p>Test</p>
</body>
</html>

W3验证工具提示:

Line 5, Column 52: Using the meta element to specify the document-wide default language is obsolete. Consider specifying the language on the root element instead.

那么,如果HTML标签上的语言属性不允许多种语言,我认为你最好尝试在HTTP头中指定它。


9

lang 属性可以放置在任何元素上,不仅限于根 html 元素或 meta name="description"。因此,您可以编写以下代码:<html lang="en"><body>The Chinese translation of Stack Overflow is <span lang="zh-Hans">堆叠溢位</span></body></html>,并且最好加入这些 lang 属性,因为它有助于视觉浏览器选择正确的字体和盲人使用的音频浏览器选择正确的语音。

一些非 Google 搜索引擎仍然需要过时的 <meta http-equiv="content-language"> 标记(特别是 Bing 和百度据报道仍然需要这些标记),但我不知道它们的实现是否足够符合标准,能够处理列在 http-equiv="content-language" 中的两种或更多语言(可以尝试一下)。

至于搜索引擎是否会支持在多个语言中多次使用具有适当 lang 属性的 meta name="description",这取决于搜索引擎。Google 表示他们不喜欢并排翻译,这对于我们讨论外语的人来说是遗憾的。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接