先给结论:不要因为“需求已取消”就直接下线,也不要因为“已经开发完”就默认留用。判断依据不是沉没成本,而是这个功能是否仍在产生可观察的维护负担、是否还有真实访问、以及它是否被其他页面或流程依赖。在缺少完整数据和后台权限的情况下,最小可执行动作是:用现有可访问的日志或页面入口做一次“依赖与访问”核查,再决定留用、隐藏还是彻底下线。
典型现象是:当初的需求方已经不再跟进,产品侧认为这个功能可以取消,但开发完成后它一直挂在站点上。此时会出现两种相反的表现。
这两种表现并不矛盾,它们指向不同的原因。评估时要先把原因分开。
如果这个功能对应的入口没有被任何导航、站内搜索、外部链接或广告指向,且访问日志中该路径的请求量长期接近零,那么它更可能是真正的边缘功能。此时留用的主要成本是:模板文件、脚本、样式和潜在的安全更新仍需有人维护。
更常见的情况是,功能本身没有独立入口,但被以下位置引用:
这种情况下,访问量低不代表可以删除,因为调用发生在用户看不见的链路里。
在缺少完整数据和权限时,不需要等拿到全部后台权限再行动。可以先做三件最小动作,并明确每件事能推出什么、不能推出什么。
这里的关键是:临时隐藏测试只能证明“当前可见链路没有明显问题”,不能证明“所有外部调用都已消失”。因此,彻底下线前还需要确认外部链接、旧邮件和合作方是否仍在使用。
假设某站点有一个“资料下载”功能,最初由已取消的活动需求开发。现在活动结束,需求方不再跟进。团队没有完整的数据看板权限,只能看到部分访问日志。
这个例子的数字只用于说明比较方法,不代表真实流量水平。它的作用是展示:在数据不完整时,先处理可确认的依赖,再逐步缩小不确定范围。
留用适合以下条件同时成立:功能仍被至少一个可确认的流程调用;下线可能影响现有用户或合作方;维护成本可以接受。留用时至少应记录依赖来源,避免下次评估时重复排查。
隐藏适合站内入口已无必要、但外部调用或历史链接可能仍存在的情况。隐藏不是删除,它保留功能可访问,同时减少新的用户进入。隐藏后要观察报错和反馈,再决定是否进入下线。
下线适合以下条件同时成立:站内代码无引用;可获得的访问记录中没有持续请求;外部链接和合作方已确认不再使用;下线后不会破坏其他页面或流程。如果缺少其中任何一项,建议先隐藏而不是直接删除。
无论选择哪种处理,下一步动作都应基于证据更新:如果隐藏后出现异常,就转为留用并记录依赖;如果隐藏后长期无异常,就继续确认外部调用,再进入下线。这样既不会因为沉没成本保留无用功能,也不会因为一次误删造成新的故障。