先别急着批量改标题。把导入结果和源文件按同一套稳定标识重新对齐,确认错位是“显示层错位”还是“数据层错位”,再决定保留、改写还是退出。若源文件本身缺少唯一标识,任何批量修复都会把错误放大。
导入后标题与文件错位,通常有三种可区分的原因。第一种是顺序错位:标题列表和文件列表各自按不同规则排序,比如一边按文件名、一边按导入时间,导致A的标题贴到B的文件上。第二种是编码错位:文件名含中文、空格或特殊符号,导入时被转义或截断,标题还能读,但对应关系已经断开。第三种是模板错位:标题字段被写进了错误的占位符,文件本身没错,只是渲染时取错了值。
区分方法很简单:先导出当前系统的标题与文件标识对照表,再和源目录的原始清单做一次逐行比对。如果两边行数一致、只是顺序不同,属于顺序错位;如果出现空标题、重复标题或文件名被截断,属于编码错位;如果标题内容正确但显示位置不对,属于模板错位。这三种情况的处理动作完全不同,先分类再动手。
标题和文件名都不适合当唯一标识,因为它们可能被改写、翻译或截断。更稳的做法是找一个导入前后都不变的字段,比如源文件的路径、内容ID、创建时间戳,或者你自己在导入前加的一列序号。把这个字段同时写进标题记录和文件记录,再按它排序比对。
具体动作可以这样:在导入前给每条内容生成一个短标识,格式如 src-0001,同时写进文件名前缀和标题备注字段。导入后导出两张表,一张是标识与标题,一张是标识与文件路径,用标识做连接。连接后如果出现一对多或多对一,说明导入过程发生了合并或拆分,这时不要继续批量操作,先回到源文件确认原始数量。这个动作的结果会直接决定下一步:能一一对应就进入局部修正,不能对应就先修复导入脚本或导入方式。
如果错位只发生在少数条目,且源内容仍然有检索价值,优先保留并改写。保留的前提是:文件本体完整、标题只是贴错位置、你能通过稳定标识找回正确标题。改写时只动标题与文件的绑定关系,不要顺手改正文,否则会把两类问题混在一起,后面无法判断是哪一步导致了变化。
如果错位涉及大量条目,且源内容本身已经过时、与当前业务不再相关,退出的成本可能低于逐条修复。退出的前提是:这些内容没有外部链接沉淀、没有仍在转化的入口、也不承担站内导航作用。退出时建议先做一次可逆处理,比如把错误条目移入待处理状态而不是直接删除,观察一段时间内站内搜索和外部引用的变化,再决定是否彻底移除。
介于两者之间的情况,可以只保留标题正确、文件可访问的那部分,其余进入待核对队列。这样做的代价是站内会出现一段不完整的内容集合,但比带着错位关系上线更可控。
假设你有一批旧文章需要从旧系统导入,导入后发现标题与文件错位。你先用稳定标识重新对齐,修正了其中二十条,然后观察这批页面的抓取和点击变化。这里要注意:一次改动前后的比较必须考虑季节、搜索需求变化和数据采集差异,不能把短期波动直接归因于修复动作。更稳妥的做法是留一组未修复的对照条目,在相同时间段内比较两组的表现差异,而不是只看修复组的绝对值。
验证时重点看三件事:标题与文件是否已经一一对应、页面是否能正常访问、站内搜索能否用原标题找到对应文件。如果这三项都通过,再考虑扩大修复范围。如果仍有错位,说明稳定标识本身不可靠,需要回到导入前重新设计标识规则,而不是继续在结果层修补。
下次导入前,先做一次小批量试导入,只放十条,检查标题、文件、标识三者是否一致。试导入通过后再全量执行。同时保留导入前的原始清单和导入后的对照表,两者都按稳定标识排序。这样即使再次出现错位,也能在几分钟内定位到具体条目,而不是靠肉眼逐条翻找。
错位本身不是最坏的结果,最坏的是在错位状态下继续叠加修改,让标题、文件、正文三者互相污染。先对齐,再取舍,最后验证,这个顺序比任何批量工具都重要。