内容语言的HTML元标记
以下两个HTML元标记用于指定西class牙语网页内容的区别是什么:
<meta name="language" content="Spanish">
和
<meta http-equiv="content-language" content="es">
<meta name="language" content="Spanish">
这在任何规范中都没有定义(包括HTML5草案 )
<meta http-equiv="content-language" content="es">
这是一个真正的HTTP头的穷人的版本,应该真的在头文件中expression。 例如:
Content-language: es Content-type: text/html;charset=UTF-8
它指出,这份文件是专门为西class牙语的发言者准备的(不过这并不意味着这个文件是用西class牙文写成的;例如,它可以用西class牙语为英语写成一个语言课程的一部分)。
从规格 :
Content-Language实体标题字段描述封闭实体的目标受众的自然语言。 请注意,这可能不等同于entity-body中使用的所有语言。
如果你想说明一个文件是用西class牙语写的,那么使用:
<html lang="es">
你问了分歧,但你不能比较这两个。
请注意, <meta http-equiv="content-language" content="es">
已过时,并已在HTML5中删除。 它被用来指定“一个文档范围的默认语言”,它的http-equiv
属性使它成为一个pragma指令 (它模拟一个HTTP响应头,就像Content-Language
一样没有从服务器发送,因为它不能覆盖一个真正的)。
关于<meta name="language" content="Spanish">
,您几乎找不到任何可靠的信息。 这是非标准的,可能是作为SEO临时工发明的。
但是, HTML5 W3Cbuild议书鼓励作者在html
根元素上使用lang
属性(属性值必须是有效的BCP 47语言标签 ):
<!DOCTYPE html> <html lang="es-ES"> <head> …
无论如何,如果您要指定内容语言来指示search引擎机器人,则应考虑Google多语言网站上Googlesearch控制台帮助的引用:
Google仅使用网页的可见内容来确定其语言。 我们不使用任何代码级别的语言信息,如
lang
属性。
Googlebuild议使用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" />
Html5也推荐使用<html lang="es-ES">
小写字母lang标签只指定:语言代码大字母指定:国家代码
这对ie.Chrome来说是非常有用的,当浏览器提出翻译网页内容时(例如谷歌翻译)