先不要改标题,也不要直接重新导入。正确顺序是:用文件名、内容首段和标题三者交叉比对,先确认错位发生在哪一层,再决定是修映射关系还是重导数据。如果旧系统导出的标题列与文件名列本身就已经错开,重导多少次都不会自动对齐。
错位通常有两种来源,处理方式完全不同。
区分方法很简单:打开原始导出文件,随机抽三行,人工核对标题和文件名是否指向同一篇内容。如果源文件就对不上,属于导出层;如果源文件正确而导入后错位,属于导入层。
当旧系统或旧合作关系要退出,但其中一部分内容仍有保留价值时,不要整批重导,而是先建立一份人工对照表。
具体动作:从原始导出文件中抽出三列——文件名、原标题、内容首段前20字,另建一张表逐行核对。核对的判断依据是内容首段,而不是标题,因为标题可能被旧系统批量改过,首段更能代表文件真实身份。
对照表建好后,你会得到三类结果:
这个动作的结果直接决定下一步:只有第一类和第二类可以进入新系统,第三类必须先解决数据来源问题,否则会把错误带进新结构。
如果旧内容不再保留,只是需要确认哪些文件可以安全删除,核对目标就从“修复对应关系”变成“确认没有误删”。
此时以文件名为唯一主键,把导入后的标题列表与文件列表做集合比对。重点看两类异常:
比对完成后,先处理“有标题无文件”的记录,确认其确实无保留价值再删除。反过来,如果先删文件再核对,一旦发现误删,恢复成本会高得多。
假设某批旧文章共100篇,导出时标题列比文件列整体下移一行。导入新系统后,第1篇文件配上了第2篇的标题,第2篇配上了第3篇的标题,依此类推。
表面上看,每篇内容都有标题,系统不会报错。但实际结果是:所有页面的标题与正文主题不匹配,用户从搜索结果点进来会发现标题描述的不是当前内容。更麻烦的是,如果此时直接批量提交这些页面,错误标题会被外部系统记录,后续修正需要额外一轮更新。
正确做法是:在导入前用脚本或人工抽查第1行和第100行。如果第1行标题对应的是第2个文件,而第100行标题为空或对应一个不存在的文件,基本可以确认是整体偏移一行。此时只需在导出层插入一个空行或调整列顺序,重新导出即可,不必逐条修改。
不是所有错位都能靠对照表解决。以下情况需要单独判断:
处理完错位后,先在小范围验证标题与文件是否一一对应,确认无误再扩大到全量。一次改动前后的比较要考虑季节和搜索需求变化,不能仅凭某几天的数据判断修正是否生效。