web-dev-qa-db-ja.com

Schema.org-JSON-LD-どこに配置しますか?

WebサイトのスキーマにJSON-LDを使用したいと考えています。 (スキーマはschema.orgデータを意味します。)データの書き方は知っていますが、私のデータは、このデータを挿入するためのコード内に望ましい場所がありますか?言い換えれば、JSON-LDは常にheadbodyなどに含まれるべきですか?

84
L84

Schema.org、JSON-LD、およびおそらく抽出されたRDFの観点から、それは問題ではないはずです。ドキュメント内のどこから抽出しても、データは同じです。

HTML5の観点から:

ページに関するデータ(またはこのページの内容)の場合は、script要素にhead要素を head要素 として配置できます

[…]は、ドキュメントのメタデータのコレクションを表します

ただし、代わりにbodyを代わりに使用することは間違いありません。あなたのページやそれが表すものではないデータにheadを使用すべきではないということです。

58
unor

データはどこにでも配置できます。 Googleのドキュメント から:

以下の例に示すように、<script type="application/ld+json"> ... </script>タグで囲まれたデータは、そのイベントを表示するページの<HEAD>または<BODY>領域のいずれかに配置できます。

AJAXを使用して動的にフェッチされたデータ を使用することもできます。

最初のページのロード時に実行されるJavaScriptによって挿入されたJSON-LDマークアップを認識できます。

更新(コメントの Antony で示されているとおり)

最新のドキュメント 言います:

[JSON-LDはa]ページ内のタグに埋め込まれたJavaScript表記head or body ... Googleは、JavaScriptなどによってページのコンテンツに動的に挿入されたJSON-LDデータを読み取ることができますコンテンツ管理システムのコードまたは埋め込みウィジェット。

78
Dheeraj V.S.

<body>に挿入することを選択した場合、次のようにする必要があります。

<p class="companyName" vocab="http://schema.org/" resource="#manu" typeof="Organization">
   <span property="name">ShopTech Media</span>
   <img property="logo" src="https://yoursite.com/logo.png" />
   <a property="url" href="http://www.yoursite.com">Home page</a>
</p>
<p typeof="contactPoint">
  <span property="contactType">Customer Service:</span>
<span property="telephone">+45-xxxxxxx</span>
</p>

以下は、<head>タグに構造化データを挿入するスクリプトコードです

<script type="application/ld+json"> 
{
  "@context": "https://schema.org",
  "@type": "Organization",
  "url": "http://www.shoptech.media",
  "logo": "https://shoptech.media/wp-content/uploads/2019/08/cropped-logo-sm.png",
  "contactPoint": [{
    "@type": "ContactPoint",
    "telephone": "+45-65711114",
    "contactType": "customer service"
  }]
}
</script>

一般的な構造化データのガイドライン のドキュメントを確認してください

0
Richard Rosario