做 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 更快被看到,但决定蜘蛛愿不愿意繼續走的,始终是站点自己那條走得通的路。