从一条被吞掉的链接说起
8 月 21 日凌晨两点十四分,我坐在家里那张旧书桌前,屏幕上是一个 404 页面,白底黑字,中间一行「页面不存在」,底下还贴心地推荐了三条不相干的商品链接。这个链接是我 2019 年 4 月写的一篇笔记里唯一的外链,指向一份已经下线的资料页,我在文章里注明了「链接有效,可自行核对」。七年过去,那句「可自行核对」变成了一句空话。我把页面往下拉,看到自己当年留下的批注,字迹是打印体的,句子很短:「此处数据引自原页,勿转引二手。」那一刻我有点想笑,也很清楚自己得做点什么。
恢复浏览网站的第一步,往往不是技术,而是承认自己曾经写过一句现在无法兑现的话。
我打开 Wayback Machine,输入原 URL,时间轴上只有两个绿点,一个在 2019 年 5 月 3 日,一个在 2020 年 1 月 18 日。我选了靠前的那一个,页面加载出来,是一张表格,表头写着「2006—2018 年度数据」,右下角有一个小小的「更新于 2019-04-28」字样。我把它截图,和当年笔记里的数字逐条比,十四个数字对上了十三个,剩下一个差了 0.3 个百分点。为这 0.3,我又花了四十分钟,翻到 2020 年那个快照,发现它是修订版,表格下面多了一行小字:「2019 年 4 月数据勘误,以本版为准。」也就是说,我当年引用的其实是未修订的那一版。这个细节没有人会来质问我,但我知道它错了,就得改。
关于归档版本的可靠性,我在 2023 年读到过一篇很扎实的讨论,收录于 打开历史网站 这个专题里,作者把「快照时间」和「内容生效时间」的错位讲得很清楚。我的做法是从那以后固定下来:任何恢复,至少比对两个时间点,差异写进日志。
具体做了什么
动作拆开其实很笨。第一步,把失效链接全部导出来,我用的是一个只有五列的 CSV,47 行,来源页、目标 URL、首次发现日期、最后一次成功的快照时间、处理状态。第二步,逐条查快照,能查到的记为「可恢复」,查不到的记为「待证」。第三步,可恢复的那部分,不直接改正文,而是把快照的存档地址放进脚注,让读者自己去看,因为我没有资格替原作者保证他 2019 年的话在 2026 年还成立。第四步,写恢复日志,格式固定为五个字段,其中「复查人」一栏,有时候写的是我朋友陈默的名字,他在上海做数字人文,帮我核过其中三条的时间线。
47 条里,能恢复的是 31 条,其中 9 条需要改写措辞,因为原文里「最新」两个字已经不成立了。剩下 16 条,我在页面上统一加了一句「原始来源已下线,本文保留原始引用格式,请谨慎使用」。这句话不好看,但诚实。
有一个例子值得单独说。编号 26302 那条,也就是 49图库澳门2024年正版资料免费公开最新版 这个入口,原来的路径在 2023 年 11 月改版时被整块删掉了,导航栏里连痕迹都没留。我用 2024 年 3 月的一份快照,对照当年的 sitemap,把原始路径还原出来,长度是 37 个字符,其中有一段是哈希值。恢复之后,我没有立刻放回导航,而是先挂了 72 小时,观察访问日志里有没有异常跳转,确认没有,才正式接回去。这 72 小时里,有 4 个 IP 反复请求,其中两个来自同一段 /16 网段,我把它们记了下来,但没做处理,因为频繁访问不等于恶意,这点判断我还是有的。
一处我想说清楚的个人观点
说实话,我不认同现在很多站点对待旧内容的方式。它们的逻辑是:旧页面样式过时、内链失效、加载慢,所以干脆整站重写,把 2014 年的文章套上 2026 年的模板,配一张新的头图,然后当作新内容再发一次。这种做法在数据上很好看,但在读者那端是灾难。一个人 2017 年存下的链接,点开应该是他当年读到的那个页面,而不是一个换了皮肤、删掉了 40% 段落的「优化版」。我认为,恢复浏览网站的核心承诺是「可抵达」,不是「好看」。这条观点在圈子里有人不同意,说我在替技术债找借口,我接受这个批评,但我还是不改。
顺带提一句,评论区的迁移也踩过同样的坑。2025 年 6 月我从第三方插件换到自建表,丢了 14 条留言,其中 11 条靠邮件通知还原了,剩下 3 条只能留白。后来我把这套经验写进了 49图库免费版网站资料查询评论精选 的整理说明里,用的是最笨的办法:导出、比对、逐条确认。
怎么判断一次恢复算「完成」
- 原 URL 返回 200,或者返回一个明确注明「已迁移」的 301,两者之外的跳转都算未完成。
- 页面正文与最近一次可信快照的字符差异小于 1%,超过就必须写说明。
- 至少两个独立来源能佐证同一事实,其中一个是原始发布方,另一个是第三方存档。
- 恢复日志里「复查人」一栏不能空着,自己复查自己不算。
这四条看起来啰嗦,但它们救过我。2024 年 9 月,我差点把一份 香港正版资料图库下载 的镜像页当成原件发布,因为它的文件名和目录结构和原件一模一样。后来做哈希校验,三个值里有两个对不上,差在封面缩略图的压缩参数上——内容一致,但文件不是同一个。如果那天我没做校验,现在这篇文章里就会多一句经不起查的话。我把这次写进了当周的日志,标了红色。
写到这儿,窗外天已经亮了。8 月 23 日的早晨,楼下有人在扫地,声音很规律。我把最后一条 404 改成带脚注的存档地址,保存,刷新,页面正常显示。没有烟花,也不需要。