改版通常被当成前端和产品的事,但对搜索抓取来说,它意味着蜘蛛手里那份熟悉的地图大部分失效了:目录结构、链接位置、页面模板都换了样,它得重新走一遍才能把新结构认下来。这段时间抓取量、抓取到的页面数出现波动很正常,关键在于别让这个波动拖成长期状态。
改版打断抓取路径的常见情况
- URL 规则整体更换,旧地址与新地址之间没有对应关系;
- 目录层级调整,原本两三层就能点到的页面被埋得更深;
- 导航和列表模板重写,入口链接被塞进需要交互才展开的组件;
- 分页、筛选参数规则变化,蜘蛛此前记住的抓取入口作废;
- 页面从服务端输出改为前端渲染,源码里不再有可跟随的链接。
这些情况往往同时出现。改动越集中,蜘蛛需要重新学习的量越大,路径重建的周期也越长。
旧地址先定去向,再谈新结构
能一一对应的,用 301 指到最终地址
改版前先把旧 URL 清单和访问日志拉出来,按访问量排序,优先处理有外链、有内链、有实际访问的那一批。301 的目标要写成新结构里的最终地址,不要先跳到中间页再跳一次,链式跳转会让蜘蛛多花一次请求,也容易在半路放弃。
确实不存在的,给一个明确状态
内容已经合并或下线的旧地址,返回 404 或 410 都可以,但要避免两种做法:一是把旧地址全部 301 到首页,二是放着不管,让旧地址继续返回 200 的空页面。前者会让蜘蛛把一堆不相关的 URL 当成同一个目标,后者会持续消耗抓取量。
改版不是把地址换掉就结束了,而是要让蜘蛛能用尽量少的请求,从旧结构走到新结构。
Sitemap 与内链要跟着换一遍
不少站点改版后模板换了、链接换了,Sitemap 却还是旧的,里面一半地址已经 404,等于把蜘蛛引到一片废墟里。改版上线时,Sitemap 应同步替换为新结构的地址,并清理掉已经失效的条目。
内链比 Sitemap 更影响实际抓取。新模板上线后,检查几件事:导航里是否还有指向旧目录的链接;列表页、面包屑、相关推荐是否都指向了新地址;原本靠侧栏或页脚获得入口的页面,改版后是否还有别的路径能到达。改版时最容易丢的,就是这类只靠某一处内链被发现的页面。
别一次改太多
如果条件允许,把 URL 结构、模板、渲染方式分开改,中间留出几周。一次全改,蜘蛛面对的是一套全新站点,此前积累的抓取习惯基本清零;分批改,它每次只需要调整一小部分判断。
用抓取日志验证路径是否走通
- 改版后一段时间内,新地址的抓取请求是否在增长;
- 旧地址是否还在被大量请求,说明重定向或外链没有处理干净;
- 抓取是否集中在新首页和栏目页,深层页面迟迟没有请求;
- 服务器返回的状态码里,5xx 和超时是否明显增多。
如果蜘蛛长期只抓新首页和几个栏目,通常是新结构里的入口太浅,或者入口太依赖交互,需要回头补内链和 Sitemap。
改版带来的抓取波动不会一夜恢复。把旧地址的去向、Sitemap 的更新、内链的补位这几件事做扎实,剩下的就是给蜘蛛一点重走的时间。