我们在一个页面上有几个Schema.org项目。例如,类别页面具有BreadcrumbList
标记,以显示导航和 ItemList
标记以显示产品。产品页面包含Product
标记加BreadcrumbList
标记和(有时)多个ItemList
s(加售和交叉)。 ListItem
始终是Product
标记。
有些实现为<script type="application/ld+json">
,有些是内联标记。
Structured Data Testing Tools显示没有错误或警告。
所有这些标记彼此无关(物理上)。也就是说,它们不包含在单个“ GlobalPage ”标记中。
在单个页面上包含多个标记是否正确?
事实上我一直使用Microdata
并且我认为它更“自然”但是在GWT(现在的搜索控制台)显示产品的唯一“正确”示例之后我将其更改为ld+json
格式(没有seo改进)。 SDTT毫无意义。 GWT仍然显示“从......开始”,即使一切都是5 *多年。
我知道不存在 true 答案( Google无法追踪的路线),但我希望听到有关该主题的专家意见。
答案 0 :(得分:2)
是的,可以在同一页面上描述多个实体。但是,如果可能,您应该使用属性来关联这些实体。
对于您的示例:
对于类别页面,您可以使用CollectionPage
及其属性breadcrumb
(适用于BreadcrumbList
实体)和mainEntity
(适用于ItemList
}包含产品的权利。)
对于产品页面,您可以使用具有相同属性的ItemPage
,但此处mainEntity
属性引用Product
条件作为值。 Schema.org还定义了properties for related products(但他们不希望ItemList
作为值。)
如果在同一页面上使用不同的语法(例如,JSON-LD和Microdata),这就变得更难了;您必须为每个实体定义一个URI(在带有@id
的JSON-LD中,在带有itemid
的微数据中)并将这些URI作为属性的值引用。如果只使用一种语法,则可以简单地嵌套实体。