我们说我们有像阿迪达斯这样的电子商务。我们有WebSsite
的基本JSON-LD结构:
{
"@context": "http://schema.org",
"@type": "WebSite",
"url": "https://adidas.com/us",
"potentialAction": {
"@type": "SearchAction",
"target": "https://adidas.com/us/search?q={search_term_string}",
"query-input": "required name=search_term_string"
}
}
我们有Organization
:
{
'@context': 'http://schema.org',
'@type': 'Organization',
'name': 'Adidas',
'description': 'Sport Shop',
'email': 'adidas@adidas.us',
'url': 'http://www.adidas.us',
'logo': 'http://www.adidas.us/logo.svg'
}
该网站也是Store
:
"@context":"http://schema.org",
"@type":"Store",
"url": 'http://www.adidas.us',
"description": "Adidas Shop !",
"name": "Adidas"
}
我们还有经典BreadcrumbList
:
"@context":"http://schema.org",
"@type":"BreadcrumbList",
"itemListElement":
[
{
"@type":"ListItem",
"position":1,
"item":{
"@type":"Thing",
"@id":"https://www.adidas.us",
"name":"Adidas"
}
},
{
"@type":"ListItem",
"position":2,
"item":{
"@type":"Thing",
"@id":"https://www.adidas.us/shoes",
"name":"Adidas shoes"
}
},
{
"@type":"ListItem",
"position":3,
"item":{
"@type":"Thing",
"@id":"https://www.adidas.us/shoes/Featured",
"name":"Adidas featured shoes"
}
}
]
}
这3个JSON-LD很常见(当然或多或少都很详细),有时我在网页上找到了3 script
个元素,这些元素有JSON-LD,有时只有1个,有时是2个。
我们是否应该尝试将它们嵌套到一个script
中(如果是这样,如何!?),还是将它们分开来更好?
答案 0 :(得分:1)
重要的是,您要使用合适的属性not how many script
元素连接实体。
如果页面上有这三个实体,则should convey如何关联它们。你可能想传达的内容:有一个网页是该网站的一部分,由该组织发布,并且有一个面包屑列表。
所以你缺少的是一个代表网页的实体(→WebPage
)和连接所有实体的属性(→publisher
,breadcrumb
,isPartOf
)
您指定的script
元素数量取决于您:
script
,筑巢所有人。script
,包含多个顶级对象(使用@graph
和@id
)。script
(使用@id
)。第一个是最简单的:
{
"@context": "http://schema.org",
"@type": "WebPage",
"isPartOf": {
"@type": "WebSite"
},
"publisher": {
"@type": "Organization"
},
"breadcrumb": {
"@type": "BreadcrumbList"
}
}
Give each relevant entity an @id
,因此您可以reference在同一页面上(在同一script
元素或其他元素中),甚至在外部页面上使用这些实体。
我在这里使用它来表达同一Organization
是publisher
WebPage
以及WebSite
:
{
"@context": "http://schema.org",
"@type": "WebPage",
"@id": "",
"isPartOf": {
"@type": "WebSite",
"@id": "/#this-site",
"publisher": {"@id": "/#this-org"}
},
"publisher": {
"@type": "Organization",
"@id": "/#this-org"
},
"breadcrumb": {
"@type": "BreadcrumbList"
}
}