如果我有另一个模式数据(例如,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>发布于 2018-06-20 06:13:31
在使用这样的多个顶级实体时,我会非常小心。像Google这样的系统通常会选择一个实体作为页面的主要实体,而忽略其他实体。谷歌会决定它是一个关于一个组织的页面,还是一个关于一个事件的页面?
也有例外,比如定义页面部分的实体(WebPageElement、BreadcrumbList等)。
您可以使用mainEntity或mainEntityOfPage属性来澄清问题。例如,将事件设置为当前页面的mainEntityOfPage。
如果整个网站与该组织相关,则不需要在网站的每一页上放置组织。也许就在主页上,或者是关于我们的网页上。最好是在一页谈论组织的页面上。
如果组织是组织者,也可以将其放置在活动中。
发布于 2018-06-19 12:53:46
是的,您可以使用任意多个架构。
最好的做法是将项目与适当的属性连接起来。例如,如果Event是由Organization组织的,则可以使用organizer属性。要传递哪个是主要项,您可以提供一个WebPage项并使用它的mainEntity属性(示例)。
不过,您通常会使用一种语法,但您使用的是两种语法:JSON和Microdata。您仍然可以连接这些项(通过引用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>https://webmasters.stackexchange.com/questions/115923
复制相似问题