首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在同一页上使用另一个架构的“组织”架构

在同一页上使用另一个架构的“组织”架构
EN

Webmasters Stack Exchange用户
提问于 2018-06-19 12:13:36
回答 2查看 1.4K关注 0票数 4

如果我有另一个模式数据(例如,Organization ),那么应该在每个页面上使用Event模式吗?

我可以在同一个页面上使用EventOrganization吗?

Organization代码

代码语言:javascript
复制
<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代码

代码语言:javascript
复制
<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>
EN

回答 2

Webmasters Stack Exchange用户

发布于 2018-06-20 06:13:31

在使用这样的多个顶级实体时,我会非常小心。像Google这样的系统通常会选择一个实体作为页面的主要实体,而忽略其他实体。谷歌会决定它是一个关于一个组织的页面,还是一个关于一个事件的页面?

也有例外,比如定义页面部分的实体(WebPageElement、BreadcrumbList等)。

您可以使用mainEntity或mainEntityOfPage属性来澄清问题。例如,将事件设置为当前页面的mainEntityOfPage。

如果整个网站与该组织相关,则不需要在网站的每一页上放置组织。也许就在主页上,或者是关于我们的网页上。最好是在一页谈论组织的页面上。

如果组织是组织者,也可以将其放置在活动中。

票数 1
EN

Webmasters Stack Exchange用户

发布于 2018-06-19 12:53:46

是的,您可以使用任意多个架构。

最好的做法是将项目与适当的属性连接起来。例如,如果Event是由Organization组织的,则可以使用organizer属性。要传递哪个是主要项,您可以提供一个WebPage项并使用它的mainEntity属性(示例)。

不过,您通常会使用一种语法,但您使用的是两种语法:JSON和Microdata。您仍然可以连接这些项(通过引用URI而不是嵌套),但是使用相同的语法可以使其更容易并可能更好地得到支持。

如果您必须同时使用这两种语法,您可以使用类似的东西(如果组织是事件组织者):

代码语言:javascript
复制
<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>
票数 0
EN
页面原文内容由Webmasters Stack Exchange提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://webmasters.stackexchange.com/questions/115923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档