很多站点在日志里能看到搜索蜘蛛来了,却发现它抓到的 URL 数量远低于预期。原因不一定在 Sitemap 或内链,而可能出在“首次到达”那一刻:蜘蛛以陌生访客身份进入,看到的页面和真实用户不完全一样。同意弹窗、登录墙、地域限制都可能把关键链接挡在首屏之外。
为什么“首次到达”值得单独核对
搜索蜘蛛没有 Cookie、没有登录态、通常也不会点击按钮。它拿到的初始 HTML 或首屏渲染结果,决定了这一次能不能发现新的 URL。如果入口页只给出一个“请同意 Cookie”或“登录后查看”的界面,后续内链就断了。
三类常见遮挡及其表现
同意弹窗与隐私横幅
不少站点的 Cookie 同意组件在首屏加载后立即覆盖页面。若弹窗只是浮层,且底层 HTML 仍包含链接,影响相对小;若弹窗采用延迟加载,或者把页面内容替换成只有同意按钮的界面,蜘蛛看到的就只剩一个空壳。
登录墙与付费墙
登录墙常见于社区、电商会员价、行业数据站。对搜索蜘蛛来说,没有登录态意味着只能看到登录表单。若登录页没有指向内容页的链接,蜘蛛只能靠 Sitemap 或外部链接重新发现,抓取路径会变长。
地域与 UA 限制
按 IP 或 UA 返回不同内容的站点,要特别留意搜索蜘蛛的归属地和 UA。有些 CDN 或 WAF 规则会把来自数据中心的请求当作异常流量,返回 403、验证码或空页面。这会让蜘蛛的这一次访问直接失败,而不是抓到内容。
用搜索蜘蛛的视角做一次核对
- 用常见搜索蜘蛛 UA 请求入口页,查看返回的 HTML 里是否包含目标链接,而不是只看到弹窗或登录按钮。
- 对比普通浏览器渲染后的 DOM 与原始 HTML,确认关键链接是否依赖 JS 在用户交互后才出现。
- 在服务器日志中筛选搜索蜘蛛请求,查看状态码、响应字节数和时间。大量 403、429、超时或极小响应体都值得追查。
- 检查 CDN/WAF 的规则,确认没有对搜索蜘蛛 IP 段做拦截或人机验证。
站点侧的调整思路
- 同意弹窗不要阻断底层 HTML。把链接输出在服务端 HTML 中,弹窗仅作为视觉浮层。
- 登录墙后面如果确实有需要被发现的内容,考虑给蜘蛛一个可抓取的摘要页或公开的目录页,把入口链接放在无登录状态下可达的位置。
- 地域限制页面避免对搜索蜘蛛返回 403。若必须限制,至少让入口页可访问,并保留通往其他区域的链接。
- 不要只依赖一个入口。Sitemap、内链、面包屑、列表页都可以作为 URL 发现的后备渠道,彼此之间互相印证。
观察后的常见结论
如果核对后发现蜘蛛只能看到空壳,优先级通常是:先恢复服务端 HTML 中的链接,再处理弹窗和登录墙的逻辑,最后调整 CDN/WAF 规则。抓取日志中的状态码变化、目标 URL 的发现时间,可以作为调整是否生效的参考,但不要期待立即变化。
搜索蜘蛛的第一次访问,往往决定了它能不能顺着链接继续走。把入口页做成“无状态也能读到链接”的页面,比事后补提交更稳。