改版、换域名或者重新划分栏目之后,很多站会遇到同一个现象:新页面已经上线,抓取日志里却还是旧地址被反复访问,新 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,蜘蛛会主动降低抓取节奏,反而拖慢交接速度。控制方式不复杂:错开批量操作的时间,盯住响应时间和错误率,必要时在服务器层面对异常请求做限速。
上线后的观察清单
- 抓取日志里新 URL 的占比是否逐周上升;
- 旧 URL 的返回码分布,301 与 404 各占多少;
- 新地址是否开始出现在搜索结果中,标题和摘要是否正确;
- 内链替换是否遗漏了导航、分页、侧栏这类模板位置;
- Sitemap 里是否还有旧地址残留。
改版后的抓取交接没有统一的时间表,能做的只是让信号尽量一致:地址映射清楚、重定向干净、内链指向新页面、Sitemap 不再混入旧地址。剩下的交给蜘蛛按自己的节奏处理。