发现和抓取,是前后两步
站点新页面出来之后,蜘蛛不会自动知道它存在。它得先发现这个地址,把地址放进待抓队列,之后才谈得上抓取。所以当页面迟迟没有出现在抓取记录里,第一步要排查的往往不是服务器配置,而是:这个地址有没有被递到蜘蛛能看见的地方。
发现渠道越多、越稳定,新 URL 进入队列的速度就越可控。但任何渠道都只是递线索,不等于一定被抓、更不等于被收录。
常见的几个发现入口
Sitemap
Sitemap 是最直白的清单,把 URL 集中列出来,蜘蛛不需要顺着一层层链接去走就能拿到全貌。它适合批量交接新栏目、历史归档这类结构规整的页面。使用时注意几点:只放能返回 200 的地址;分片文件里的 URL 数量别超出上限;更新字段按实际情况填,不要为了催抓把时间写成当下,长期对不上,这个字段就失去参考意义了。
站内链接
真正的主干道还是内链。蜘蛛顺着链接走,比读清单更符合它的日常习惯,也更容易判断页面之间的关系。新页面至少要有一条从首页可以点到的路径,哪怕要经过两三层。如果它只挂在某个冷门页面上,或者只能靠站内搜索触发,被发现的时间就会被拉长。
列表页与归档页
很多站点的“最新”“归档”“标签”页面天然是 URL 的集散地。让这类页面正常访问、分页可达,把新内容及时挂上去,比额外做别的动作更有效。反过来,如果列表页本身被 robots 挡了、或者翻页按钮是纯 JS 跳转且蜘蛛走不到,新页面就会一起被埋住。
RSS / Atom
如果站点有订阅源,它也是蜘蛛会读的入口之一。更新内容时源文件同步刷新,能起到提示作用。不过并非所有搜索引擎都会规律轮询订阅源,它更适合当成补充渠道,而不是主力。
站长平台提交
多数搜索引擎提供手动提交单个 URL 或提交 Sitemap 的入口。新页面上线后提交一次,作为加速手段没问题。它不保证立刻抓取,只是把线索放进了渠道;反复提交同一个地址并不会让它来得更快。
外部链接
别人引用你的新页面,相当于从站外递了一条线索进来。这部分不可控,但能主动做的是:把重要页面放在结构清晰、容易被引用和分享的位置,别让它们藏在深层目录里。
递了线索之后,怎么确认有没有被走
最直接的办法是看服务器日志,重点看这几项:
- 日志里有没有出现蜘蛛标识,请求的是哪个具体地址;
- 新 URL 首次被抓的时间,距离上线隔了多久;
- 这个地址是从哪条路径进来的,是 Sitemap 直接抓取,还是从列表页点进来;
- 返回状态码是不是 200,中途有没有被重定向、被限速或被安全策略拦下。
如果日志里完全没有这条地址,基本说明卡在发现环节,这时候改服务器参数意义不大;如果日志里有请求但状态码异常,那就是抓取环节的问题,得换个方向排查。
几个容易走偏的做法
- 把 Sitemap 当成唯一手段,站内却不给新页面留入口;
- 为了催抓频繁改动 Sitemap 的更新时间字段;
- 新页面上线时正好被登录墙、验证码或临时规则挡住;
- 把大量低质、重复的地址塞进清单,稀释了真正需要被抓的那部分。
把发现渠道想成几条并行的路:能顺链接走通的,就不要只依赖清单;能稳定更新的列表页,就不要让它断在第二页之后。线索递到位,剩下的交给抓取节奏。