搜索抓取

抓取深度与链接位置:蜘蛛走到第几跳会放慢脚步

蜘蛛从入口页出发,顺着链接一层层往外走,越深的页面被抓得越少。这篇文章讲清楚链接放在导航、正文还是页脚,对蜘蛛跟链的影响有什么不同,锚文本能起什么作用,以及列表翻页过深、缺少聚合入口这几类常见问题。最后给出把重要页面往上提的几种做法,以及用日志核对效果的方式。

搜索抓取

抓取深度与链接位置:蜘蛛走到第几跳会放慢脚步

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

蜘蛛从一个入口页出发,顺着页面上的链接一层层往外走。首页直接指向的那批 URL,通常被抓得最勤、重访间隔最短;再往外第二跳、第三跳,次数和频率会依次下降。这个规律大多能从访问日志里看出来——把日志按 URL 归类,排一下被访问的次数,往往就是一张“越靠近首页越密”的分布图。

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

链接放在哪,比链接有几个更重要

主导航与栏目页

首页、栏目页上的固定导航链接,是蜘蛛每次来访都会重新经过的路。这里的链接稳定、位置固定,适合挂那些你希望长期保持抓取状态的页面。

正文里的上下文链接

文章正文中指向相关内容的链接,位置靠前、语义相关,蜘蛛一般会跟着走。它的问题是不稳定:同一篇内容换了编辑,链接可能就没了。适合当补充入口,不适合当唯一入口。

页脚、侧栏与推荐位

这些位置在页面上重复出现,蜘蛛也会走,但对新内容的带动有限。它们更适合放全站性的入口,比如分类总览、帮助中心、站点地图页。

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

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

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

  • 列表页每页只放十几条,较早的内容要翻到几十页之后才出现;
  • 栏目只有一页,没有按时间或标签再做二级聚合;
  • 内容只在站内搜索结果的 URL 里出现,而搜索页本身又被 robots 拦掉;
  • 新内容发布后,只有栏目第一页会变,其他入口一动不动。

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

把重要页面往上提的几种做法

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

改完之后怎么核对

改动不会立刻反映在抓取上,观察周期通常按周算。可以对照日志看三件事:目标 URL 的抓取次数有没有变化、首次被抓与发布之间的时间差有没有缩短、同一目录下页面的抓取分布是不是更均匀了。如果只是首页抓取变多、深处的页面没动,说明链接加得不痛不痒,得回到“这批页面到底从哪进”这个问题上。

层级调整不是一次性工程。站点内容在长,入口结构也得跟着长,否则今天提上来的页面,过几个月又会被新内容压到下面去。