搜索抓取

蜘蛛的入口页:它每天从哪些 URL 开始爬

蜘蛛每天的抓取从入口页开始,首页、Sitemap、外链和历史记录都是常见起点。入口太少,或者入口都指向同一批 URL,深层页面的发现就会明显变慢。本文梳理入口页的作用与类型,以及入口页稳定性对整站抓取节奏的影响。

搜索抓取

蜘蛛的入口页:它每天从哪些 URL 开始爬

蜘蛛每天开工时,并不会随便挑一个 URL 开始抓。它手里是一份已知 URL 的清单,从中选出本轮的起点。起点选在哪里,很大程度上决定了这一轮抓取能覆盖到站点的哪些角落。讨论抓取路径、Sitemap 和内链时,很少有人单独看“入口”这一环,但它其实是所有抓取路径的第一个分叉点。

入口页不只是首页

很多人默认蜘蛛从首页开始,然后顺着导航往下走。实际情况更杂一些:首页只是最稳定的入口之一,蜘蛛还会从 Sitemap、外链、历史抓取记录以及上一轮没抓完的队列里挑起点。几类常见入口大致是这样:

  • 首页和主栏目页:长期存在、链接密集,通常是默认起点。
  • Sitemap 中列出的 URL:给了蜘蛛一条绕开层级、直接跳到深层的通道。
  • 外部链接指向的 URL:尤其是被多个站点链接的页面,容易被单独挑出来抓。
  • 历史记录中变化频繁或长期未回访的 URL:更新节奏稳定的页面,回访间隔也相对稳定。

这四类入口对应的是不同的发现逻辑:内链是顺藤摸瓜,Sitemap 是清单直达,外链是外部投票,历史记录是记忆延续。它们互相补充,任何一条断了,抓取压力都会往另一条上压。

入口太窄,深层页面就被拖住

如果首页几乎不挂链接,Sitemap 又只有寥寥几条,蜘蛛能拿到的起点就非常有限。这时候即使站内有几千个正常页面,它们也只能排在队列后面等,发现速度成倍下降。反过来,入口很多但都指向同一批 URL,效果和入口很少差不多——蜘蛛绕了一圈,能走的路还是那几条。

还要注意一点:入口多不等于抓得多。入口的价值在于“能通向多少不同的 URL”,而不是“提交了多少条”。Sitemap 里堆大量参数页、重复页,反而会把抓取预算摊薄,让真正需要抓的页面排队更久。

把入口铺开,几个能落地的做法

  • 保证首页和主栏目页稳定返回 200,不要因为改版、A/B 测试或中间层拦截而临时变成跳转或错误页。
  • 让 Sitemap 覆盖到最需要被抓的那一层,而不是把所有 URL 一股脑塞进去。
  • 重要的详情页至少有一条来自栏目页或相关推荐位置的普通链接,不要只靠 JS 渲染出来的链接。
  • 新内容发布后,从已被频繁抓取的页面给出链接,让它有机会被顺带发现。
  • 专题页、聚合页如果长期维护,可以当次级入口用;如果只是临时活动页,用完就撤,别长期留在导航里。

入口页挂掉,损失的是整条路径

入口页和普通页面对服务器稳定性的敏感度不一样。普通页面暂时 5xx,损失的是一个 URL;入口页持续 5xx 或响应时间很长,损失的是它下游那一整片页面的发现机会,而且蜘蛛会据此下调对整站的抓取节奏。所以监控的重点可以往入口页倾斜:首页、主栏目页、Sitemap 文件本身的可用性和响应时间,比一个深处详情页更值得盯。

入口页出问题,不是少抓一个页面,而是少了一整条路径的起点。

日志里怎么看入口和抓取分布

访问日志不会直接标出“本次入口是哪个”,但能看出的信息不少:某段时间内抓取是集中在首页和少数几个栏目,还是均匀分布在多个层级;新发布的 URL 从上线到第一次被抓,中间隔了多久;Sitemap 里的 URL 是否真的被逐个访问过。这些都能侧面反映入口是否够用、路径是否通畅。

把入口当作抓取链路的第一段来对待,比只盯着单个页面优化更容易看出变化——路径再顺,起点不通,后面的安排都无从谈起。