很多站長把面包屑当成頁面顶端的一行小字,加不加都行。但在抓取视角里,面包屑承担着一件事:把目前頁面在站点中的位置,用可点击的文字说清楚。它既方便用戶回退,也帮蜘蛛確認栏目與内容之間的归属關系。
先看清两種常见做法
- 层級面包屑:首頁 > 栏目 > 子栏目 > 正文,反映目錄结构,和 URL 路径大体對應。
- 属性面包屑:首頁 > 标簽 > 目前頁,反映聚合關系,路径未必和目錄一致。
两種都可以,但同一個站点里最好不要混着用。混用之後,同一篇文章可能同时挂在栏目和标簽下面,层級信息就會互相打架。
四個高频問题
1. 中間层級變成纯文本
目前頁不可点击是對的,但如果中間几层也被寫成纯文本,蜘蛛拿到的就只是一串没有出口的文字。建议中間层級保留可点击連結,让它能顺着往上走。
2. 层級和 URL 對不上
面包屑顯示“首頁 > 教程 > 入门”,URL 却是 /news/2024/xxx.html。用戶和蜘蛛會收到两套位置信息。改版過的站点尤其容易這样,栏目迁移後忘了同步面包屑。
3. 靠脚本拼接
如果面包屑是前端脚本按 URL 切分生成的,初始 HTML 里可能什么都没有。能接受的方案是服務端渲染或静態輸出,至少让 HTML 源碼里能看到完整路径。
4. 层級太深或跳层
首頁直接跳到很细的長尾頁,中間缺少過渡,會让人看不清归属。层級過深时建议适当合並,別让路径長得像地址簿。
一份可执行的自查清單
- 打開几個不同類型的頁面,查看 HTML 源碼,確認面包屑在源碼里,而不是渲染後才出現。
- 對比面包屑层級和 URL 目錄,两者不一致就逐個栏目核對。
- 抽样看抓取日誌,確認蜘蛛能沿着面包屑里的連結走到栏目頁。
- 检查栏目頁與詳情頁的最後一級命名是否一致,別一處寫“资讯”,一處寫“新闻”。
- 確認没有同时出現两個同級項,也没有出現並不存在的栏目名。
结构化資料可以加,但要和頁面對得上
BreadcrumbList 這類标记能让搜尋引擎更清楚层級,前提是标记里的名稱、顺序、連結和頁面上真實顯示的一致。為了凑层級补一個不存在的中間頁,或者标记里的連結指向 404,只會带来新的麻烦。没有把握时,先把頁面上的面包屑做對。
和内鏈一起看,別指望它包办一切
面包屑是一種重复出現的導航,它能保證每個詳情頁至少有一條回栏目的路径。但它不该是唯一入口:栏目頁里要有指向重点内容的正文連結,正文里也要有指向相關内容的上下文連結。面包屑负责“回到上一层”,正文内鏈负责“横向發現”,两者分工不同。
改版與栏目合並时別漏掉它
栏目合並、改名之後,面包屑往往是最容易被漏掉的一處。建议在改版清單里單列一項:新舊栏目名、新舊 URL、面包屑文本一起改。過渡期内如果舊栏目還在,可以暂时保留舊名稱,但別让同一個頁面出現两套互相矛盾的路径。
面包屑不是装饰,它是頁面對外声明“我属于谁”的一句话。把這句话寫清楚,比在頁面里堆一排導航條更有用。