Как я могу добавить SiteNavigationElement и нижний колонтитул в JSON-LD?

Я хочу создать JSON-LD для моей домашней страницы. На моей странице есть:

  1. заголовок
  2. навигация (2 серия)
  3. боковая панель (с 2 списками пунктов)
  4. один список основных пунктов
  5. нижний колонтитул

Я пытаюсь собрать JSON-LD следующим образом:

<script type="application/ld+json">
[
{
    "@context": "http://schema.org",
    "@type": "WebSite",
    .
    .
    .
},
{
    "@context": "http://schema.org",
    "@type": "WebPage",
    "mainEntity":{
         "@type": "ItemList",
          "itemListElement":[
           {
               "@type": "BlogPosting",
               .
               .// 4- one list of main items
               .
           }
           ...
           ]
    }
    .
    .
    .
}]
</script>

Если моя структура верна,

  1. как я могу добавить SiteNavigationElement и содержимое боковой панели к этому объекту JSON? Мне нужно добавить еще один объект или я могу вставить его в WebPage?

  2. Я использую JSON-LD. Мне тоже нужно использовать микроданные? или достаточно JSON-LD?

  3. Я создаю полную карту сайта-index.xml для всех меню и пунктов. Мне действительно нужно добавить SiteNavigationElement (и еще что-то, кроме mainEntity) в JSON-LD?


person ANDA    schedule 08.12.2016    source источник


Ответы (1)


(Все, что вы можете делать с микроданными, также можно сделать с помощью JSON-LD, и наоборот. Так что нет необходимости смешивать. Однако могут быть потребители, которые поддерживают только один синтаксис для определенных функций.)

Вы можете добавить SiteNavigationElement с помощью свойства hasPart к WebPage:

{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "hasPart": 
  {
    "@type": "SiteNavigationElement"
  }
}

Но использование SiteNavigationElement (и других типов WebPageElement) - это обычно бесполезно, поэтому можете пропустить его.

person unor    schedule 09.12.2016
comment
Это то же самое, что и само объявление? Как бы вы выделить, какой элемент является SiteNavigationElement? С @id, указывающим на идентификатор элемента? Спасибо за все, что вы делаете, я многому научился из ваших ответов. - person Tom Usborne; 09.11.2018
comment
@TomUsborne: Это не совсем то же самое, как передает мой фрагмент. Есть страница с навигацией, в то время как ваша альтернатива будет передавать. Есть навигация - но если бы потребителя интересовала навигация, он, вероятно, предположил бы, что это навигация для текущей страницы. - Чтобы указать, какой HTML-элемент используется для навигации, вы можете использовать свойства xpath и / или cssSelector (но оба в настоящее время находятся в состоянии ожидания). - person unor; 13.11.2018