Правильный синтаксис и использование SiteNavigationElement в JSON-LD - PullRequest
0 голосов
/ 11 октября 2018

Теперь, прочитав несколько статей в Интернете, я наконец запутался.У меня есть основная навигация с несколькими подкатегориями.Нашел 2 примера, потом я перестал б / с я запутался.

Пример 1:

{
      "@context":"http://schema.org",
      "@type":"ItemList",
      "itemListElement":[
        {
          "@type": "SiteNavigationElement",
          "position": 1,
          "name": "Sign Up",
          "description": "Create your example profile.",
          "url":"https://example.com"
        },
        {
          "@type": "SiteNavigationElement",
          "position": 2,
          "name": "About us",
          "description": "Read more about example company",
          "url":"https://example.com/about"
        },
        {......

Пример 2:

{
        "@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"
          },
          {....

В чем разница между этими 2использование?Они оба действительны, но не могут решить, какой из них принять.

1 Ответ

0 голосов
/ 11 октября 2018

Пример 1 состоит из ItemList с двумя SiteNavigationElement элементами.
Пример 2 состоит из двух SiteNavigationElement элементов (и оба элемента одинаковы, поскольку имеют одинаковое значение @id).

Я бы сказал, что ни то, ни другое не подходит для того, что вы намереваетесь передать.

Тип SiteNavigationElement представляет всю навигацию, а не одну навигационную ссылку (, наиболее вероятно ).

{
  "@context": "http://schema.org",
  "@type": "SiteNavigationElement",
  "name": "Main navigation"
}

Если вы хотите предоставить данные о каждой навигационной ссылке, вы можете дополнительно использовать ItemList, где каждая ссылка может быть WebPage (указывается с itemListElement).

{
  "@context":"http://schema.org",
  "@type": ["SiteNavigationElement", "ItemList"],
  "name": "Main navigation",
  "itemListElement": [
    {"@type": "WebPage"},
    {"@type": "WebPage"},
    {"@type": "WebPage"}
  ]
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...