建议的HTML 5元标记应该被认为是必须的

时间:2012-08-01 21:21:11

标签: html html5

我正在考虑将使用XHTML 1.0编写的页面迁移到HTML 5,并在meta元素中包含<head>标记时查看最低要求。例如,我当前符合XHTML 1.0标准的页面具有以下meta标记

<meta http-equiv="content-type" content="text/html;charset=UTF-8" />
<meta http-equiv="content-language" content="en-us" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="copyright" content="&copy; 2012" />
<meta name="robot" content="noindex, nofollow" />

以下内容是否足以支持HTML 5,我还可以包含它们吗?

我的理解是,meta元素<meta http-equiv="content-language" content="en-us" />现在可以全局应用于<html>元素。

<html lang="en-us">
<head>
<meta charset="UTF-8" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta name="author" content="" />
<meta name="copyright" content="&copy;" />
<meta name="robot" content="noindex, nofollow" />
<title>sample code</title>
</head>
</html>

3 个答案:

答案 0 :(得分:26)

没有最小元标记这样的东西(除非我的问题当然是错误的)。据我所知,不需要任何元标记,您添加的元标记可满足您的特定需求。

考虑以下文件:

<!DOCTYPE HTML>
<html>
    <head>
        <title>Some Title</title>
    </head>
    <body>

    </body>
</html>

您可以对其进行验证,但不会收到任何警告。验证器只是提醒您缺少默认编码。这甚至不是一个警告,只是一个信息。

working draft有关于meta标记的说法:

  

元元素表示无法使用标题,基本,链接,样式和脚本元素表示的各种元数据。

它继续:

  

4.2.5.1标准元数据名称

     

应用程序名称,作者,描述,生成器,关键字

此外,它提到了一些关于页面状态,上下文表示和字符编码的附加标签。

虽然标准中没有明确要求这些,但实际上有最佳做法,特别是有关搜索引擎优化(SEO)的做法。这与HTML标准无关,但与web(搜索)爬虫无关。

您可以在Webmaster Tools meta tag support page

处获得一些关于元标记(对于Google)很重要的好建议

答案 1 :(得分:6)

任何HTML5草稿都不需要meta标记。 (HTML5正在进行中,可能随时更改,恕不另行通知。)

根据HTML5草稿,您列出的许多代码(包括content-language的代码)甚至都不允许(符合)。在实践中,它们中的大多数是无用的,但其中一些是有害的(例如排除机器人的那种,并且在大多数情况下是那些试图阻止所有缓存的那些)。

您的后一段代码无效:html元素必须包含所有其他元素,head元素必须包含title元素(在所有HTML版本中)。

查阅最新的W3C HTML5草稿,并使用实验检查器http://validator.nu

答案 2 :(得分:5)

根据http://validator.w3.org/,以下是有效HTML5文档的绝对最小示例,其他一切都是可选的。

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Valid HTML5 Document!</title>
</head>
</html>

所以,你绝对必须定义charset元标记,其他一切都是完成你的目标(搜索引擎相关的东西,缓存控制等)。