我一直努力在网上找到这个例子,更不用说使用application/ld+json
。
该页面包含视频列表,主要内容项目以及最后相关的新闻内容(视频项目列表)。我的网站类似于https://www.premierleague.com/的新闻文章。
我已将此定义如下:
{
"@context": "http://schema.org",
"@type": "ItemList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "my description",
"url": "https://www.example.com/carousel-item-1"
},
...
],
"mainEntityOfPage": {
"@type": "WebPage",
"@id": "https://www.example.com/watch",
"alternativeHeadline": "The title of this page",
"description": "The description of the content",
"itemListElement": [
{
"@type": "Url", // this is the problem here
"url": "https://www.example.com/related-news-article"
}
]
}
}
问题在于将最后一段内容描述为相关新闻。 我该如何描述?
新闻文章没有NewsArticle
的所有必要信息。这只是一个标题,一个图像和一个链接。所以我选择使用URL类型。
然而,这不满足mainEntityOfPage
内部的合适子类型。
我可以在NewsArticle
({首选}内部mainEntityOfPage
内进行描述吗?或者我是否需要描述一个全新的application/ld+json
区块?
答案 0 :(得分:2)
Schema.org不需要任何属性。即使您根本不提供任何财产,也可以使用NewsArticle
。但是,如果您只想提供一个URL作为值,则不应为此指定类型URL
。只需使用@id
直接提供网址,无论是否包含NewsArticle
:
{
"@id": "https://www.example.com/related-news-article"
}
{
"@type": "NewsArticle",
"@id": "https://www.example.com/related-news-article"
}
WebPage
上的相关链接可以与relatedLink
属性一起提供,该属性需要URL
值。所以你可以使用这样的东西:
{
"@type": "WebPage",
"relatedLink":
[
{"@id": "/related-news-article-1"},
{"@id": "/related-news-article-2"},
{"@id": "/related-news-article-3"}
]
}