必须用itemtype="https://schema.org/BreadcrumbList",Google等只识别该类型;HTTP协议、缺少List或大小写错误均导致解析失败,且须配合itemscope使用于块级元素。

面包屑导航必须用 itemtype="https://schema.org/BreadcrumbList" 吗
必须。Google 和其他主流结构化数据消费者只识别 BreadcrumbList 这一类型,用 ItemList 或自定义 URI 会导致解析失败,即使 HTML 渲染正常,富文本摘要也不会出现。
常见错误是套用旧教程里的 http://schema.org/BreadcrumbList(HTTP 协议),现在必须用 HTTPS;也有人误写成 https://schema.org/Breadcrumb(少 List),这属于无效类型,Google Rich Results Test 会直接报 “No structured data detected”。
-
itemtype值只能是https://schema.org/BreadcrumbList(全小写、无空格、协议必须为 HTTPS) - 必须配合
itemscope使用,不能只写itemtype - 父容器必须是块级元素(如
<nav>或<div>),不能直接挂在<ol>上再嵌套itemscope—— 那样会破坏层级语义
如何正确嵌套 ListItem 并设置 position
BreadcrumbList 下每个节点必须是 ListItem,且 position 必须从 1 开始连续递增,不能跳号、不能重复、不能用字符串(如 "1")代替数字。
典型错误:把首页的 position 设为 0;或在中间某级漏掉一个 ListItem 导致序号断开;或把 position 放在 <a> 标签上(应放在包裹该链接的 <li> 的 itemscope 元素上)。
立即学习“前端免费学习笔记(深入)”;
<nav aria-label="Breadcrumb">
<ol itemscope itemtype="https://schema.org/BreadcrumbList">
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/"><span itemprop="name">Home</span></a>
<meta itemprop="position" content="1">
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<a itemprop="item" href="/blog/"><span itemprop="name">Blog</span></a>
<meta itemprop="position" content="2">
</li>
<li itemprop="itemListElement" itemscope itemtype="https://schema.org/ListItem">
<span itemprop="name">How to Use itemtype</span>
<meta itemprop="position" content="3">
</li>
</ol>
</nav>
itemprop="item" 必须指向可访问的 URL 吗
是的。Google 明确要求当前页(即最后一项)的 item 也必须有 @id 或有效 href,哪怕它只是当前 URL。如果最后一级用 <span> 而非 <a>,又没补 item 的 @id,就会被判定为“不完整路径”,导致结构化数据失效。
解决方案只有两个:<a href="当前页面URL">(推荐),或显式添加 <link itemprop="item" href="当前页面URL">(需放在同级 itemscope 内)。
- 最后一项的
itemprop="item"必须存在,且其href或@id必须与当前页面 URL 完全一致(含 trailing slash 差异) - 不要用 JavaScript 动态注入
itemprop属性——搜索引擎抓取时通常不执行 JS,结构化数据将不可见 - 避免在
item中混用相对路径和绝对路径,统一用绝对 URL(如https://example.com/blog/)更稳妥
为什么验证通过了但搜索结果没显示富摘要
结构化数据验证器(如 Google Rich Results Test)只检查语法合法性,不保证展示。面包屑富摘要实际生效还依赖:页面被 Google 真实收录、该 URL 在搜索结果中具备足够曝光权重、且用户搜索词触发了面包屑上下文(比如搜“site:example.com how to use itemtype”可能不触发,但搜“html breadcrumb schema”更可能)。
另一个高频盲区:面包屑结构必须与页面真实层级严格对应。例如页面 URL 是 /blog/category/react/item.html,但面包屑显示 “Home > Docs > React”,而实际站点根本没有 /docs/ 这个路径,Google 会认为数据不可信,长期可能降权该标记。
最后注意缓存:修改后需在 Google Search Console 提交 URL 并请求重新索引,CDN 或服务器端缓存也可能延迟更新已抓取的结构化数据。



















