11

我的开发人员使用 HTML 表格编写了一个产品列表。代码是这样的:

<table>
<tr  class="name">
<td>Product Name #1</td><td>Product Name #2</td><td>Product Name #3</td>
</tr>
<tr class="price">
<td>Product Price #1</td><td>Product Price #2</td><td>Product Price #3</td>
</tr>
<tr class="brand">
<td>Product Brand #1</td><td>Product Brand #2</td><td>Product Brand #3</td>
</tr>
</table>

你明白了。从视觉上看,它看起来很完美,但是在尝试通过 schema.org 进行标记时,我遇到了问题,因为 products 属性不存在是整齐的嵌套 HTML 元素,而是分布在整个表格中。有没有办法使用ItemID微数据属性来确保每个品牌和价格都与正确的产品名称相关联?

就像是:

<tr class="name">
<td itemscope itemtype="http://www.schema.org/Product" itemID="Product1">Product Name #1</td>
<td itemscope itemtype="http://www.scema.org/Product" itemID="Product2">Product Name #2</td>

等等等等。有什么想法吗?我会重新编码页面以使其工作吗?

4

2 回答 2

8

是的,itemid这是正确的方法。您的示例将如下所示:

<table>
  <tr class="name">
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product1">
      <span itemprop="name">Product Name #1</span>
    </td>
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product2">
      <span itemprop="name">Product Name #2</span>
    </td>
  </tr>
  <tr class="price">
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product1">
      <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <span itemprop="price">Product Price #1</span>
      </div>
    </td>
    <td itemscope itemtype="http://www.schema.org/Product" itemid="Product2">
      <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
        <span itemprop="price">Product Price #2</span>
      </div>
    </td>
  </tr>
</table>

通过重复使用相同itemid的内容,您告诉微数据解析器您在页面的不同部分谈论相同的项目。

于 2012-07-23T23:55:55.757 回答
8

实际上,itemid这不是正确的方法。与 RDF 不同,微数据解析模型不会连接具有相同itemid.

相反,您应该使用 itemref 属性。

例如:

<div itemscope itemtype="http://schema.org/Product" itemref="foo"></div>
<div id="foo" itemprop="offers" itemscope itemtype="http://schema.org/Offer">
  <span itemprop="price">Product Price #1</span>
</div>

除了 Google,您还可以使用https://webmaster.yandex.com/tools/microtest/测试微数据。

于 2012-09-13T14:55:15.267 回答