先给结论:不要按“文章发布时间”批量改,而要按引用对象的去向分三类——已删除且无替代的引用必须换掉或删句;已迁移且新旧路径都指向同一内容的引用,只需统一到新路径;仍指向有效内容但语境已变的引用,要重写那句引用说明,而不是只换链接。把每篇旧文里的引用逐条登记成一张表,再决定动作,比通读全文凭印象改更省事,也更容易复查。
一篇旧文章里的“引用”通常不是单一东西,而是三种混在一起:指向产品文档的链接、正文里对某个功能或参数的文字描述、以及截图或示例代码。改版后它们失效的原因各不相同,所以要先拆开记录。
拿手边任意一篇旧文,逐段扫一遍,凡是出现产品名、功能名、参数、界面截图、文档链接的地方,都在表里占一行。每行至少记四项:所在文章与段落位置、引用对象、当前状态(可访问/已迁移/已删除/内容已变)、以及这句引用在原文里承担什么作用(是操作前提、结果说明,还是纯佐证)。最后一项决定了你能不能直接删。
这一步的实际动作是:先只处理一篇文章,把这张表填完。填完后你会得到两类明显不同的行——一类是“链接坏了但句子还成立”,一类是“链接还在但句子已经不成立”。这两类后面要走完全不同的处理路径,混在一起改最容易改错。
把登记表按“当前状态”分组,动作就清楚了:
判断顺序建议是:先看这句引用是不是读者完成操作的必要条件。是,就必须给出当前可用的替代;不是,就可以降级为删除或改写。这个判断比“新旧”更可靠,因为一篇老文章里可能大部分引用仍然有效,而一篇较新的文章反而引用了刚下线的功能。
假设某产品文档改版后,把原来的“设置”页拆成了“账户设置”和“通知设置”两个页面,旧文章里有一句:“在设置页开启提醒后,系统会按默认频率发送通知。”
按上面的表来拆:引用对象是“设置页”和“默认频率”两个点。如果“默认频率”这个设定没有变,只是入口位置变了,那么动作是把“设置页”改成“通知设置”,句子其余部分保留。如果“默认频率”本身也改了,那整句都要重写,并且要在句子里写清新的触发条件,而不是只换一个页面名。
这个例子的意义在于:同一个句子里可能同时存在“只需换路径”和“必须重写描述”两种成分。逐条登记就是为了避免把后者当成前者,只改链接就发布。
处理完一篇文章后,不要立刻进入下一篇。先做一次回访:把改过的文章从头读一遍,重点看那些被删句或改写句的相邻段落,确认前后逻辑没有断。然后回到登记表,把每行的处理结果标上——已替换、已删除、已重写、确认无需改动。
这个动作的实际结果是:你会得到一份带处理状态的清单。如果同一类引用在多篇文章里反复出现(比如同一个已下线的功能被五篇文章引用),这份清单能让你一次性判断是否还有第六篇没处理,而不是靠记忆或搜索碰运气。搜索命中数下降只能说明链接层面可能处理过了,不能证明每句描述都还成立,所以回访要读句子,不能只看链接是否可点。
不是所有引用都需要处理。满足以下条件的可以保留:引用对象仍可访问、描述与当前行为一致、并且这句引用在原文里不是读者操作的必要前提。保留时同样要在登记表里标记“确认无需改动”,这样下次再遇到改版时,你知道这部分是主动核对过的,而不是从未检查。
需要避免的是两种做法:一是按文章发布日期批量重发,结果把本来正确的引用也改乱;二是只做一次全站链接检查,把“链接可访问”当成“引用仍准确”。链接检查能发现断链,发现不了描述与现状的偏差,而后者恰恰是产品文档改版后最常见的问题。把逐条登记和回访固定成流程,比依赖某次检查结果更稳。