面包屑导航需同时满足结构化数据、语义化html和url层级三者一致:用schema.org breadcrumblist json-ld标记,可视部分用包裹列表并正确使用与aria-current,url路径须真实反映层级逻辑且避免重复与断层。

面包屑导航对搜索引擎理解页面在网站中的层级位置非常重要,正确编写能提升页面在搜索结果中的结构化展示(如富文本摘要),也有助于爬虫识别内容归属关系。
使用 Schema.org 的 BreadcrumbList 结构化数据
这是最直接、最被搜索引擎(Google、Bing 等)认可的方式。需在页面 HTML 的 或 顶部添加 JSON-LD 格式的结构化数据:
- 每个
itemListElement表示一个层级,按从左到右(首页 → 分类 → 当前页)顺序排列 -
@id必须是该页面的绝对 URL;name应与可视面包屑文字一致,避免堆砌关键词 - 当前页项的
position值应为最大序号,且item中不要加/结尾(除非实际 URL 就带)
示例(当前页为“无线蓝牙耳机”):
{
"@context": "https://schema.org",
"@type": "BreadcrumbList",
"itemListElement": [{
"@type": "ListItem",
"position": 1,
"name": "首页",
"@id": "https://example.com/"
},{
"@type": "ListItem",
"position": 2,
"name": "数码产品",
"@id": "https://example.com/digital/"
},{
"@type": "ListItem",
"position": 3,
"name": "无线蓝牙耳机",
"@id": "https://example.com/digital/bluetooth-headphones/"
}]
}
HTML 可视面包屑需语义化标记
视觉上显示的面包屑不能只是纯文本或无意义的 <div> 堆砌,要兼顾可访问性和语义清晰度:
<ul>
<li>用 <code><nav aria-label="面包屑导航"></nav> 包裹整个导航区域,明确其功能
<a></a>(非当前页)或 <span></span>(当前页)表示,避免用 <div> 或 <code><p></p> 模拟链接
› 或 SVG 图标,不要用图片;确保屏幕阅读器能自然朗读层级关系示例(简洁语义写法):
<nav aria-label="面包屑导航"><ol>
<li><a href="/>%E9%A6%96%E9%A1%B5</a></li>%0A%20%20%20%20<li><a%20href=">数码产品</a></li>
<li aria-current="page">无线蓝牙耳机</li>
</ol></nav>
URL 路径需真实反映层级逻辑
结构化数据和可视面包屑再规范,若 URL 本身混乱(如 /p-123.html 或 /category?id=456),搜索引擎仍难建立可信层级。关键点:
- 目录名用小写英文+短横线(
/electronics/headphones/),避免拼音或参数 - 当前页 URL 应是面包屑末级路径的自然延伸(如面包屑含“蓝牙耳机”,URL 最好以
/bluetooth-headphones/结尾) - 避免深层嵌套(超过 4 级);必要时通过
<link rel="canonical">明确首选 URL
避免常见错误
以下做法会削弱甚至误导搜索引擎对层级的理解:
- 面包屑中出现“首页”以外的重复词(如“首页 > 产品 > 数码产品 > 数码产品 > 蓝牙耳机”)
- 当前页仍用
<a></a>标签并指向自身(应改用<span></span>或带aria-current="page"的元素) - 结构化数据中
position不连续(如 1, 2, 4),或顺序与可视面包屑不一致 - 移动端隐藏面包屑却不移除结构化数据,造成数据与内容不匹配











