Webページに複数のスキーマを追加するにはどうすればよいですか?
ホームページでOrganization
およびWebSite
スキーマを使用しています。 JSON-LD形式でマークアップを書いています。
ナレッジグラフのOrganization
スキーマ:
<script type="application/ld+json">
{
"@@context": "http://schema.org",
"@@type": "Organization",
"name": "My Website Name",
"url": "http://www.example.com",
"sameAs": [
"http://www.facebook.com/example-com",
"http://www.instagram.com/example-com"
]
}
</script>
検索結果に自分のサイト名を含めるWebSite
スキーマ(Googleがこれを実装することに決めた場合):
<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@@type" : "WebSite",
"name" : "My Website Name",
"url" : "http://www.example.com"
}
</script>
ご覧のとおり、両方とも同じname
およびurl
プロパティを持っています。
2を個別に指定する必要がありますか、それとも2を連結するだけですか?ページの最初に行かなければならない好みはありますか?
2016年2月23日更新:
私はunorの助けを借りて次のことで終わりました:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@graph": [{
"@type": "WebSite",
"name": "My Website Name",
"url": "http://www.example.com"
}, {
"@type": "WebPage",
"name": "My Website Name",
"url": "http://www.example.com"
}, {
"@type": "Organization",
"name": "My Website Name",
"url": "http://www.example.com",
"sameAs": [
"http://www.facebook.com/example-com",
"http://www.instagram.com/example-com"
]
}]
}
</script>
JSON-LD( Microdata/RDFaの代わりに )では、各ノードに対してプロパティとその値を繰り返す必要があります。
各ノードに個別のscript
要素 を使用する代わりに、 @graph
の値としてすべてのノードを含む単一のscript
要素 を使用することもできます。そうすれば、@context
(および場合によってはカスタムプロパティ)を一度定義するだけで済みます。
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@graph":
[
{
"@type": "WebSite"
},
{
"@type": "Organization"
}
]
}
</script>
script
要素(または@graph
のノード)の順序は重要ではありません
組織にすでにWebサイトのURLを追加している場合、WebサイトにWebサイトスキーマを追加する必要はありません。
組織スキーマを使用している場合は、ロゴプロパティも使用することをお勧めします。
"logo": "http://www.example.com/logo.png"
もう1つ言いたいのは、Googleはすべてのスキーマとそのプロパティをサポートしていないため、これらのスキーマを使用することです。これは 現在Googleでサポートされています です。