Google提到here,目前仅针对食谱,课程和文章支持使用带有类型,位置和项目的ListItem
的轮播标记。因此,对其他产品执行此操作效果不佳(将Google搜索视为消费者)。
another page中的Google提到了这一点:
一个类别页面,列出了几种不同的产品(或食谱,视频或任何其他类型)。每个实体都应使用相关的schema.org类型进行标记,例如产品类别页面的schema.org/Product。但是,如果标记了一项,则应标记所有项。另外,除非这是轮播页面,否则标记的项目不应链接到单独的详细信息页面。
请注意有关使用正确的Schema.org类型的声明,例如Product
和不应链接到单独的详细信息页面。
因此,对于在线鞋的卖家而言,类别页面可能类似于:
{
"@context": "http://schema.org",
"@type": "CollectionPage",
"@id": "https://www.example.com/cat1/cat2",
"url": "https://www.example.com/cat1/cat2",
"provider": {
"@type": "Organization",
"@id": "https://www.example.com#org"
},
"isPartOf": {
"@type": "WebSite",
"@id": "https://www.example.com#ws"
},
"name": "Running Shoes",
"hasPart": [
{
"@type": "Product",
"name": "shoe 1"
},{
"@type": "Product",
"name": "shoe 2"
},
...
]
}
在这里我没有使用@id
和url
来符合Google关于没有链接到单独的详细信息页面的声明。对此感到不舒服。
问题1:如果没有这些内容,该页面如何在语义上与其他页面中各个产品的架构相关联?
我没有使用ItemList
定义架构,因为没有对项目进行排序,没有position
,SDTT会引发错误。 (实际上,以上模式在hasPart
的SDTT上也引发了错误,指出:“产品不是hasPart属性的已知有效目标类型”)。
Q2:定义此架构,保持Schema.org的正确性以及避免Google引发错误的更好的方法是什么?
Q3:如果我们在此处对产品使用hasPart
,我们是否可以在每个产品的ItemPage
上定义isPartOf
来在此CollectionPage
中包含id-(并且其他类别”(如果需要))产品在哪里列出?基本上,这会闭合循环,但是根据模式,这是否必要或仅单向声明(类别页面中带有“ hasPart”)就足够了?