搜尋抓取

抓取深度與連結位置:蜘蛛走到第几跳會放慢脚步

蜘蛛從入口頁出發,顺着連結一层层往外走,越深的頁面被抓得越少。這篇文章讲清楚連結放在導航、正文還是頁脚,對蜘蛛跟鏈的影响有什么不同,锚文本能起什么作用,以及列表翻頁過深、缺少聚合入口這几類常见問题。最後给出把重要頁面往上提的几種做法,以及用日誌核對效果的方式。

搜尋抓取

抓取深度與連結位置:蜘蛛走到第几跳會放慢脚步

抓取深度不是说给蜘蛛听的,是它的實际走法

蜘蛛從一個入口頁出發,顺着頁面上的連結一层层往外走。首頁直接指向的那批 URL,通常被抓得最勤、重訪間隔最短;再往外第二跳、第三跳,次數和频率會依次下降。這個規律大多能從訪問日誌里看出来——把日誌按 URL 归類,排一下被訪問的次數,往往就是一張“越靠近首頁越密”的分布图。

所以当某個頁面長時間没被抓,先別急着归因到“蜘蛛不喜欢我”。更常见的解释是:它在站内需要很多跳才能走到,而且路上没什么像样的入口。

連結放在哪,比連結有几個更重要

主導航與栏目頁

首頁、栏目頁上的固定導航連結,是蜘蛛每次来訪都會重新经過的路。這里的連結稳定、位置固定,适合挂那些你希望長期保持抓取狀態的頁面。

正文里的上下文連結

文章正文中指向相關内容的連結,位置靠前、语义相關,蜘蛛一般會跟着走。它的問题是不稳定:同一篇内容換了編輯,連結可能就没了。适合当补充入口,不适合当唯一入口。

頁脚、侧栏與推荐位

這些位置在頁面上重复出現,蜘蛛也會走,但對新内容的带動有限。它們更适合放全站性的入口,比如分類總览、帮助中心、站点地图頁。

锚文本是给蜘蛛的一点提示

锚文本不直接决定抓取,但它能帮蜘蛛判断連結指向的頁面大致是什么。全站清一色的“点击這里”“查看更多”,等于把這点提示浪費掉了。改成“上一篇:xxx”“同栏目:xxx”這類带信息的寫法,成本很低。

容易被忽略的“越走越深”

  • 列表頁每頁只放十几條,較早的内容要翻到几十頁之後才出現;
  • 栏目只有一頁,没有按時間或标簽再做二級聚合;
  • 内容只在站内搜尋结果的 URL 里出現,而搜尋頁本身又被 robots 拦掉;
  • 新内容發布後,只有栏目第一頁會變,其他入口一動不動。

這几條的共同点不是“蜘蛛不来”,而是“来了也走不到”。

把重要頁面往上提的几種做法

  1. 做聚合入口。按時間、标簽、专题做出二級列表頁,把散落的内容归到几個稳定的入口下。
  2. 控制翻頁深度。让最需要被抓的内容尽量落在前几頁,或者用分頁之外的聚合頁承接舊内容。
  3. 用相關推荐做横向连接。让同一主题的頁面互相指路,减少對首頁层級的依赖。
  4. 面包屑保持可点。它是蜘蛛回退和理解层級结构的現成路径。

改完之後怎么核對

改動不會立刻反映在抓取上,观察周期通常按周算。可以對照日誌看三件事:目标 URL 的抓取次數有没有變化、首次被抓與發布之間的時間差有没有缩短、同一目錄下頁面的抓取分布是不是更均匀了。如果只是首頁抓取變多、深處的頁面没動,說明連結加得不痛不痒,得回到“這批頁面到底從哪進”這個問题上。

层級調整不是一次性工程。站点内容在長,入口结构也得跟着長,否則今天提上来的頁面,過几個月又會被新内容压到下面去。