web-dev-qa-db-ja.com

1ページに複数のレビューがある場合のスキーママークアップ(JSON-LD)

Googleによると、これはJSON-LDの典型的なレビューマークアップです

<script type="application/ld+json">
    {
      "@context": "http://schema.org/",
      "@type": "Review",
      "itemReviewed": {
        "@type": "Thing",
        "name": "Super Book"
      },
      "reviewRating": {
        "@type": "Rating",
        "ratingValue": "7",
        "bestRating": "10"
      },
      "author": {
        "@type": "Person",
        "name": "Joe"
      },
      "publisher": {
        "@type": "Organization",
        "name": "Washington Times"
      }
    }
    </script>

同じページに異なる(ただし類似の)製品のレビューが複数あります。 1つの解決策は、レビューごとに異なるスクリプトを使用することです。しかし、著者と出版社はすべてのレビューで同じであり、レビューされたアイテムと評価のみが変更されるため、よりコンパクトなスクリプトを組み合わせることができるのではないかと思います。

this 同様の質問を読みましたが、私の質問はもっと複雑です。

1
IXN

複数のReviewアイテムを指定できます( 同じscript要素または複数のscript要素内 )が、プロパティを一度定義してすべてのアイテムを「継承」させることはできません。 MicrodataとRDFaはこれをある程度許可します

できること:PersonおよびOrganizationアイテムを与える RI および このURIを値として提供するauthorおよびpublisherプロパティに指定します。

したがって、各authorに対してpublisher/Reviewを提供する必要がありますが、データを繰り返す代わりに、単に「リンク」するだけです。

"author": {"@id": "/authors/joe#i"},
"publisher": {"@id": "/publishers/washington-times#this"}

もちろん、必ずしもすべての消費者がこれをサポートしているわけではないことに注意してください。参照されるアイテムが同じページで定義されている場合にのみサポートする場合もあれば、まったくサポートしない場合もあります。

両方の方法を組み合わせることもできます:アイテムのURIを提供し(それに関する完全なデータが提供されるページを理想的に指す)、さらに重要なプロパティも定義します。

1
unor