使用 Schema.org 的 BreadcrumbList 标记面包屑导航可提升搜索结果路径展示的准确性与点击率,需严格按顺序定义 itemListElement 数组,每个 ListItem 包含从1开始连续递增的 position、name 和 item,且必须与 HTML 面包屑完全一致。

用 Schema.org 的 BreadcrumbList 标记面包屑导航,是告诉搜索引擎当前页面在网站层级结构中的位置,提升搜索结果中路径展示的准确性与点击率。
使用 BreadcrumbList 结构化数据类型
面包屑必须用 https://schema.org/BreadcrumbList 类型定义,不能用 SiteNavigationElement 或其他类型替代。它要求一个有序的 itemListElement 数组,每个元素代表一级导航,按从左到右(即从首页到当前页)的顺序排列。
- 每个
itemListElement是ListItem类型,需包含position(序号,从 1 开始)、name(链接文字)和item(URL 或完整Thing对象) -
position必须严格递增且连续,比如 1 → 2 → 3;跳号或重复会导致解析失败 - 末级(当前页)的
item可以是 URL 字符串,也可以是带@id的完整对象(推荐后者,便于关联页面实体)
JSON-LD 实现示例(推荐方式)
将以下 JSON-LD 嵌入页面 <head> 中(注意替换实际 URL 和名称):
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [
{
"@type": "ListItem",
"position": 1,
"name": "首页",
"item": "https://example.com/"
},
{
"@type": "ListItem",
"position": 2,
"name": "产品中心",
"item": "https://example.com/products/"
},
{
"@type": "ListItem",
"position": 3,
"name": "无线耳机",
"item": "https://example.com/products/wireless-headphones/"
},
{
"@type": "ListItem",
"position": 4,
"name": "AirSound Pro",
"item": "https://example.com/products/wireless-headphones/airsound-pro/"
}
]
}
✅ 优势:不干扰 HTML 渲染,语义清晰,Google 等主流引擎支持良好;❌ 避免把 JSON-LD 放在 <body> 末尾或用内联脚本动态注入(可能被忽略)。
立即学习“前端免费学习笔记(深入)”;
与 HTML 面包屑保持一致
结构化数据中的层级必须与用户可见的 HTML 面包屑完全对应——包括文字、顺序、链接目标和层级深度。
- 如果 HTML 中「产品中心」链接跳转的是
/category/products,结构化数据里item就不能写成/products/ - 若某级面包屑无超链接(如当前页),结构化数据中仍要保留该
ListItem,item填当前页面 URL 即可 - 避免添加用户看不到的隐藏层级(如“全部分类”“所有品牌”),否则会被视为误导性标记
验证与常见问题
发布后务必用 Google Rich Results Test 或 Schema Markup Validator 检查:
- 是否报错
Missing field 'item'?→ 每个ListItem都必须有item - 是否提示
Position values must be numeric and start at 1?→ 检查position是否为整数、是否从 1 开始、是否连续 - 搜索结果未显示富摘要?→ 确保页面已被 Google 收录,且面包屑在真实用户访问时可见(非仅登录后或 JS 渲染)



















