如何使用JSON-LD创建SiteNavigationElement?

如何使用JSON-LD创建SiteNavigationElement?,navigation,schema.org,json-ld,Navigation,Schema.org,Json Ld,我正在尝试使用Schema.org中的SiteNavigationElement类型。HTML是动态生成的,因此我无法编辑它。所以JSON-LD是我唯一的选择 我希望所有导航元素都位于单个SiteNavigationElement对象下 我已将所需输出附加为屏幕截图: Schema.org不能用于导航链接,只能用于整个导航 因此,url将是导航的url(通常没有),而name将是导航的名称(例如,“导航”或“主菜单”等) 类型SiteNavigationElement(以及父WebPageEle

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

我希望所有导航元素都位于单个
SiteNavigationElement
对象下

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

Schema.org不能用于导航链接,只能用于整个导航

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

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

下面介绍如何操作:

<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>

{
“@context”:”https://schema.org",
“@graph”:
[
{
“@context”:”https://schema.org",
“@type”:“SiteNavigationElement”,
“@id”:“#目录”,
“名称”:“第1节”,
“url”:”https://www.example.com/page#toc-1"
},
{
“@context”:”https://schema.org",
“@type”:“SiteNavigationElement”,
“@id”:“#目录”,
“名称”:“第2节”,
“url”:”https://www.example.com/page#toc-2"
},
{
“@context”:”https://schema.org",
“@type”:“SiteNavigationElement”,
“@id”:“#目录”,
“名称”:“第3节”,
“url”:”https://www.example.com/page#toc-3"
},
{
“@context”:”https://schema.org",
“@type”:“SiteNavigationElement”,
“@id”:“分页”,
“名称”:“上一页”,
“url”:”https://www.example.com/page1"
},
{
“@context”:”https://schema.org",
“@type”:“SiteNavigationElement”,
“@id”:“分页”,
“名称”:“下一页”,
“url”:”https://www.example.com/page2"
}
]
}

此代码将如中所示。

相关问题:··@unor所有相关链接使用html创建模式。我使用json ld创建了其他元素,只有我在
SIteNavigationElement
中遇到了问题。您没有说明在json-ld中实现它的问题所在。--我链接了相关问题,因为这些问题是关于以不正确的方式使用
SiteNavigationElement
;对于这个问题,无论使用哪种语法(Microdata、RDFa、JSON-LD),错误都要高一级我还原了您的编辑,因为您的问题似乎与微数据或丰富的代码片段无关。感谢您的回复。根据要求,我必须创建这个结构,这可以通过编辑静态html实现,但在我的情况下,我不能。这些链接是页脚链接。”Header'表示页脚列标题名称和名称,URL表示其各自的子项。您是否理解我的回答,即您对
SiteNavigationElement
的预期用途不正确,但仍要这样做?--如果是这样的话,你需要在你的问题中提供更多的细节,你的问题到底在哪里。但请注意,消费者(如谷歌)很可能无法正确理解您的数据。我明白您的意思。假设我在同一个页面上有四个专业服务,并且必须使用json ld形成模式。我已经创建并通过谷歌验证。问题是我需要单个professional服务对象中的所有服务,格式为inside@professionalDescripton->name,description对。但我得到的专业服务对象不同。json代码,可在此处查看@克:我不确定我是否完全理解你想要实现的目标。如果您有四个专业服务,则必须使用四个不同的
ProfessionalService
对象。使用JSON-LD的
@graph
可以在相同的
脚本
元素()中提供这4个对象,如果您需要的话。(顺便说一句,请注意,您的建议已被弃用。)