站点改版、目录调整或栏目合并之后,常见的情况是老页面逐渐不再被抓取,新页面又迟迟没有出现。问题往往不在蜘蛛本身,而在入口:旧 URL 还在被访问,但返回的内容和新的结构对不上,蜘蛛沿着老路径走一圈,找不到有效的下一步。把改版当成一次“入口迁移”来处理,比改完再补更省事。
改版后抓取断档的常见原因
- 旧 URL 直接 404,没有任何跳转,老入口被走空;
- 跳转统一指向首页或栏目页,而不是内容最接近的详情页;
- 新页面有内容,但站内没有任何链接指向它;
- Sitemap 里还是旧地址,或者 lastmod 没有随改版更新;
- 导航、面包屑、分页仍停留在旧目录,等于同时维护两套结构。
第一步:给旧 URL 一个明确出口
跳转目标尽量对应
能一对一跳转的,就跳到内容最接近的新页面;栏目合并的,跳到新栏目而不是首页;确实没有对应内容的,用 404 或 410 明确说明,比让它长期返回一个空壳页更干净,也不容易让后续判断被干扰。
控制跳转层级
一次跳转即可,尽量避免 A 到 B 再到 C 的多级跳转。跳转链会让蜘蛛多花一次请求,也容易在中间某一环断掉。改版初期可以少量使用,但要列入后续清理清单。
第二步:内链与导航同步更新
蜘蛛发现 URL 的主要路径仍是站内链接,页面内容搬了、链接没搬,等于新地址没有入口。改版后需要逐项检查:
- 首页与栏目导航是否指向新路径;
- 列表页、相关推荐、上一篇下一篇里是否还残留旧链接;
- 面包屑层级是否与新的目录结构一致;
- 分页、标签页、专题聚合页的链接是否跟着更换。
内链换得不彻底时,日志里会同时出现新旧两套地址,抓取量看着不低,但有效抓取的比例其实在下降。
第三步:Sitemap、canonical 与跳转保持一致
- Sitemap 只放最终地址,不要新旧混放;
- canonical 指向的页面要和跳转目标一致,避免一个跳旧、一个指新;
- 同一个地址在 Sitemap、内链、跳转里出现不同目标时,蜘蛛只能反复试探。
日志上的核对顺序
- 先看旧地址的响应码与跳转目标是否稳定,有没有时好时坏;
- 再看新地址是否被访问、访问来自哪个入口,是内链还是 Sitemap 抓取;
- 观察新地址的首抓时间与后续回访间隔,判断是否进入正常节奏;
- 检查 404 是否集中在一批路径上,那通常意味着漏掉了某个栏目;
- 最后对比抓取总量与改版前的水平,确认是否已经回到常态区间。
几个容易忽略的细节
- 图片、附件、静态资源换目录后同样会产生大量失效请求;
- 站内搜索页与标签聚合页,可能把已经废弃的旧 URL 再次带出来;
- 外链和第三方页面上的旧地址短期改不完,跳转最好保留足够长时间;
- 使用 CDN 时,源站跳转规则改了,边缘节点可能还在用旧配置。
小结
改版带来的抓取波动,多数可以通过入口一致性来缓解:旧地址有明确出口、新地址有稳定入口、各入口指向同一个最终地址。把这些做完,再去看日志里的响应码、抓取量与首抓时间,判断会更接近事实,而不是停留在猜测。