面包屑導航经常被当成“锦上添花”的装饰,放在頁面顶部,用戶不太点,运营也不太管。但對搜尋引擎来说,它是少有的、能直接說明“這個頁面在站点里處于哪一层”的信号。层級清楚了,蜘蛛在分配抓取、判断頁面位置时才有依據。
下面這份自查清單按從易到难的顺序排列,可以逐項過一遍。
一、先確認面包屑是不是真的可点击
很多模板里的面包屑只是几段纯文本,用分隔符连起来,看着像路径,但每一层都不是連結。這種寫法對用戶够用,對搜尋引擎几乎没用——它拿不到上下級頁面的入口。
- 每一层(除目前頁外)都應该是真實的連結,指向對應栏目頁。
- 連結不要指向站内搜尋结果頁或參數拼出来的聚合頁。
- 目前頁放在最後,不加連結,也不要指向自身。
二、层級要和 URL 路径對得上
面包屑描述的是层級,URL 也是层級的表達。两者如果打架,蜘蛛就得猜。比如面包屑顯示“首頁 > 教程 > 入门”,URL 却是 /article/12345,這就等于少了一條线索。
不必强求所有站点都用目錄式 URL,但如果你的 URL 本身带层級,就尽量让两邊一致;如果 URL 是扁平的數字 ID,那就让面包屑承担起层級說明的责任,並在栏目頁里用内鏈互相印證。
三、別让面包屑和主導航各说各话
有的站点面包屑寫“首頁 > 产品 > 分類 A”,主導航里這個頁面却挂在“解决方案”下面。這種不一致不一定立刻出問题,但會让层級判断變得模糊。改版时尤其容易留下這類歷史遗留。
面包屑、主導航、URL、站点地图说的是同一件事时,蜘蛛的判断成本最低。任何一處出現分歧,都要問一句:這是有意的,還是没對齐?
四、结构化資料要不要加
BreadcrumbList 能把层級關系用更明确的方式寫出来。可以加,但不是必须。如果要加,注意两点:
- 标记里的层級顺序、名稱、連結必须和頁面上可见的面包屑一致,不要只寫在代碼里而頁面上没有。
- 最後一級可以不带連結,但名稱要和頁面标题對得上,別寫成一個含糊的词。
五、几個容易被忽略的细节
- 首頁連結:用站点主域名,不要用带參數的首頁地址。
- 分隔符:用 >、/ 或 » 都可以,但全站统一。
- 移動端:小屏上常被折叠或隐藏,確認隐藏方式不會把連結從 DOM 里删掉。
- 层級過深:如果面包屑動辄五六层,先回头看栏目規划,而不是繼續加层級。
- 标簽頁與专题頁:這類頁面往往没有自然层級,與其硬凑一條面包屑,不如不顯示。
六、改完之後怎么驗證
挑几個不同類型的頁面(栏目頁、内容頁、聚合頁),直接查看源碼,確認面包屑是連結而不是文本;再用抓取工具看渲染後的 DOM,確認没有因為脚本而丢失。最後回到服務器日誌,观察這些层級頁面的抓取是否正常,有没有出現只抓栏目頁、内容頁進不去的情况。
面包屑的改動量很小,但它把所有頁面的层級關系顯性化了一次。對蜘蛛来说,這種“少猜一次”的收益,往往比临时加一堆外鏈更稳定。