2

「microdata」および「json+ld」コードを含む製品ページがあります。両方のコードは同じ @id URI オブジェクト ( http://www.example.org/product#this ) を参照しているため、両方のプロパティを「混合/マージ」することを期待しますが、代わりに構造化データ テスト ツールは 2 つの「個別」を示します「商品だから……」

1- Google は同じページでの 2 つの構文の使用をサポートしていますか?
2- これは適切に実装されていますか? microdata の itemId と json+ld の @id を使用して、2 つのコードを同じオブジェクトに参照できますか?
3- これにより、構造データのインデックス作成に関してページが破損する可能性はありますか?

ありがとう

テスト ツールで次のコードを使用して確認できます。

<div itemscope itemtype="http://schema.org/Product" itemid="http://www.example.org/product#this">
    <a itemprop="url" href="http://www.example.org/product">
    <div itemprop="name"><strong>Product Name</strong></div></a>
    <div itemprop="description">Product Description</div>
    <div itemprop="brand" itemscope itemtype="http://schema.org/Organization"><span itemprop="name">Product Brand</span></div>
    <div itemprop="offers" itemscope itemtype="http://schema.org/Offer">        <span itemprop="price">100</span><link itemprop="itemCondition" href="http://schema.org/NewCondition" /> New</div>
</div>
<script type="application/ld+json">
{
  "@context": "http://schema.org/",
  "@id": "http://www.example.org/product#this",
  "name": "Product Name",
  "@type": "Product",
  "image": "http://www.example.com/anvil_executive.jpg",
  "mpn": "925872",
  "brand": {
    "@type": "Thing",
    "name": "ACME"
  },
  "offers": {
    "@type": "Offer",
    "priceCurrency": "USD",
    "price": "119.99",
    "itemCondition": "http://schema.org/UsedCondition",
    "availability": "http://schema.org/InStock"
  }
}
</script>
4

2 に答える 2

3

私の推測では、同じ構文を使用すると機能するように見えるため、Google の構造化データ テスト ツールは異なる構文ではこれをサポートしていません。しかし、それでも URI が正しく表示されるため (http://www.example.org/product#thisどちらの場合も)、それらをマージしないのは単にツールのインターフェイスであると主張することができます。
ただし、私が知る限り、Google はこれらのサブジェクト URI をサポートすることを文書化していません (ただし、これは必ずしもサポートしていないという意味ではありません)。

http://linter.structured-data.org/を使用する場合、例は正常に機能します。両方のブランドと両方のオファーで1 つのアイテムを作成します。

于 2015-11-18T11:14:12.620 に答える