很多站长把面包屑当成页面顶端的一行小字,加不加都行。但在抓取视角里,面包屑承担着一件事:把当前页面在站点中的位置,用可点击的文字说清楚。它既方便用户回退,也帮蜘蛛确认栏目与内容之间的归属关系。
先看清两种常见做法
- 层级面包屑:首页 > 栏目 > 子栏目 > 正文,反映目录结构,和 URL 路径大体对应。
- 属性面包屑:首页 > 标签 > 当前页,反映聚合关系,路径未必和目录一致。
两种都可以,但同一个站点里最好不要混着用。混用之后,同一篇文章可能同时挂在栏目和标签下面,层级信息就会互相打架。
四个高频问题
1. 中间层级变成纯文本
当前页不可点击是对的,但如果中间几层也被写成纯文本,蜘蛛拿到的就只是一串没有出口的文字。建议中间层级保留可点击链接,让它能顺着往上走。
2. 层级和 URL 对不上
面包屑显示“首页 > 教程 > 入门”,URL 却是 /news/2024/xxx.html。用户和蜘蛛会收到两套位置信息。改版过的站点尤其容易这样,栏目迁移后忘了同步面包屑。
3. 靠脚本拼接
如果面包屑是前端脚本按 URL 切分生成的,初始 HTML 里可能什么都没有。能接受的方案是服务端渲染或静态输出,至少让 HTML 源码里能看到完整路径。
4. 层级太深或跳层
首页直接跳到很细的长尾页,中间缺少过渡,会让人看不清归属。层级过深时建议适当合并,别让路径长得像地址簿。
一份可执行的自查清单
- 打开几个不同类型的页面,查看 HTML 源码,确认面包屑在源码里,而不是渲染后才出现。
- 对比面包屑层级和 URL 目录,两者不一致就逐个栏目核对。
- 抽样看抓取日志,确认蜘蛛能沿着面包屑里的链接走到栏目页。
- 检查栏目页与详情页的最后一级命名是否一致,别一处写“资讯”,一处写“新闻”。
- 确认没有同时出现两个同级项,也没有出现并不存在的栏目名。
结构化数据可以加,但要和页面对得上
BreadcrumbList 这类标记能让搜索引擎更清楚层级,前提是标记里的名称、顺序、链接和页面上真实显示的一致。为了凑层级补一个不存在的中间页,或者标记里的链接指向 404,只会带来新的麻烦。没有把握时,先把页面上的面包屑做对。
和内链一起看,别指望它包办一切
面包屑是一种重复出现的导航,它能保证每个详情页至少有一条回栏目的路径。但它不该是唯一入口:栏目页里要有指向重点内容的正文链接,正文里也要有指向相关内容的上下文链接。面包屑负责“回到上一层”,正文内链负责“横向发现”,两者分工不同。
改版与栏目合并时别漏掉它
栏目合并、改名之后,面包屑往往是最容易被漏掉的一处。建议在改版清单里单列一项:新旧栏目名、新旧 URL、面包屑文本一起改。过渡期内如果旧栏目还在,可以暂时保留旧名称,但别让同一个页面出现两套互相矛盾的路径。
面包屑不是装饰,它是页面对外声明“我属于谁”的一句话。把这句话写清楚,比在页面里堆一排导航条更有用。