別のスキーマデータ、たとえばOrganization
がある場合、各ページでEvent
スキーマを使用する必要がありますか?
同じページでEvent
とOrganization
を使用できますか?
Organization
コード<script type="application/ld+json">
{
"@context" : "http://schema.org",
"@type" : "Organization",
"name" : "name",
"address": {
"@type": "PostalAddress",
"addressLocality": "addr",
"postalCode": "index",
"streetAddress": "addr",
"telephone" : "phone"
},
"logo" : {
"@type": "ImageObject",
"url": "logo",
"width": "500",
"height": "500"
},
"email": "email",
"url" : "url",
"sameAs" : [
"link"
]
}
</script>
Event
コード<div itemscope itemtype="http://schema.org/Event" class="tour tour--page">
<span class="schema_hide" itemprop="startDate" content="date"></span>
<span class="schema_hide" itemprop="performer" content="performer"></span>
<span class="schema_hide" itemprop="url" content="url"></span>
<img itemprop="image" src="tour.avatar" />
<h1 itemprop="name">name</h1>
<div itemprop="location" itemscope itemtype="http://schema.org/Place">
<span class="schema_hide" itemprop="telephone" content="phone"></span>
<span class="schema_hide" itemprop="name" content="name"></span>
<span class="schema_hide" itemprop="address" content="address"></span>
</div>
<div itemprop="offers" itemscope itemtype="http://schema.org/Offer">
<span itemprop="validFrom" :content="date"></span>
<span itemprop="url" content="url"></span>
<span itemprop="availability" content="http://schema.org/PreOrder"></span>
<span itemprop="priceCurrency" content="RUB"></span>
<span itemprop="price" content="price"></span>
</div>
</div>
そのような複数のトップレベルエンティティを使用する場合は注意が必要です。 Googleのようなシステムは通常、1つのエンティティをページのメインエンティティとして選択し、その他を無視します。 Googleは、それが組織に関するページ、またはイベントに関するページであると判断しますか?
ページの一部を定義しているエンティティ(WebPageElement BreadcrumbListなど)など、例外があります。
MainEntityまたはmainEntityOfPageプロパティを使用して、物事を明確にすることができます。例えば現在のページのmainEntityOfPageであると言うようにイベントを設定します。
サイト全体がその組織に関連している場合、サイトのすべてのページに組織を配置する必要はありません。たぶんホームページだけ、または私たちについてのページに。組織について説明しているページが最適です。
オーガナイザーの場合は、イベント内に組織を配置することもできます。
はい、好きなだけスキーマを使用できます。
アイテムを適切なプロパティに接続するのがベストプラクティスです。たとえば、Event
がOrganization
によって編成されている場合、 organizer
プロパティを使用できます。プライマリアイテムを伝えるには、WebPage
アイテムを指定して、その mainEntity
プロパティ( example )。
ただし、通常は1つの構文を使用しますが、JSON-LDとMicrodataの2つの構文を使用しています。これらのアイテムを接続することもできますが( ネストする代わりにURIを参照することで )、同じ構文を使用すると簡単になり、サポートされる可能性が高くなります。
両方の構文を使用する必要がある場合は、次のようなものを使用できます(組織がイベントオーガナイザーの場合)。
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Organization",
"@id": "/#this-organization"
</script>
<div itemscope itemtype="http://schema.org/Event">
<link itemprop="organizer" href="/#this-organization" />
</div>