做蜘蛛池和 URL 發現时,很多人會把注意力放在入口頁連結、投放量和 URL 质量上,但抓取量還是没什么變化。這时候有一個更基础的可能:搜尋蜘蛛的請求在到達源站之前,就已经被 CDN、WAF 或主机商的防護策略挡掉了,源站自然看不到任何抓取记錄。
先確認蜘蛛有没有真正到達源站
判断顺序很简單,從外到内一层层看:
- 源站訪問日誌:搜尋蜘蛛的請求是否出現過,返回碼是什么。
- CDN 回源日誌:如果 CDN 有回源日誌,看請求是否被回源,還是被 CDN 直接响應掉了。
- WAF 與防護日誌:是否存在针對搜尋蜘蛛 UA 或高频 IP 的拦截、挑战记錄。
- 服務器防火墙:有些主机商在系統层做了 IP 限速,日誌和 WAF 里都看不到。
如果源站日誌里几乎没有搜尋蜘蛛,而 WAF 或 CDN 侧有大量拦截记錄,問题基本就不在蜘蛛池本身。
容易被誤伤的几類拦截規則
频率限制和 CC 防護
搜尋蜘蛛抓取时经常短時間内請求多個頁面,如果频率阈值设得比較低,正常的抓取也可能被当成攻击流量。表現是抓取量突然下降,或者只有零星几個頁面被抓。
User-Agent 規則
有些防護策略只放行已知的搜尋引擎 UA,但如果規則配置過嚴,或者把来自机房 IP 段的所有請求都当成可疑流量,搜尋蜘蛛同样可能被拦。反過来也要注意,UA 是可以伪造的,只靠 UA 放行並不安全。
JS 挑战和 Cookie 驗證
部分 CDN 預設開啟 JS 挑战或 Cookie 驗證,浏览器能通過,但搜尋蜘蛛通常不會执行這類脚本,结果就是請求被卡在驗證环节。
IP 段和地区限制
如果站点只允许特定地区訪問,而搜尋蜘蛛的出口 IP 不在范围内,抓取請求會直接被拒绝。
怎么放行才算合适
放行不等于把防護全部關掉,可以按下面的顺序處理:
- 先確認訪問者身份,官方公布的搜尋蜘蛛 IP 段和反向 DNS 是主要依據,不要只看 UA。
- 在 WAF 或 CDN 里為確認過的搜尋蜘蛛單獨放宽频率限制,而不是整体關閉 CC 防護。
- 關閉针對搜尋蜘蛛的 JS 挑战、Cookie 驗證,或把它加入白名單。
- 按需放行必要路径。如果只是让蜘蛛發現 URL,不必對後台、接口等路径一並開放。
- 放行後保留日誌,观察一段時間再决定是否調整阈值。
放行之後還要看什么
防護放開後,抓取量可能會上升,但這只是鏈路通了。接下来仍要關注返回碼是否稳定、目标頁是否為空頁、抓取是否真的落到了目标 URL,而不是停留在入口頁。這些才是影响後續收錄的關键因素。
抓取量上不去时,先確認請求有没有到達源站,再讨论内容和入口頁的問题。防護层拦截是一個容易被忽略、也比較好驗證的原因。
對蜘蛛池和 URL 發現来说,抓取预算本来就有限。如果請求在進入源站前就被挡掉,再多的入口頁和 URL 清單也很难發挥作用。