内容语言的HTML元标记

byn*_*eri 61 html internationalization meta-tags

以下两个HTML元标记之间有什么区别,用于指定西班牙语网页内容:

<meta name="language" content="Spanish">
Run Code Online (Sandbox Code Playgroud)

<meta http-equiv="content-language" content="es">
Run Code Online (Sandbox Code Playgroud)

Que*_*tin 103

<meta name="language" content="Spanish">

这没有在任何规范中定义(包括HTML5草案)

<meta http-equiv="content-language" content="es">

这是一个真正的HTTP标头的穷人版本,应该真正在标题中表达.例如:

Content-language: es
Content-type: text/html;charset=UTF-8
Run Code Online (Sandbox Code Playgroud)

它说该文件适用于西班牙语发言者(但并不意味着该文件是用西班牙语撰写的;例如,它可以用英语编写,作为西班牙语使用者的语言课程的一部分).

从规格:

Content-Language entity-header字段描述了所包含实体的目标受众的自然语言.请注意,这可能与entity-body中使用的所有语言不同.

如果要声明文档是用西班牙语编写的,请使用:

<html lang="es">
Run Code Online (Sandbox Code Playgroud)

  • 这不是穷人的真实HTTP标头版本...如果HTML文件是从磁盘打开或嵌入在邮件消息中,那么就没有HTTP标头.出于这个原因,`meta http-equiv`存在,应该与HTTP头一起设置.太糟糕了,有两个地方你可以指定语言/编码,而W3C/IETF没有明确的解决方案. (17认同)
  • 说到标准,这里是来自W3C的最新出版物,名为"HTTP标题,元元素和语言信息",证实了这个答案,可在此处获取:http://www.w3.org/International/questions/qa-http-and -lang (2认同)

dak*_*kab 36

你问过差异,但你无法比较这两者.

请注意,<meta http-equiv="content-language" content="es">它已过时并在HTML5中删除.它用于指定"文档范围的默认语言",其http-equiv属性使其成为pragma指令(模拟HTTP响应标头,如同Content-Language尚未从服务器发送的,因为它不能覆盖真实的).

关于<meta name="language" content="Spanish">,你几乎找不到任何可靠的信息.这是非标准的,可能被发明为SEO临时搭建.

但是,HTML5 W3C建议书鼓励作者langhtml根元素上使用该属性(属性值必须是有效的BCP 47语言标记):

<!DOCTYPE html>
<html lang="es-ES">
    <head>
        …
Run Code Online (Sandbox Code Playgroud)

无论如何,如果您想指定内容语言来指导搜索引擎机器人,您应该在多语言网站上的Google Search Console帮助中考虑此引用:

Google仅使用您网页的可见内容来确定其语言.我们不使用任何代码级语言信息,例如lang属性.

  • 你的谷歌报价对我来说非常有意义,谢谢。 (2认同)

goj*_*jeg 9

Google建议使用hreflang,阅读更多信息

例子:

<link rel="alternate" href="http://example.com/en-ie" hreflang="en-ie" />
<link rel="alternate" href="http://example.com/en-ca" hreflang="en-ca" />
<link rel="alternate" href="http://example.com/en-au" hreflang="en-au" />
<link rel="alternate" href="http://example.com/en" hreflang="en" />
Run Code Online (Sandbox Code Playgroud)

  • 我喜欢这个提示,但它与OP无关.这是为了向抓取工具指示可以找到当前页面的替代版本.它不表示当前页面的语言. (12认同)
  • @SwissMister @HoldOffHunger具有"替换"列表的页面应该在此备用标记列表的顶部交替显示当前页面.如果所有页面都有相同的内容用于其他国家或其他语言,最好告诉搜索引擎有关备用页面的信息,因为它会学习搜索引擎,您的内容应该显示在搜索结果中,例如带有`en的页面-ca`和一个带有`nl-nl`的页面,`en-ca`将包含在加拿大的搜索结果中,具有备用`nl-nl`的页面可以在荷兰的结果中找到. (2认同)

小智 6

Html5也推荐使用<html lang="es-ES"> 小写字母lang标签只指定:语言代码 大写字母指定:国家代码

这对于 ie.Chrome 非常有用,当浏览器建议翻译网页内容时(即谷歌翻译)