1. ホーム
  2. html

JSON-LDのベストプラクティス:複数の<script>要素を使用する?

2023-09-29 17:43:04

質問

schema.orgのためにJSON-LDをサイトに適用するためのベストプラクティスについて知りたいのですが。

もし私が Article を定義し、さらに WebSite を定義したい場合、私はこうなります。

<script type="application/ld+json">
{
    "@context": "http://schema.org",
    "@type": "WebSite",
    "url": "http://www.example.com/",
    "potentialAction": {
      "@type": "SearchAction",
      "target": "http://www.example.com/search?&q={query}",
      "query-input": "required"
    }
}
</script>

<!- … -->

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "Article",
  "author": "John Doe",
  "interactionCount": [
    "UserTweets:1203",
    "UserComments:78"
  ],
  "name": "How to Tie a Reef Knot"
}
</script>

これは正しいのでしょうか、それとも間違っているのでしょうか?これらを同じスクリプトまたはアイテムの配列に統合する利点や必要性はありますか?

どのように解決するのですか?

有効です。データブロックはいくつでも(= script 要素) を好きなだけ持つことができます。

をひとつだけ使用することの利点は script 要素を使うことの利点: 複数のアイテムの関係をより簡単にすることができます (例えば、あなたが hasPart または mainEntity のように)、単に項目を入れ子にする必要があるからです。

しかし、このような関係を作ることは、もちろん個別のデータブロックを使う場合にも可能で、アイテムの URI を @id ( Gregg Kellogg さん、ありがとうございます。 ).

(参考までに で2つ以上のトップレベル項目を追加することは、1つの script で可能です。 @graph .)