把跳过条件写成“命中即跳过”通常能减少重复改动,但真正决定批量处理是否安全的,不是跳过规则本身,而是跳过之后有没有留下可核对的证据。若你的批量脚本或插件会在标题、正文、模板层同时改多个字段,建议只跳过“已有明确人工确认标记”的页面,而不是跳过所有看起来相似的页面;否则一旦相似判断有误,漏改会静默留在站内,后面很难发现。
批量处理时,跳过条件一般分三类:按字段是否为空跳过、按URL规则跳过、按页面是否已有处理标记跳过。三类条件的影响不同。字段为空跳过,适合补全缺失信息;URL规则跳过,适合排除分页、筛选页或参数页;按处理标记跳过,适合已经人工复核过的页面。若把三者混在一起,日志只会显示“跳过若干”,却看不出被跳过的是哪一类,后续排查会失去方向。
一个实际动作是:先给每个跳过原因单独编号,例如 skip_empty_title、skip_url_pattern、skip_manual_locked,再在批处理输出里分别计数。这样做的结果是,你能看到跳过量主要来自哪一类。如果绝大多数来自URL规则,说明规则可能过宽;如果来自人工标记,说明这批页面的改动空间本来就有限,下一步应改为抽样复核,而不是继续扩大批量范围。
直觉上,跳过条件越严格,批量处理越安全。实际相反:当跳过比例很高时,剩余被处理的页面会集中在少数模板或少数目录里,漏改的页面则被“跳过”这个动作掩盖。尤其当页面标题、正文、结构化信息分别由不同字段控制时,一个页面可能标题被跳过、正文却被改写,最终页面内部出现不一致。此时只看总跳过数没有意义,必须看同一页面的多个字段是否被拆开处理。
可核对的证据是处理前后同一批URL的字段级清单:标题是否变化、正文首段是否变化、模板标记是否变化。若某个字段的变化量与跳过量对不上,就说明跳过条件没有覆盖该字段。需要说明的是,抓取量、索引量或请求量下降,不能单独证明跳过条件设置正确;季节变化、搜索需求波动、采集时间差异都可能造成类似现象。因此比较时应尽量固定采集窗口,并记录改动前后各自的时间范围。
按相似度跳过成立的条件是:页面主体内容确实由同一模板生成,且差异只出现在标题或少量字段;同时你已经有抽样结果证明相似阈值不会把不同意图的页面判为同一类。不成立的反例是:同一目录下既有产品页又有选购指南页,二者文字重合度高但搜索意图不同。此时按相似度跳过会把指南页误判为产品页,导致该补的说明没有补,该改的标题也没有改。
假设有一组页面,标题都带有相同后缀,正文由同一模板填充。若你设置“正文相似度高于阈值即跳过”,结果可能是所有页面都被跳过,因为模板部分本来就高度相似。这个例子说明:相似度适合发现重复,却不适合单独决定是否跳过改动。更稳妥的做法是先用小样本人工核对,再决定阈值,而不是先跑全量再解释结果。
批量处理前,至少保留一份处理前字段快照,并为每个跳过原因记录一条可核对的说明。处理完成后,先抽查被跳过的页面,再抽查被处理的页面,重点看同一模板下是否出现字段不一致。若发现漏改,下一步不是直接放宽跳过条件重跑,而是先确认漏改来自哪一类条件,再只调整那一类。这样每次改动都能对应到一个具体原因,而不是反复扩大或缩小批量范围。
如果跳过条件涉及多个字段,建议把标题、正文、模板标记分开统计,不要合并成一个“已跳过”总数。分开统计后,若标题跳过多而正文跳过少,说明标题字段的判定条件可能过严;若正文跳过少而模板标记跳过多,说明模板层可能被单独锁定。不同结果对应不同下一步动作,这也是批量处理能否回退的关键。