【问题标题】:How to represent navigation links with Schema.org如何使用 Schema.org 表示导航链接
【发布时间】:2019-05-28 06:34:56
【问题描述】:

我有一个常规的投资组合网站(纯 HTML),该网站包含一个导航,其中包含指向 »about«、»imprint« 和 »contact« 的链接,因此生成的站点地图是:

                   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://…"
    }
  ]
}

对吗?

【问题讨论】:

    标签: schema.org json-ld


    【解决方案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类型。

    【讨论】:

    • 谢谢!接缝就可以了! SiteNavigationElement 不是我想要的,因为它会查询页面上的现有元素,但我想根据 json 数据创建导航,所以这不起作用。
    • @unor 您的示例显示了hasPartisPartOf 的用法,创建了双向连接。如果我们无法定义hasPart,创建单向连接是否可以(/有效)?
    • @Ethan:由于这些是逆属性,因此(语义上)只提供一个方向就足够了(可以推断出另一个方向)。然而,这并不意味着所有消费者都必须支持这两种方式(“坏”消费者可能会被编程为只寻找一个特定的方向)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-01-16
    • 2020-09-14
    • 2017-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多