我们使用BreadcrumbList
提供的示例使用RDFa格式显示面包屑。当将以下示例插入Google's Structured Data Testing Tool时,会出现以下错误。
设置:
BreadcrumbList
中的所有item
。item
以纯文本显示。 使用RDFa格式时,最后一个<ol vocab="http://schema.org/" typeof="BreadcrumbList">
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="https://example.com/dresses">
<span property="name">Dresses</span></a>
<meta property="position" content="1">
</li>
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="https://example.com/foo-bar">
<span property="name">foo-bar</span></a>
<meta property="position" content="2">
</li>
<li property="itemListElement" typeof="ListItem">
<span property="name">Real Dresses</span>
<meta property="position" content="3">
</li>
</ol>
的正确格式是什么?
<ol vocab="http://schema.org/" typeof="BreadcrumbList">
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="https://example.com/dresses">
<span property="name">Dresses</span></a>
<meta property="position" content="1">
</li>
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="https://example.com/foo-bar">
<span property="name">foo-bar</span></a>
<meta property="position" content="2">
</li>
<li property="itemListElement" typeof="ListItem">
<div property="item">
<span property="name">Real Dresses</span>
</div>
<meta property="position" content="3">
</li>
</ol>
使用以上代码的最后一项的错误消息:
必须输入item字段的值。
<div property="item">
从上方使用textscan
时出现错误消息:
为item.id提供的值必须是有效的URL。
答案 0 :(得分:2)
我在本地项目中遇到了同样的问题:
LOGIN
抛出错误:必填字段为必填项。
对我来说,可以通过为itemprop提供有效的URL来解决:
@loginName
答案 1 :(得分:1)
即使您不想显示超链接,(当前页面的)最后一项仍然代表网页。
因此,只需将typeof="WebPage"
添加到最后一项的div
:
<div property="item" typeof="WebPage">
您仍可以使用resource
属性提供最后一项的URI(不显示):
<div property="item" typeof="WebPage" resource="https://example.com/real-dresses">
结果是:
<ol vocab="http://schema.org/" typeof="BreadcrumbList">
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="https://example.com/dresses">
<span property="name">Dresses</span></a>
<meta property="position" content="1">
</li>
<li property="itemListElement" typeof="ListItem">
<a property="item" typeof="WebPage" href="https://example.com/foo-bar">
<span property="name">foo-bar</span></a>
<meta property="position" content="2">
</li>
<li property="itemListElement" typeof="ListItem">
<div property="item" typeof="WebPage" resource="https://example.com/real-dresses">
<span property="name">Real Dresses</span>
</div>
<meta property="position" content="3">
</li>
</ol>
答案 2 :(得分:0)
当您不希望使面包屑的最后一个元素成为超链接时,就会出现问题,在大多数情况下,超链接只是指向页面本身的链接。在这种情况下,为避免Google的结构化数据测试工具出错,您也可以自由使用json-ld。
HTML
<ol>
<li>
<a href="https://example.com/dresses">
<span>Dresses</span></a>
</li>
<li>
<a href="https://example.com/foo-bar">
<span>foo-bar</span></a>
</li>
<li>
<div>
<span>Real Dresses</span>
</div>
</li>
</ol>
JSON + LD
<script type="application/ld+json">
{
"@context": "https://schema.org/",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "Dresses",
"item": "https://example.com/dresses"
},{
"@type": "ListItem",
"position": 2,
"name": "foo-bar",
"item": "https://example.com/foo-bar"
},{
"@type": "ListItem",
"position": 3,
"name": "Real Dresses",
"item": "https://example.com/real-dresses"
}]
}
</script>