如何正确使用mainEntityOfPage作为博客详细信息页面?

问题描述 投票:1回答:1

我已经阅读了几个答案,关于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>

我认为mainEntityOfPageBlogPosting,所以第一个例子,是吗?或者我还是错了吗?

blogs schema.org json-ld
1个回答
1
投票

mainEntityOfPage的定义是:

表示此事物是所描述的主要实体的页面(或其他CreativeWork)。

博客帖子页面上的主要实体是博客文章,而不是页面。所以,第二个片段是正确的:

{
  "@context": "http://schema.org",
  "@type": "BlogPosting",
  "mainEntityOfPage": {
    "@type": "WebPage"
  }
}

如果你想使用第一个片段(以便WebPage是顶级项目),你必须使用mainEntity而不是mainEntityOfPage

{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "mainEntity": {
    "@type": "BlogPosting"
  }
}

注1:mainEntitymainEntityOfPage是反向属性,因此这两个代码段的含义相同。

注2:也许它有助于将其读作“是mainEntityOfPage”,并且“有mainEntity”。

注3:您可以在博客帖子页面上使用ItemPage(而不是WebPage)。

© www.soinside.com 2019 - 2024. All rights reserved.