Как представлять навигационные ссылки с Schema.org - PullRequest
1 голос
/ 28 мая 2019

У меня есть обычный веб-сайт портфолио (обычный HTML), и этот веб-сайт содержит навигацию со ссылками на »о«, »выходные данные« и »контакт«, поэтому итоговая карта сайта:

                   index
                     |
        +-------+----+----+--------+
        |       |         |        |
      about   contact  imprint  projects
                                   |
                          +-----+--+--+-----+
                          |     |     |     |
                          A     B     C     D

Такна странице index (/) я хочу включить JSON-LD следующим образом:

<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebSite",
  …
  …
}
</script>

Как ссылки на "about", "contact",… могут быть представлены на Schema.org?Правильно ли будет:

{
  …
  "@type": "WebSite",
  "links": 
  [
    {
      "@type": "WebSite",
      "@id": "https://…"
    }
  ]
}

?

1 Ответ

2 голосов
/ 28 мая 2019

Вы использовали свойство 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. Оба являются подтипами WebPage. Конечно, Schema.org не предлагает подтип для каждого возможного типа страницы; для страниц, для которых не определен определенный подтип, вы можете использовать широкий тип WebPage; во многих случаях также можно использовать ItemPage или CollectionPage.

Если вы хотите представить саму навигацию, есть тип SiteNavigationElement.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...