如何使用Schema.org表示导航链接

时间:2019-05-28 06:34:56

标签: schema.org json-ld

我有一个常规的产品组合网站(纯HTML),并且该网站包含一个导航,其中包含指向“关于”,“版本说明”和“联系”的链接,因此生成的站点地图为:

                   index
                     |
        +-------+----+----+--------+
        |       |         |        |
      about   contact  imprint  projects
                                   |
                          +-----+--+--+-----+
                          |     |     |     |
                          A     B     C     D

因此,在index/)页面上,我想像这样包含JSON-LD:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebSite",
  …
  …
}
</script>

如何用Schema.org表示“关于”,“联系人”等的链接?会:

{
  …
  "@type": "WebSite",
  "links": 
  [
    {
      "@type": "WebSite",
      "@id": "https://…"
    }
  ]
}

对吗?

1 个答案:

答案 0 :(得分:1)

您使用了links属性,该属性(鉴于您的@context)导致了属性URI http://schema.org/links。但这不是有效的Schema.org属性,因此您不能使用它。

要将WebPage项与其WebSite关联,可以使用hasPart / isPartOf属性:

{
  "@context": "http://schema.org",
  "@type": "WebSite",
  "@id": "/#site",
  "hasPart": [

    {
      "@type": "WebPage",
      "@id": "/page-1"
    },

    {
      "@type": "WebPage",
      "@id": "/page-2"
    }

  ]
}
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "@id": "/page-1",
  "isPartOf": {
    "@type": "WebSite",
    "@id": "/#site"
  }
}

对于联系页面,您可以使用ContactPage类型。对于About页面,您可以使用AboutPage类型。两者均为subtypes of WebPage。当然,Schema.org并未为每种可能的页面类型提供子类型;对于未定义特定子类型的页面,可以使用广泛的WebPage类型;在许多情况下,也可以使用ItemPageCollectionPage

如果要表示导航本身,则为SiteNavigationElement类型。