当手机端SEO工具开始支持一种新的对象格式,输入规范不能只做一次替换就收工。更稳妥的做法是先判断这次变化属于“同一对象换写法”还是“对象边界变了”:前者只需调整字段映射和校验规则,后者必须重新定义批量输入的单位、去重键和错误回退方式。判断依据是旧规范里被当作唯一标识的那一列,在新格式中是否仍然唯一且稳定。
常见的情况是:新格式的文件能顺利导入,工具也不报错,但后续的统计、分组或导出结果和预期不一致。表面看是“格式兼容了”,实际上输入规范还停留在旧对象的假设上。旧格式可能一行代表一个页面,新格式可能一行代表一个页面加一个设备维度,行数变多但页面数没变。如果规范没有同步说明“一行代表什么”,后续所有基于行数的判断都会偏。
另一种表现是去重结果异常。旧规范用页面地址做唯一键,新格式里同一地址可能因为参数、语言或渠道不同出现多次。工具按旧键去重,就会把本应分开的对象合并;反之,如果新键比旧键更细,又可能把同一对象拆成多条。导入成功不代表输入规范正确,这是两回事。
解释一:只是同一对象的序列化方式变了。例如从分隔符文本变成结构化字段,字段名和层级变了,但“一个对象”的边界没变。这种情况下,输入规范要改的是字段映射、必填校验和默认值,唯一键通常可以保留。
解释二:对象的粒度变了。例如原来以站点为对象,现在以站点下的目录或页面组为对象;或者原来以页面为对象,现在以查询词与页面的组合为对象。这时唯一键、去重范围、聚合口径都要重新定义,不能只改字段名。
两种解释对应的动作完全不同。把第二种当成第一种处理,最容易出现“导入无报错、结果不可用”的情况。
需要提醒的是,导入量下降、抓取量归零或某列解析为空,都不能单独证明输入规范正确或错误。它们还可能是筛选条件、权限范围、时间窗口或上游数据延迟造成的。要先把这些变量固定,再判断规范本身。
保留原唯一键,新增字段映射表,把旧字段名对应到新字段名;对新增的可选字段设置明确默认值,避免空值被当成有效值参与分组。动作上,先在一个小批量上跑通映射,再检查去重结果是否与旧规范一致。如果一致,下一步才扩大输入范围;如果不一致,先回到映射表查字段对应关系,而不是直接改去重逻辑。
重新定义输入单位,明确“一行代表什么”,并写出新的唯一键组合。对可能重复的维度,规定优先级或合并规则。动作上,先用手工构造的少量样本验证新键能否稳定区分对象,再决定是否批量导入。批量导入后,如果发现同一对象被拆成多条,优先检查唯一键是否遗漏了某个稳定维度,而不是马上加去重规则掩盖问题。
假设某业务原来用手机端SEO工具导入“页面地址”列表,一行一个页面,唯一键是页面地址。后来输入格式改为包含页面地址、设备类型和语言三列。如果业务实际仍以页面为分析单位,那么输入规范应把设备类型和语言作为属性字段,唯一键仍是页面地址,并在导入前按页面地址合并属性。如果业务实际要以“页面加设备类型”为分析单位,唯一键应改为页面地址与设备类型的组合,语言作为属性。两种选择都成立,区别在于后续要回答的问题不同:前者回答“这个页面整体表现如何”,后者回答“这个页面在某种设备上的表现如何”。先确定要回答的问题,再改输入规范,顺序不能反。
验证时不要只看导入是否成功,而要看三个对齐:对象总数对齐、唯一键重复率对齐、下游汇总口径对齐。三者都对齐后,再把新规范固化到输入模板和校验规则里。如果其中一项对不上,先回到对象边界的判断,而不是在工具里叠加更多过滤条件。具体工具对字段类型、空值和唯一键的支持范围可能不同,实际限制需要以你所用工具的当前文档和界面提示为准。