关于mainEntityOfPage
是什么以及如何使用它,我已经阅读了几个答案,每个答案都比上一个更令人困惑。
所以我的问题很具体;我有一个包含博客部分的网站。在博客详细信息页面上,我想使用JSON-LD格式的结构化数据。
我的问题:我的mainEntityOfPage
是WebPage
还是BlogPosting
?
我应该使用这个:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "WebPage",
"mainEntityOfPage": {
"@type": "BlogPosting",
}
}
</script>
或这个:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage",
}
}
</script>
我在想
mainEntityOfPage
是BlogPosting
,所以第一个例子是吗?还是我还是错了? 最佳答案
mainEntityOfPage
的定义是:
指示此内容是所描述的主要实体的页面(或其他CreativeWork)。
博客文章页面上的主要实体是博客文章,而不是页面。因此,第二个片段是正确的:
{
"@context": "http://schema.org",
"@type": "BlogPosting",
"mainEntityOfPage": {
"@type": "WebPage"
}
}
如果要使用第一个代码段(以便
WebPage
是顶级项目),则必须使用 mainEntity
而不是mainEntityOfPage
:{
"@context": "http://schema.org",
"@type": "WebPage",
"mainEntity": {
"@type": "BlogPosting"
}
}
注意1:
mainEntity
和mainEntityOfPage
是相反的属性,因此这两个代码段的含义相同。注意2:也许将其读为“是
mainEntityOfPage
”和“具有mainEntity
”会有所帮助。注意3:您可以在博客文章页面上使用
ItemPage
(而不是WebPage
)。