做 URL 发现的人常陷入一个循环:每天提交一批地址,后台提示“已提交”,就默认蜘蛛会来。实际上,提交只是把地址放进了候选池,蜘蛛来不来、来了能不能走通、走通了会不会留下,是三件独立的事。把渠道拆开验证,才知道资源该往哪投。
先分清提交量和抓取量
提交量是自己动作的次数,抓取量是蜘蛛实际发出的请求。两者之间隔着服务器响应、路径可达性和蜘蛛自己的取舍。很多站点的问题不是“没提交”,而是提交的地址在站内没有一条像样的路径能到,蜘蛛点进来发现是孤岛,下一次就不来了。
三个渠道各自擅长什么
- 蜘蛛池一类的入口渠道:作用偏“曝光”,能在较短时间内把一批 URL 推到蜘蛛面前,适合新域名、新目录的早期冷启动。它决定的是“被看到”,不决定“被走通”。
- Sitemap:成批、可续传、成本低,适合老页面盘点和改版后重新声明。它的短板是不带上下文,蜘蛛看不出一条 URL 该从哪进、和谁相关。
- 内链:唯一能同时表达“存在”和“重要”的渠道。深度、锚文本、所在板块,都在这里传递。入口渠道送来的蜘蛛,如果落地页没有像样的内链出口,多半会原路返回。
交叉验证的具体做法
- 建一份主清单:从 CMS 或数据库导出全部 URL,标注上线时间和所属板块。
- 错开时间窗:不同渠道分批提交,间隔一天以上,方便在日志里按首次出现时间归因。
- 抽样比对:每个渠道抽 200 到 300 条,隔 3 到 7 天去日志里找这些路径,重点看三件事——有没有请求、状态码是什么、下载字节数是否和页面实际大小接近。
- 算转化率:某一批提交 1000 条、实际被抓 180 条,另一批提交 300 条、被抓 240 条,差距本身就是结论,不必再猜。
字节数这一项常被忽略。状态码是 200 但字节数只有几十,多半是空壳页或被拦截的页面,属于“抓到了但没抓到东西”,要单独归类,不能算有效抓取。
三种常见偏差
只提交,不接通内链
入口渠道把蜘蛛带到一篇内容页,而这页除了返回列表没有任何指向同类内容的链接,蜘蛛走到这里就是终点。做法很简单:在正文下方给出同栏目 5 到 8 条相关链接,在面包屑里保留回到上下级的路径。
Sitemap 里塞了不该出现的 URL
筛选参数、排序参数、深翻页如果全写进 Sitemap,等于主动扩大重复抓取面。Sitemap 只放规范地址,参数页交给内链按需引导,别让它替你做筛选。
入口页本身不可抓
入口渠道给的落地页如果依赖脚本渲染、需要登录、或者直接返回 5xx,蜘蛛第一次的印象就定型了,后续回访频次会明显下降。上线前用不带 Cookie 的请求自己走一遍,是最省事的自检。
调整的顺序
先修服务器和内链,再谈渠道数量。顺序反了,投得越多,浪费越多。比较稳的状态是:内链把主路径铺好,Sitemap 做兜底和盘点,入口渠道只在冷启动阶段补一脚。三者对得上,日志里的抓取曲线才会慢慢跟上内容更新的节奏。
渠道能帮 URL 更快被看到,但决定蜘蛛愿不愿意继续走的,始终是站点自己那条走得通的路。