Должен ли я объявить WebSite
на каждой странице, или я могу разместить его один раз на главной странице?
От перспективы Schema.org и Linked Data, это прекрасно (и я бы сказал, что даже лучшая практика), чтобы обеспечить элемент только один раз, и ссылаться на него через его URI всякий раз, когда это необходимо.
В JSON-LD, это can be done with @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
property, обратите внимание, что URL
не является одним из его ожидаемых значений. Хотя Schema.org по-прежнему разрешает это (любое свойство может иметь значение текста или URL-адреса), вполне вероятно, что некоторые потребители будут обрабатывать только ожидаемые значения. Также отлично, чтобы обеспечить стоимость VideoObject
, если вы предоставляете только url
. Тот факт, что инструмент тестирования Google дает ошибки, не означает, что что-то не так; это просто означает, что Google не будет рассматривать это видео для своих богатых результатами видео.
¹ Но для немногих богатых результате особенности предложения Google, авторы, как правило, не нужно будет ссылаться на что-то с другой страницы в любом случае, я думаю. Ссылка на URI обычно выполняется для других случаев семантического Web и связанных данных.