Дубликат или ссылка на веб-сайт JSON-LD?

Я заменяю микроданные (itemscope и др.) на наших сайтах на JSON-LD. Нужно ли объявлять WebSite на каждой странице или я могу разместить его один раз на главной странице?

Если второе, будут ли процессоры (под которыми я подразумеваю Google) автоматически привязывать к ней каждую страницу через доменное имя, или есть какой-то способ связать ее? Учитывая, что в названии есть «связанные данные», я не нашел примеров, в которых он используется. Все они копируют или встраивают данные непосредственно в то, что связывается.

Например, я хочу сделать ссылку на наши видео на YouTube, которые мы встраиваем в статьи, но Google не понимает URL для свойства video. Если я расширяю его до VideoObject, Google жалуется, что я не знаю ширины, высоты, продолжительности и т. д. Все эти данные находятся в youtube.com по указанному мной URL-адресу. Почему он не может сам вытащить информацию о видео?


person David Harkness    schedule 09.12.2016    source источник


Ответы (1)


Нужно ли объявлять WebSite на каждой странице или я могу разместить его один раз на главной странице?

С точки зрения Schema.org и Linked Data совершенно нормально (и я бы сказал, что это даже лучшая практика) предоставить элемент только один раз и ссылаться на него через его URI всякий раз, когда это необходимо.

В JSON-LD это можно сделать с помощью @id. Например:

<!-- on the homepage -->
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebSite",
  "@id": "http://example.com/#site",
  "hasPart": {
    "@type": "WebPage",
    "@id": "http://example.com/"
  }
}
</script>
<!-- on another page -->
<script type="application/ld+json">
{
  "@context": "http://schema.org",
  "@type": "WebPage",
  "@id": "http://example.com/foobar",
  "isPartOf": {"@id": "http://example.com/#site"}
}
</script>

Действительно ли Google следует этим ссылкам, неясно (насколько мне известно, это недокументировано)¹. Понятно, что их инструмент тестирования не показывает данные из указанных URI, но это не должно иметь большого значения. По крайней мере, их инструмент тестирования отображает URI (как «ID»), если он предоставлен.

Если вы хотите указать значение URL для свойства video, обратите внимание, что URL не является одним из его ожидаемых значений. Хотя Schema.org по-прежнему разрешает это (любое свойство может иметь текстовое значение или значение URL), вполне вероятно, что некоторые потребители будут обрабатывать только ожидаемые значения. Также совершенно нормально указать значение VideoObject, если вы предоставляете только свойство url. Тот факт, что инструмент тестирования Google выдает ошибки, не означает, что что-то не так; это просто означает, что Google не будет рассматривать это видео для своих расширенных результатов, связанных с видео.


¹ Но я думаю, что для тех немногих функций расширенных результатов, которые предлагает Google, авторам, как правило, не нужно ссылаться на что-то с другой страницы. Ссылки на URI обычно делаются для других случаев Semantic Web и Linked Data.

person unor    schedule 09.12.2016