Seo 单个页面上的多个Schema.org标记

Seo 单个页面上的多个Schema.org标记,seo,schema.org,structured-data,Seo,Schema.org,Structured Data,我们在一个页面上有几个Schema.org项目。例如,类别页面具有BreadcrumbList标记以显示导航,以及ItemList标记以显示产品。一个产品页面有productmarkup和BreadcrumbList标记,有时还有几个ItemLists(向上销售和交叉销售)列表项始终是产品标记 有些实现为,有些是内联标记 不显示错误或警告 所有这些标记(物理上)彼此无关。也就是说,它们不包含在单个“GlobalPage”标记中 在一个页面上包含多个标记是否正确 事实上,我一直在使用Microda

我们在一个页面上有几个Schema.org项目。例如,类别页面具有
BreadcrumbList
标记以显示导航,以及
ItemList
标记以显示产品。一个产品页面有
product
markup和
BreadcrumbList
标记,有时还有几个
ItemList
s(向上销售和交叉销售)<代码>列表项始终是
产品
标记

有些实现为
,有些是内联标记

不显示错误或警告

所有这些标记(物理上)彼此无关。也就是说,它们不包含在单个“GlobalPage”标记中

在一个页面上包含多个标记是否正确

事实上,我一直在使用
Microdata
,我认为它更“自然”,但在GWT(现在的搜索控制台)显示了产品的唯一“正确”示例后,我将其更改为
ld+json
格式(w/out seo改进)。SDTT毫无意义。GWT仍然显示“从…开始”,即使多年来一切都是5*


我知道可能不存在真正的答案(谷歌无法追踪的路线),但我想听听专家对这个问题的意见。

是的,在同一页上描述多个实体是可以的。但是,如果可能,您应该使用属性来关联这些实体

举个例子:

  • 对于类别页面,可以使用及其属性(对于实体)和(对于包含产品的
    ItemList
    entity)

  • 对于产品页面,您可以使用相同的属性,但此处的
    maintentity
    属性引用实体作为值。Schema.org还定义了(但它们不希望
    ItemList
    作为值)

如果在同一页面上使用不同的语法(例如JSON-LD和Microdata),这将变得更加困难;您必须为每个实体定义一个URI(在JSON-LD中使用
@id
,在Microdata中使用
itemid
),并将这些URI作为属性的值引用。如果只使用一种语法,则可以简单地嵌套实体