4

所以我们使用了一些丰富的片段,它们使用 html5 标记方案。

我们的问题是 itemscope 属性没有值。

<div itemscope itemtype="http://schema.org/LocalBusiness">

这会导致我们的旧产品 html 验证失败,因为它认为它是一个空标签。如果您像这样为其分配值 1,则 google 和标记规则的工作方式是否相同。

<div itemscope="1" itemtype="http://schema.org/LocalBusiness">

在我们可以正确更新我们的验证方法之前,这是一个暂时的解决方法,但这是一个更远的项目。

那么基本上是否有适当的语法可以使其对 Google 的 Rich Snippet 规则、html5 和 html5 之前的旧验证引擎仍然有效?

4

1 回答 1

9

(这个答案基本上是从Peter Murray复制的,特别是这两个 评论。)

HTML5 规范允许布尔属性的值为空字符串或属性名称:

如果存在该属性,则其值必须是空字符串或与属性的规范名称匹配的不区分大小写的 ASCII值,并且没有前导或尾随空格。

所以要么这样:

<div itemscope="" itemtype="http://schema.org/LocalBusiness">

或这个:

<div itemscope="itemscope" itemtype="http://schema.org/LocalBusiness">

是有效的 HTML5。

为了确保 Google 能够itemscope="itemscope"正确识别,他(Peter Murray)创建了一个示例页面并通过Google 的丰富片段验证器运行它。从结果中,您可以看到 Google 正确提取了数据(一个事件项)。

于 2013-02-01T11:46:43.820 回答