我尝试使用Schema.org格式的某些微数据来验证网页,但我收到了很多类型的错误:
指定了
itemprop
属性,但该元素不是任何项目的属性。
这是我的标记的一般结构:
<div itemscope itemtype="http://schema.org/ProductModel" itemprop="mainEntity">
<meta itemprop="productID" content="XYZ0001" />
<meta itemprop="name" content="Product XYZ" />
<table>
<tr itemscope itemprop="additionalProperty" itemtype="http://schema.org/PropertyValue">
<th><span itemprop="name">Foo</span></th>
<td><span itemprop="value">1197</span></td>
</tr>
<tr itemscope itemprop="additionalProperty" itemtype="http://schema.org/PropertyValue">
<th><span itemprop="name">Bar</span></th>
<td><span itemprop="value">Blah blah</span></td>
</tr>
</table>
</div>
我使用ProductModel
和additionalProperty
,因为页面实体尚未拥有更合适的预定义类型(尚未)。我在标记中犯了明显的错误吗?
答案 0 :(得分:1)
如果您在元素上指定itemprop
,则必须有一个包含itemscope
的父元素。
除非你的代码片段中没有显示这样的父元素,否则这可能是导致错误的行:
<div itemscope itemtype="http://schema.org/ProductModel" itemprop="mainEntity">
我假设您想传达此ProductModel
是网页的主要实体,因此您可以指定:
<div itemscope itemtype="http://schema.org/WebPage">
<div itemscope itemtype="http://schema.org/ProductModel" itemprop="mainEntity">
<!-- … -->
</div>
</div>
(或其中一个更具体的子类型,如果适用,例如ItemPage
。)