如何使用JSON-LD创建SiteNavigationElement?

时间:2016-06-14 13:40:07

标签: navigation schema.org json-ld

我正在尝试使用Schema.org中的SiteNavigationElement类型。 HTML是动态生成的,所以我无法编辑它。所以JSON-LD是我唯一的选择。

我希望所有导航元素都在一个SiteNavigationElement对象下。

我已将所需的输出附加为屏幕截图:

Desired structure output

2 个答案:

答案 0 :(得分:2)

以下是如何操作:

<script type="application/ld+json">
  {
  "@context": "https://schema.org",
  "@graph":
    [
      {
        "@context": "https://schema.org",
        "@type":"SiteNavigationElement",
        "@id":"#table-of-contents",
        "name": "Section 1",
        "url": "https://www.example.com/page#toc-1"
      },
      {
        "@context": "https://schema.org",
        "@type":"SiteNavigationElement",
        "@id":"#table-of-contents",
        "name": "Section 2",
        "url": "https://www.example.com/page#toc-2"
      },
      {
        "@context": "https://schema.org",
        "@type":"SiteNavigationElement",
        "@id":"#table-of-contents",
        "name": "Section 3",
        "url": "https://www.example.com/page#toc-3"
      },
      {
        "@context": "https://schema.org",
        "@type":"SiteNavigationElement",
        "@id":"#pagination",
        "name": "Previous page",
        "url": "https://www.example.com/page1"
      },
      {
        "@context": "https://schema.org",
        "@type":"SiteNavigationElement",
        "@id":"#pagination",
        "name": "Next page",
        "url": "https://www.example.com/page2"
      }
    ]
  }
</script>

此代码将如this example中所示。

答案 1 :(得分:1)

Schema.org的SiteNavigationElement type不能用于导航链接,仅适用于整个导航。

因此url将是导航的网址(通常没有),name将是导航的名称(例如,“导航”或“主菜单” “等等。)

类型SiteNavigationElement(以及父WebPageElement类型及其他子类型)对于典型网页并不真正有用。