结论先给:如果页面还有外部链接或搜索流量,保留一个静态提示页比直接删掉更稳妥;如果页面已无入口、只被内部系统调用,直接返回404或410更省事。判断依据不是页面新旧,而是它是否仍在被外部用户主动访问。
第一种做法是保留原地址,把内容替换成“本页已停止维护”的静态说明,并给出去向。它成立的条件是:该地址仍出现在别人的收藏夹、外部文章或搜索结果里,访问者需要一个明确的交代。代价是你要长期保留这个地址,且每次站点结构调整都得记得它。
第二种做法是直接让地址返回404或410。它成立的条件是:页面从来没有对外发布过,或所有引用它的入口都已被你控制并清理。代价是外部访问者会看到浏览器默认错误页,无法得知发生了什么,也无法找到替代内容。
两者的分界点在于“访问者是否带着预期而来”。带着预期来的用户,看到一个冷冰冰的错误页,会认为站点坏了;不带预期的内部调用,看到提示页反而多此一举。
假设你判断某个停止维护的产品页已经没有流量,于是直接删除。但如果这个地址被某个行业目录站收录,且该目录站长期不更新,访问者仍会从那里点进来。此时404不会让目录站自动清理链接,只会让访问者反复撞墙。这种情况下,“没有流量”的判断依据本身就不牢靠,结论随之失效。
更稳妥的验证动作是:在删除前,先查看服务器访问日志中该地址近期的请求来源。如果来源集中在少数几个外部域名,说明有站点在替你引流;如果来源全是站内爬虫或你自己的监控,删除的代价就低得多。这个动作的结果直接决定下一步:有外部来源就保留提示页,没有就删除。
这三件事都写在静态HTML里,不依赖数据库或后端脚本。原因是停止维护的页面往往伴随程序下线,如果提示页还需要调用接口,接口一停,提示页本身也会报错。
提示页本身应该返回什么状态码,取决于你是否希望搜索引擎继续保留这个地址。若希望它逐步退出索引,用410更直接;若只是暂时下线、未来可能恢复,用404或503并附上说明。不要用200返回一个“已停止维护”的页面,那会让搜索引擎把它当成正常内容继续保留。
实际操作中,可以在服务器配置里把原地址重写到提示页,同时让提示页返回目标状态码。这样访问者看到的是人话,搜索引擎读到的是明确信号,两者不冲突。
先拉一份近30天的访问日志,筛出所有计划停止维护的地址,按外部来源数量排序。来源大于零的地址,套用提示页模板并设置合适的状态码;来源为零的地址,直接删除或返回410。做完这一步后,隔两周再查一次日志,确认提示页没有产生新的异常请求,再决定是否收紧或彻底移除。这个顺序能避免一次性删干净后才发现有外部引用,回头再补已经来不及。