搜索抓取

新 URL 上线之后:主动推送、内链导流与 Sitemap 更新的配合

新页面发布后能不能被蜘蛛尽快发现,取决于入口和清单两条路。本文梳理 Sitemap 更新、内链导流、主动推送与站外引用各自的边界,并给出用访问日志验证抓取效果的方法,以及几个容易踩的坑和可以固定下来的日常动作。

搜索抓取

新 URL 上线之后:主动推送、内链导流与 Sitemap 更新的配合

新页面发布之后,最常听到的疑问是:多久会被蜘蛛发现?这个问题没有标准答案,但可以拆成两部分——站点有没有把 URL 放到蜘蛛容易走到的位置,以及这些入口有没有被持续维护。推送和提交做的是“提醒”,链接和 Sitemap 做的是“通路”,两者缺一不可。

蜘蛛发现 URL 的两条基本路径

一条是顺着链接爬:从首页、栏目页、列表页一路走到详情页。另一条是读取清单:Sitemap、RSS 以及各类提交接口给出的 URL 列表。前者依赖内链结构,后者依赖清单的准确性和更新节奏。只做后者不做前者,蜘蛛可能抓了清单里的 URL,却不知道该页面在站内处于什么位置,后续重访也缺少触发点。

四种常见发现信号,各自的边界

Sitemap 的新增与更新

  • 新增 URL 及时追加,已经下线或改版的旧 URL 该移除的移除,别让清单里长期躺着 404 和重定向。
  • lastmod 只在内容真正发生变化时更新,格式和时区保持一致,避免整站时间戳一起跳动。
  • 分片文件按栏目或时间拆开,索引文件按需刷新,不要让蜘蛛每次都拉一遍全站清单。

内链导流:让新页面站在“路口”上

  • 优先在抓取频率高的页面(首页、频道首页、热门内容页)给出入口,比埋在深层列表更有效。
  • 链接要出现在 HTML 源码里,不能只靠前端渲染后再生成。
  • 按时间排序的“最新”模块有用,但要控制条数,避免一屏几百条链接把入口摊薄。

主动提交与推送

手动提交、站长后台的提交入口以及 IndexNow 这类推送协议,作用是把 URL 更快地放进队列,它们不保证抓取,也不保证收录。使用时注意几点:推送的 URL 应当是能正常返回 200 的页面,不应是被 robots.txt 拦截或带 noindex 的地址;批量推送要有节制,反复推同一个 URL 没有额外收益;推送后要回到日志里核对,而不是只看接口返回成功。

站外引用

被其他站点链接指向,通常会带来新的抓取入口,被高频抓取的站点引用时更明显。但这部分不可控,只能作为补充,不能当成主要手段。

怎么验证有没有生效

  1. 在访问日志里筛出目标 URL,记录首次被抓的时间,与上线时间、推送时间做对照。
  2. 看抓取那一刻的响应状态和耗时。如果第一趟就是 5xx、超时或跳转链,蜘蛛的后续安排可能被推迟。
  3. 观察同一批页面是否成批被抓。只有零星几篇被访问,通常说明入口太弱,而不是蜘蛛“没兴趣”。
  4. 对比不同入口的效果:把同一批页面分别从首页模块、Sitemap、推送三处投放,看哪条路径带来的抓取更快。

这些观察结果比任何“几小时收录”的说法都可靠,因为抓取节奏取决于站点规模、历史表现和蜘蛛自身的调度。

几个容易踩的坑

  • 把新 URL 放在 robots.txt 屏蔽的目录下,又奇怪为什么没有抓取。
  • Sitemap 里混入大量参数页、分页副本和已下线的链接。
  • 用 302 或纯 JS 跳转作为新页面的入口,让蜘蛛多走一步。
  • 页面内容还没准备好就推送,蜘蛛抓到一个空壳,之后重访意愿下降。
  • 只看提交数量不看日志,把“提交成功”误当成“已经抓取”。
推送解决的是“告诉你”,内链解决的是“带你走”,Sitemap 解决的是“给你一张清单”。三者配合,新页面被发现的概率才会稳定一些。

可以固定下来的日常动作

  1. 发布即给入口:新页面在栏目页和至少一个高频页面出现链接。
  2. 当天更新 Sitemap,追加新 URL;改动过的页面只更新对应的 lastmod。
  3. 按批次推送,记录推送时间和 URL 清单,方便后续核对。
  4. 三天内查一次日志确认抓取状态;如果没被抓,先补内链入口,而不是反复推送。

把这些动作做成流程,比临时找“加速抓取”的技巧更实用。抓取终究是蜘蛛自己的节奏,站点能做的是把路铺好、把信号给准。