搜索抓取

站点改版后的抓取衔接:让蜘蛛把注意力从旧 URL 转到新 URL

改版或换域名之后,旧 URL 常被蜘蛛反复抓取,新 URL 却迟迟不进队列。问题多半不在蜘蛛,而在站内信号没完成交接。本文整理新旧地址映射、301 重定向、内链与 Sitemap 的配合方式,以及改版期的抓取压力控制和上线后的观察要点。

搜索抓取

站点改版后的抓取衔接:让蜘蛛把注意力从旧 URL 转到新 URL

改版、换域名或者重新划分栏目之后,很多站会遇到同一个现象:新页面已经上线,抓取日志里却还是旧地址被反复访问,新 URL 迟迟没有进入队列。这通常不是蜘蛛反应慢,而是它接收到的信号仍然指向旧地址。

先整理一张新旧 URL 对照表

改版前应该先把映射关系写清楚:哪一条旧地址对应哪一条新地址,哪些是合并的,哪些是真的不再保留。这张表是后面所有动作的依据——重定向规则、内链替换、Sitemap 生成都从它出发。如果对照表本身有缺口,上线后就只能靠日志反推,成本会高很多。

表里建议至少包含:旧 URL、新 URL、处理方式(301、410、保留不动)、优先级。优先级高的部分先做,别指望一次全量切换。

301 是基础,但规则要干净

  • 尽量用一对一重定向,不要把所有旧地址都指到首页,那会让蜘蛛把首页当成所有旧内容的替代品。
  • 避免多级跳转。A→B→C 的链式重定向,每多一跳都会多消耗一次请求。
  • 临时改版用 302 是常见做法,但停用时间别拖太久,否则新旧地址长期并存。
  • 确认重定向最终落到返回 200 的页面上,中间夹着 404 或 5xx 会让整条链路失效。

内链是最直接的交接方式

重定向只是告诉蜘蛛“这个旧地址搬走了”,而内链才是告诉它“新地址值得抓”。导航、面包屑、栏目列表、正文里的相关链接,只要还在指向旧地址,就等于每天重复一次旧信号。改版时优先替换被链接最多的那批入口,比一次性全站替换更可控,也更容易排查遗漏。

Sitemap 与 canonical 的一致性

Sitemap 里应该只放新地址,不要新旧混着提交。如果页面同时存在新旧两套模板,canonical 指向新地址能减少歧义;但如果内链还大量指向旧地址,canonical 的效力会被削弱。几个信号方向一致,蜘蛛才容易做出判断。

旧地址不要一刀切 404

改版上线当天把所有旧 URL 全部断开,是很常见的做法,但会让蜘蛛在短时间内撞上大量错误页,之后一段时间它对站点的抓取意愿可能变得更保守。更稳妥的方式是分批下线:先处理低价值、无外链的地址,有外链或仍有一定访问量的旧地址保留 301 一段时间,观察日志里的访问频率下降后再收口。

改版期的抓取压力也要算进去

新旧地址并存意味着同一批内容在短时间内会有更多请求,加上蜘蛛重新发现和验证新 URL,服务器压力往往高于平时。这个阶段如果响应变慢或开始返回 5xx,蜘蛛会主动降低抓取节奏,反而拖慢交接速度。控制方式不复杂:错开批量操作的时间,盯住响应时间和错误率,必要时在服务器层面对异常请求做限速。

上线后的观察清单

  1. 抓取日志里新 URL 的占比是否逐周上升;
  2. 旧 URL 的返回码分布,301 与 404 各占多少;
  3. 新地址是否开始出现在搜索结果中,标题和摘要是否正确;
  4. 内链替换是否遗漏了导航、分页、侧栏这类模板位置;
  5. Sitemap 里是否还有旧地址残留。
改版后的抓取交接没有统一的时间表,能做的只是让信号尽量一致:地址映射清楚、重定向干净、内链指向新页面、Sitemap 不再混入旧地址。剩下的交给蜘蛛按自己的节奏处理。