蜘蛛池的入口页不是上线之后就一劳永逸的。做站群或资源池的人经常会遇到同一批入口页里某几个不再需要:域名要转手、目标页换了主题、或者这批入口的抓取表现一直不理想。入口页停用看起来只是删文件或改跳转,但处理顺序不对,容易把已经形成的抓取节奏、外部链接和日志数据一起弄乱。
先分清三种“下线”
临时停用
服务器维护、迁移、故障排查属于临时停用。这种场景下 URL 本身还要继续用,所以不适合返回 404,也不适合 301 到一个临时页面。比较稳妥的做法是返回 503 并带上 Retry-After 头,告诉蜘蛛过一段时间再来。注意 503 不宜长期挂着,超过几周的 503 通常会被当成永久不可用处理。
永久废弃
确认这批入口页以后都不会再用,才算永久废弃。此时要做的是让蜘蛛尽快把 URL 从待抓取队列里清出去,同时把原来指向它的内链、外链处理干净。永久废弃不等于马上删服务器上的文件,中间要有过渡期。
迁移换址
入口页换到新域名或新 URL 结构,属于迁移。迁移和废弃最大的区别是:迁移有明确的对应关系,废弃没有。有对应关系的用 301,并且尽量一对一映射,不要把所有旧 URL 都 301 到同一个新首页,那样蜘蛛很难判断对应关系。
状态码怎么选
- 404:内容确实不存在,但你没有做额外处理。语义偏中性,蜘蛛可能需要多抓几次才会放弃。
- 410:明确表示永久移除。对已经确认要废弃的入口页,反馈通常比 404 更直接,重复抓取的次数往往会少一些。
- 503:临时不可用,只适合维护窗口,不适合拿来当长期挡箭牌。
- 301:有明确替换目标时使用。跳转链不要超过一跳,A 到 B 到 C 这种链式跳转会浪费抓取预算。
无论选哪种,都要保证整批入口页的处理方式一致。同一批里有的返回 404、有的返回 200 空白页,蜘蛛会认为站点状态不稳定。
收尾动作清单
- 先摘链接,再改状态码。把其他入口页、目标页、站内导航里指向待下线 URL 的链接去掉或替换,避免蜘蛛顺着链接反复撞到死链。
- 分批处理,不要一次全停。一次下线几十上百个入口,服务器状态码分布会剧烈变化,日志里也看不出是正常调整还是出了问题。建议按批次间隔几天。
- 保留一段观察期。状态码改完之后继续看访问日志,确认抓取量逐步回落、没有出现异常的 5xx 堆积。
- 处理附属资源。域名解析、SSL 证书、CDN 配置、独立 IP,如果确定不再复用,到期前就该规划,别让证书悄悄过期又留着解析记录。
- 归档日志和配置。下线前把该入口页的抓取记录、状态码分布、跳转配置存一份。以后复盘资源池效果时,这些是最直接的依据。
容易踩的几个坑
- 把 301 当成万能回收站。没有对应目标却硬指到一个新页面,等于给蜘蛛传递错误信号,还会把原本分散的链接权重堆到一个不相关的页面上。
- 只删文件不改配置。Web 服务器默认返回 404 和主动配置 410 是两回事,反向代理、伪静态规则没清干净时,可能出现 200 空白页这种最糟糕的结果。
- 顺手把 robots.txt 全站屏蔽。为了清掉几个入口页而屏蔽整站,会影响还在正常使用的入口页。
- 下线后立刻停服务器。蜘蛛可能还会来访几次,直接连不上会变成连接超时,这类记录在日志里很难和真正的故障区分。
什么时候算真正下线完成
比较实际的判断标准有三条:日志里该 URL 的抓取频次降到接近零;同批入口页的状态码分布保持稳定,没有新的 5xx;站内已经没有指向它的链接。三条都满足,就可以把解析和文件彻底清掉了。
入口页退役和上线一样,是资源池日常维护的一部分。把它当成一次小规模的站点变更来处理,比临时起意删文件要省事得多。