内容语言的 HTML 元标记

新手上路,请多包涵

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

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

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

原文由 byneri 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 320
2 个回答

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

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

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

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

 Content-language: es
Content-type: text/html;charset=UTF-8

它说该文档是为讲西班牙语的人准备的(它并不意味着该文档是用西班牙语编写的;例如,它可以用英语编写,作为讲西班牙语的人的语言课程的一部分)。

从规格

Content-Language 实体标头字段描述了所包含实体的预期受众的自然语言。请注意,这可能不等同于实体主体中使用的所有语言。

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

 <html lang="es">

原文由 Quentin 发布,翻译遵循 CC BY-SA 4.0 许可协议

您要求差异,但您不能完全比较这两者。

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

关于 <meta name="language" content="Spanish"> ,你几乎找不到任何可靠的信息。它是非标准的,可能是作为 SEO 权宜之计 而发明的。

然而, HTML5 W3C 建议 鼓励作者使用 lang 属性 html 根元素(属性值必须是有效的 BCP 47 语言标签):

 <!DOCTYPE html>
<html lang="es-ES">
    <head>
        …

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

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

原文由 dakab 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题