gpt4 book ai didi

schema.org - 重复的架构/结构化数据标记?

转载 作者:行者123 更新时间:2023-12-05 05:17:57 24 4
gpt4 key购买 nike

这个结构会不会有问题?

<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"WebPage",
"name":"Postcards",
"url":"https://local.mysite.com/postcards.html",
"breadcrumb":{
"@type":"BreadcrumbList",
"itemListElement":[
{
"@type":"ListItem",
"position":1,
"item":{
"@id":"https://local.mysite.com",
"name":"My Site"
}
},
{
"@type":"ListItem",
"position":2,
"item":{
"@id":"https://local.mysite.com/postcards.html",
"name":"Postcards"
}
}
]
},
"mainEntity":{
"@type":"WebPageElement",
"offers":{
"@type":"Offer",
"itemOffered":[
{
"@type":"Product",
"name":"Christmas Postcards",
"url":"https://local.mysite.com/christmas-postcards.html"
},
{
"@type":"Product",
"name":"Getaway Postcards",
"url":"https://local.mysite.com/getaway-postcards.html"
}
]
}
}
}</script>

<script type="application/ld+json">
{
"@context":"http://schema.org",
"@type":"WebPage",
"name":"Postcards",
"url":"https://local.mysite.com/postcards.html",
"breadcrumb":{
"@type":"BreadcrumbList",
"itemListElement":[
{
"@type":"ListItem",
"position":1,
"item":{
"@id":"https://local.mysite.com",
"name":"My Site"
}
},
{
"@type":"ListItem",
"position":2,
"item":{
"@id":"https://local.mysite.com/postcards.html",
"name":"Postcards"
}
}
]
},
"mainEntity":{
"@type":"WebPageElement",
"offers":{
"@type":"Offer",
"itemOffered":[
{
"@type":"Product",
"name":"Mini Postcards",
"url":"https://local.mysite.com/mini-postcards.html"
},
{
"@type":"Product",
"name":"Summer Postcards",
"url":"https://local.mysite.com/summer-postcards.html"
}
]
}
}
}</script>

单个类别页面可能存在像这样的“重复”标记的原因是该页面可能使用多个产品模板。

在当前的实现中,标记是在产品模板中动态构建的。例如,如果单个类别页面有两个产品模板,标记将被重建两次,但包含不同的 WebPageElement

这会产生不好的结果吗?我检查了 Google 的测试工具,它没有给我任何错误或警告。

最佳答案

多个节点,同一个实体

如果您有多个节点代表页面上的同一实体,最佳做法是为这些节点提供相同的 URI as identifier .

使用 JSON-LD,您可以使用 @id 提供标识符。

所以

  • 您的两个 WebPage 项都可以获得 "@id": ""(对于当前 URL;最好在此处指定您的规范 URL),
  • 您的两个 BreadcrumbList 项都可以获得 "@id": "#breadcrumbs",
  • 您的两个 ListItem-1 项都可以获得 "@id": "#breadcrumbs-1",并且
  • 您的 ListItem-2 项都可以获得 "@id": "#breadcrumbs-2"

这样,Google 的 SDTT 将只显示这些项目中的每一个,因为它现在知道它们是关于同一个实体的。

引用节点而不是复制它们

@id 还允许您引用节点而不是嵌入它们(从而复制它们的数据)。 See an example.

在您的情况下,这样做的好处是您不必复制 WebPage/BreadcrumbList/ListItem 节点开始.您将指定这些节点一次,然后每个产品模板将仅输出 Offer/Product 节点。这些节点可以包括(反向)对 WebPage/etc 的引用。 (您可能更容易实现),或 WebPage/etc。可以引用这些节点。

关于schema.org - 重复的架构/结构化数据标记?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48532381/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com