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 を介してマークアップしようとすると、製品のプロパティが存在せず、ネストされた HTML 要素がテーブル全体に広がっているという問題が発生します。ItemIDMicrodata 属性を使用して、各ブランドと価格が正しい製品名に関連付けられていることを確認する 方法はありますか?

何かのようなもの:

<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これを行う正しい方法ではありません。RDF とは異なり、microdata 構文解析モデルは同じものを結合しません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/を使用して microdata をテストできます。

于 2012-09-13T14:55:15.267 に答える
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ことで、ページのさまざまな部分で同じアイテムについて話していることを microdata パーサーに伝えます。

于 2012-07-23T23:55:55.757 に答える