Я хочу связать вместе два вида структурированных данных: WebPage
, который является JSON-LD, и BreadcrumbList
, который является встроенными микроданными.
Тема не является дубликатом! Я видел много похожих ответов на вопросы по этой теме в SO, но я проверил всех с помощью инструмента тестирования структурированных данных Google, и ни один ответ не был проверен.
Пример кода:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Webpage",
"id": "https://www.example.com#Webpage",
"breadcrumb": {
"@type": "BreadcrumbList",
"@id": "https://www.example.com#BreadcrumbList"
}
}
</script>
<nav class="breadcrumbs">
<ol itemscope itemtype="http://schema.org/BreadcrumbList" itemid="https://www.example.com#BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" rel="up up up" title="a" href="/a/">
<span itemprop="name">a</span></a>
<meta itemprop="position" content="1" /></li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" rel="up up" title="b" href="/b/">
<span itemprop="name">b</span></a>
<meta itemprop="position" content="2" /></li>
<li itemprop="itemListElement" itemscope itemtype="http://schema.org/ListItem">
<a itemprop="item" rel="up" title="c" href="/c/">
<span itemprop="name">c</span></a>
<meta itemprop="position" content="3" /></li>
</ol>
</nav>
Как я уже сказал, WebPage
является основным типом данных в фрагменте JSON-LD.Он имеет вторичный тип данных BreadcrumbList
, который имеет идентификатор.BreadcrumbList
внутри микроданных относится к itemid к тому же из JSON-LD - я ожидаю, что инструмент тестирования покажет связь между BredcrumbList
из JSON-LD и данными из микроданных.Но нет: тестовый инструмент отображает их как разные и вызывает ошибку во фрагменте JSON-LD, потому что он не требует ItemList
.
Это ошибка тестового инструмента или я пропустил что-то существенное?
PS : та же конструкция, сборка только на JSON-LD проверена, как и ожидалось:
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "Webpage",
"id": "https://www.example.com#Webpage",
"breadcrumb": {
"@type": "BreadcrumbList",
"@id": "https://www.example.com#BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"id": "https://www.example.com#ListItem"
}
]
}
}
</script>
<script type="application/ld+json">
{
"@context": "http://schema.org",
"@type": "ListItem",
"id": "https://www.example.com#ListItem",
"position": "1",
"item": {
"@id": "https://www.example.com/item1",
"name": "name1"
}
}
}
</script>