как если бы у них не было соединения
Ну, они не подключены в вашем примере.JSON-LD и микроданные не могут работать вместе на уровне синтаксиса.
Если вы хотите соединить сущности, определенные в разных синтаксисах, единственный способ -
- дать эти сущностиURI (тот же URI, если они являются одним и тем же), и
- ссылаются на эти URI как на значения свойств (если один объект является значением свойства другого объекта).
Предоставление URI сущностей работает так, как вы упомянули: с @id
в JSON-LD и с itemid
в микроданных (и с resource
в RDFa Lite).
Потребители (службы)подобно поисковым системам или Google SDTT, локальные клиенты, такие как надстройки браузера и т. д.) должны будут поддерживать следующие ссылки (не все это делают), а если они поддерживают следующие ссылки, они также должны поддерживать синтаксический анализ дополнительного синтаксиса (не всеdo).
Но даже если вы используете такие ссылки URI, это не меняет требований соответствия используемых вами синтаксисов.Ваш HTML-документ недействителен, поскольку у вас есть itemprop
атрибуты, которые не принадлежат itemscope
.Это не разрешеноПоэтому, если вы хотите продолжать использовать микроданные, вы должны также предоставить родительский элемент в микроданных (CollectionPage
в вашем случае).
Это будет способ передать, что оба вхождения CollectionPage
представляютта же сущность (у них тот же URI = базовый URL текущего документа):
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "CollectionPage",
"@id": ""
}
</script>
<div itemscope itemtype="http://schema.org/CollectionPage" itemid="">
<span itemprop="hasPart" itemscope itemtype="http://schema.org/WebSite"></span>
<span itemprop="hasPart" itemscope itemtype="http://schema.org/WebSite"></span>
<span itemprop="hasPart" itemscope itemtype="http://schema.org/WebPage"></span>
</div>
SDTT от Google по-прежнему отображает две записи CollectionPage
(, если синтаксис смешан ), ноони (правильно) имеют одинаковый URI.Google должен решить, что делать с этой информацией для их различных функций структурированных данных.Может быть, ссылки со смешанным синтаксисом поддерживаются ни для одной / некоторых / всех их функций ( они, похоже, не документируют это );то, как их SDTT отображает вещи, не обязательно отражает то, как они интерпретируют это для своих функций.
Дополнительные примеры