做站内連結的时候,很多人只關心“有没有鏈”,不太關心“鏈在哪儿”。但實际上,連結在頁面里出現的位置,會直接影响搜尋蜘蛛先看到哪些 URL、多久看到一次、以及愿不愿意顺着繼續往下走。
蜘蛛是按 HTML 顺序讀頁面的
搜尋蜘蛛拿到一個頁面的 HTML 之後,是從上往下解析的。靠前的連結會先進入待抓取队列,靠後的連結排在後面。這不是说頁脚連結不會被發現,而是它的處理顺序通常更靠後,遇到抓取预算紧張的时候,被推迟的概率也更高。
所以同样的两個連結,放在主導航和放在頁脚最底部,被發現的节奏可能差不少。
主導航:抓取路径的骨架
全站導航出現在每個頁面的固定位置,蜘蛛走到任何一個頁面都能看到同一组入口,這组連結實际上构成了抓取路径的主干。栏目頁、分類頁、重要聚合頁放在這里最合适。
- 數量控制在合理范围,避免導航里塞進几十個連結
- 层級清晰,一級栏目下面再展開二級,不要把所有入口平铺
- 保持稳定,频繁改動導航會让蜘蛛重新摸索路径
正文連結:新 URL 最自然的出场方式
正文里的連結带着上下文,蜘蛛能顺着周围的文字判断這個地址大概讲什么,和目标頁面的相關性通常比導航連結更明确。新發布的頁面第一次被發現,很多时候就是靠正文里的一條引用。
比較實用的做法是:在系列文章、相關阅讀、上一頁下一頁這類位置,把新地址鏈出去。既對用戶有用,也给了蜘蛛一條明确的通道。
侧栏和頁脚:补充,不是主力
侧栏和頁脚是全站出現的,适合放一些常用入口,比如热门内容、帮助中心、站点地图頁面。它們的作用是让蜘蛛在任意頁面都有机會回到這些位置,而不是靠它們去發現全部新頁面。
如果頁脚堆了几百條連結,效果往往适得其反:連結越多,單條連結分到的關注度越少,而且頁脚連結本身位置靠後,優先級本来就不高。
几個容易被忽略的位置問题
- 靠 JS 插入的導航:如果導航是執行时才生成的,源碼里没有對應的 a 标簽,蜘蛛很可能看不到
- 折叠菜單和标簽頁:内容預設收起、需要点击才展開的,連結不一定在初始 HTML 里
- 正文中間穿插大量無關連結:會分散注意力,也不利于蜘蛛判断頁面主题
- 同一地址在頁面里鏈了很多次:連結次數多不等于權重高,适当重复就够
怎么驗證位置有没有起作用
最简單的办法是查看網頁源代碼,確認連結是不是真的寫在 HTML 里,而不是等脚本执行後才出現。再结合服務器日誌,看蜘蛛實际先抓了哪些地址,和你预期的入口是否一致。
連結位置不會直接决定收錄,但它决定了蜘蛛到達一個新地址的路径是否顺畅。把重要入口放在蜘蛛容易先看到的位置,是一種成本很低的做法。