36

我正在考虑将用 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>
4

3 回答 3

26

没有最低元标记之类的东西(当然,除非我把你的问题弄错了)。据我所知,不需要元标记,您添加的标记是满足您特定需求的标记。

考虑以下文档:

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

    </body>
</html>

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

工作草案对元标记有这样的说法:

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

它继续:

4.2.5.1 标准元数据名称

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

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

尽管标准没有明确要求这些,但实际上存在最佳实践,尤其是在搜索引擎优化 (SEO) 方面。这与 HTML 标准无关,而是与网络(搜索)爬虫有关。

您可以在网站管理员工具元标记支持页面上获得一些好的建议(对于 Google 而言)哪些元标记很重要

于 2012-08-01T21:27:18.050 回答
6

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

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

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

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

于 2012-08-01T22:33:49.097 回答
6

根据http://validator.w3.org/,以下是有效 HTML5 文档的绝对最小示例,实际上其他所有内容都是可选的。

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

因此,您绝对必须定义 charset 元标记,而其他一切都是实现您的目标的问题(搜索引擎相关的东西、缓存控制等)。

于 2013-12-13T17:12:57.393 回答