不能把被删页面从历史对比里直接抹掉,否则前后两组数据的口径就变了,任何升降都可能只是页面集合缩小造成的。正确做法是保留一条“已删除”状态记录,连同删除时间、原URL、原归类一起留在对比表中,让每次统计都基于同一套页面名单,再用单独字段标记它是否仍在线。
假设某站去年有120个产品页,今年下架了其中30个。如果做A5SEO诊断时只导出当前在线的90个页面,去和去年那120个页面比,着陆页流量、收录数、点击分布几乎必然下降。但这个下降不能说明“改版失败”,它只是分母变了。此时该做的动作是:先恢复120个页面的完整名单,把30个下架页标注为已删除,再决定它们在对比里算不算分母。
这一步的结果会直接决定下一步。如果对比目的是评估“现有页面质量有没有提升”,就应该排除已删除页,只比90对90;如果目的是评估“整站流量是否萎缩”,就必须保留120对120。两种口径都成立,但不能混用,也不能只留一个数字而不写清用了哪种。
要让历史对比可复核,删除记录不能只写一句“已删”。建议至少保留:
url:原始地址,便于日后核对是否被重定向或恢复。status:删除、重定向、合并、暂时下线,区分不同处理方式。removed_at:下架日期,用来判断对比区间内它是否还“活着”。group:原属栏目或页面类型,避免重分类后无法还原。有了这四项,任何一次历史对比都能回答“这个页面当时在不在名单里”。缺少removed_at时,最典型的错误是把跨区间的数据按同一集合处理,结果一个页面在两次统计中一进一出,凭空制造出波动。
删除页面的数据往往分散在三处:第三方流量估算、搜索后台的展示与点击、站内日志或分析工具。三者口径不同——第三方是抽样估算,搜索后台只覆盖该来源,站内统计覆盖全部访问但受脚本与过滤影响。它们可以互相印证,但不能直接相加,也不能用一个的降幅去否定另一个的存在。
更关键的是,删除页面的流量归零,本身不能单独证明处理正确。它至少有几种合理解释:页面确实被移除、访问被重定向到新页、统计脚本未加载、抓取与展示延迟。要区分这些解释,需要看证据链:原URL现在返回什么状态码、是否配置了指向新页的跳转、站内统计里该路径是否还有进入记录。只有这几项对上了,才能判断流量是“转移”还是“消失”。
一个可操作的写法是:每次快照都存两份东西,一份是页面名单(含状态),一份是基于该名单算出的指标。这样当有人问“为什么这个月点击少了”,你可以先查名单有没有变化,再查指标本身。假设去年12月名单120页、今年6月名单90页,如果两份快照都记录了这个差异,那么对比时就不会把30页的缺口误读成质量下滑。
动作上,可以给对比表加一列included,用是/否标记该页是否计入本次分母。结果如何影响下一步很明确:included为否的页面,其历史指标仍保留供追溯,但不参与当期均值与占比计算;如果日后该页恢复上线,只需把included改回是,历史记录无需重建。
如果删除页面永久不再恢复、且对比目标只关心当前在线集合,可以把它们归档到单独文件,主对比表只留在线页。但只要出现以下任一情况,就必须留在主表里:需要解释某段时间的整体流量变化、需要核对重定向是否生效、需要向他人还原当时的页面清单。判断标准不是“页面还在不在”,而是“这次对比要不要解释一个跨删除时点的变化”。
换句话说,保留删除记录的成本很低,丢失它的代价是整段历史对比失去可解释性。在A5SEO诊断中,先固定页面集合口径,再谈指标升降,顺序不能颠倒。