搜索抓取

蜘蛛从哪里知道一个新 URL:Sitemap 之外的几条递线索通道

新页面上线后迟迟没被抓,很多时候不是服务器的问题,而是地址根本没递到蜘蛛眼前。本文把常见的 URL 发现入口梳理一遍:Sitemap、站内链接、列表与归档页、RSS、站长平台提交和外链,并说明怎么用日志确认线索有没有被走到,以及几个容易走偏的做法。

搜索抓取

蜘蛛从哪里知道一个新 URL:Sitemap 之外的几条递线索通道

发现和抓取,是前后两步

站点新页面出来之后,蜘蛛不会自动知道它存在。它得先发现这个地址,把地址放进待抓队列,之后才谈得上抓取。所以当页面迟迟没有出现在抓取记录里,第一步要排查的往往不是服务器配置,而是:这个地址有没有被递到蜘蛛能看见的地方。

发现渠道越多、越稳定,新 URL 进入队列的速度就越可控。但任何渠道都只是递线索,不等于一定被抓、更不等于被收录。

常见的几个发现入口

Sitemap

Sitemap 是最直白的清单,把 URL 集中列出来,蜘蛛不需要顺着一层层链接去走就能拿到全貌。它适合批量交接新栏目、历史归档这类结构规整的页面。使用时注意几点:只放能返回 200 的地址;分片文件里的 URL 数量别超出上限;更新字段按实际情况填,不要为了催抓把时间写成当下,长期对不上,这个字段就失去参考意义了。

站内链接

真正的主干道还是内链。蜘蛛顺着链接走,比读清单更符合它的日常习惯,也更容易判断页面之间的关系。新页面至少要有一条从首页可以点到的路径,哪怕要经过两三层。如果它只挂在某个冷门页面上,或者只能靠站内搜索触发,被发现的时间就会被拉长。

列表页与归档页

很多站点的“最新”“归档”“标签”页面天然是 URL 的集散地。让这类页面正常访问、分页可达,把新内容及时挂上去,比额外做别的动作更有效。反过来,如果列表页本身被 robots 挡了、或者翻页按钮是纯 JS 跳转且蜘蛛走不到,新页面就会一起被埋住。

RSS / Atom

如果站点有订阅源,它也是蜘蛛会读的入口之一。更新内容时源文件同步刷新,能起到提示作用。不过并非所有搜索引擎都会规律轮询订阅源,它更适合当成补充渠道,而不是主力。

站长平台提交

多数搜索引擎提供手动提交单个 URL 或提交 Sitemap 的入口。新页面上线后提交一次,作为加速手段没问题。它不保证立刻抓取,只是把线索放进了渠道;反复提交同一个地址并不会让它来得更快。

外部链接

别人引用你的新页面,相当于从站外递了一条线索进来。这部分不可控,但能主动做的是:把重要页面放在结构清晰、容易被引用和分享的位置,别让它们藏在深层目录里。

递了线索之后,怎么确认有没有被走

最直接的办法是看服务器日志,重点看这几项:

  • 日志里有没有出现蜘蛛标识,请求的是哪个具体地址;
  • 新 URL 首次被抓的时间,距离上线隔了多久;
  • 这个地址是从哪条路径进来的,是 Sitemap 直接抓取,还是从列表页点进来;
  • 返回状态码是不是 200,中途有没有被重定向、被限速或被安全策略拦下。

如果日志里完全没有这条地址,基本说明卡在发现环节,这时候改服务器参数意义不大;如果日志里有请求但状态码异常,那就是抓取环节的问题,得换个方向排查。

几个容易走偏的做法

  • 把 Sitemap 当成唯一手段,站内却不给新页面留入口;
  • 为了催抓频繁改动 Sitemap 的更新时间字段;
  • 新页面上线时正好被登录墙、验证码或临时规则挡住;
  • 把大量低质、重复的地址塞进清单,稀释了真正需要被抓的那部分。
把发现渠道想成几条并行的路:能顺链接走通的,就不要只依赖清单;能稳定更新的列表页,就不要让它断在第二页之后。线索递到位,剩下的交给抓取节奏。