0

我有一个大约有 1000 页的网站。我声明所有 html doctype 都使用 XHTML 1.0 strict

我使用 W3C 标记验证工具检查了网站页面,我得到了 320 个错误,然后我将 doctype 更改为 HTML 4.0,错误减少到 300 个。

然后我使用了 HTML5 文档类型,然后错误减少到 75 个。那么这些错误是如何通过更改文档类型来减少的。

编辑

我的问题是:

1) 根据 XHTML1.0 标准验证我的页面会给我带来 300 多个错误,这些错误非常大,而且很难解决。

2) 根据 HTML5 标准验证我的页面会给我带来大约 70 个错误,这不是问题并且可以轻松解决它们。

所以在这种情况下,我必须使用哪个 HTML 版本,这样它不会影响页面的 SEO,因为 w3c 验证也会影响 SEO

如果我只使用 HTML5 文档类型但不完全是页面结构(导航、页眉、部分、页脚、文章 ....),这真的很重要吗因为我有大约 1000 个页面,这很难让他们遵循 HTML5 页面结构体。

我在想的是减少 w3c 中的错误,我只需将 doctype 更改为 HTML5 并解决 w3c 错误。这是一个好主意吗。或者如果有请建议我。

4

4 回答 4

3

正如@Quentin 所说,XHT​​ML 1.0 Strict 和 HTML5 之间存在许多差异。除了新标签外,还有其他显着差异,例如:

1 - 所有 XHTML 标记和属性都应该用小写字母书写。

  • 您的代码中是否有任何大写标签或属性?

2 - 在 XHTML 中,当您使用像这样的单例标记时,<br/>您需要在元素中包含一个尾随斜杠以获取有效的 XHTML。在 HTML 5 中,尾部斜杠是可选的。

  • 你有自动关闭单例标签吗?

3 - 必须引用所有 XHTML 属性值。在 HTML5 中,如果没有空格,则不需要在属性值周围加上引号。

  • 您的属性值是否正确引用?

4 - 所有 XHTML 标记必须正确嵌套。

  • 这是你的情况吗?

5 - 带有 charset 属性的 HTML5<meta>标记比 XHTML 更简单:<meta charset=utf-8>

  • 如果您使用此标记,您的文档在 XHTML 中将失败

6 - 也不需要包含样式表链接和脚本的类型属性。

  • 如果你没有声明这个属性,你的文档在 XHTML 中会失败

这些只是简单地更改 Doctype 的不同验证的几个示例。您可以检查这些要点,看看是否有您的情况。

您可以在此处检索所有信息:从 XHTML 到 HTML5 的小步骤

我只是将文档类型更改为 HTML5 并解决 w3c 错误。这是一个好主意吗?

嗯,HTML5 更“容易”构建,因为它更灵活,但这是您在开始制作网站之前必须做出的决定。我建议您阅读有关 XHTML 1.0HTML5 规范的 W3C 规范,然后确定哪种语言更适合您的要求以及如何对其进行编码以获得有效的标记。

于 2013-07-12T06:49:53.413 回答
2

糟糕的代码就是糟糕的代码,无论文档类型如何。使用 html5 doctype 进行验证时,您会看到更少的错误,因为 html5 作为规范在定义要构建的 html 方面没有那么严格。

Google 不验证页面。也就是说,更好的标记可以帮助搜索引擎更好地了解您的网站。虽然如果你只是改变文档类型而不清理糟糕的代码,它不会有效果。

于 2013-07-12T06:25:16.550 回答
2

因为,很简单,不同版本的 HTML 是不同的,并且允许不同的东西。

<video>例如在 HTML 5 中是新的,所以在 HTML 4 中会出错。

于 2013-07-11T12:07:19.983 回答
0

这是因为 xhtml 使用 xml 解析器,这需要更严格的语法。我发现它<!DOCTYPE html>更宽容,因为使用仍在开发中的标准(最后一个子句更多的是我的猜测而不是具体的)。

于 2013-12-11T21:04:49.460 回答