先给结论:当老手的经验说“快照不更新就是内容没被重新抓取”,而当前项目的日志显示抓取正常、只是展示层没有变化时,取舍标准不是谁资历深,而是把分歧拆成可核对的观察项,再按“能直接影响下一步动作”的那一项优先。下面用一个假设情境把决策过程走完。
假设你接手一个内容站,页面正文改过两次,搜索摘要仍显示旧文字。运维说服务器日志里百度蜘蛛来过,所以“抓取没问题”;老编辑说以前遇到这种情况,重发一次内容就好了;产品经理说摘要是旧的,用户点进来会失望,应该先改标题。三个人说的其实不是同一件事:一个在说抓取,一个在说历史处理动作,一个在说展示效果。
此时不要投票,也不要按职位排序。把“百度快照不更新”这个笼统说法拆成三层:蜘蛛是否来访、来访后是否更新了索引里的正文、索引更新后摘要是否跟着变。三层各自有独立的证据来源,也各自对应不同的下一步动作。混淆三层,就会出现“日志正常但摘要没变”被误判为抓取失败的情况。
让每个人只回答自己那层的问题,并给出可复查的凭据。运维提供的是访问记录,只能支持“来过”,不能支持“索引已更新”。老编辑提供的是过去某次重发后摘要变化,这属于历史经验,不能直接推出当前也会如此。产品经理提供的是摘要文字比对,属于展示层观察。
这一步的结果会直接决定下一步:如果连“蜘蛛是否来访”都无法确认,讨论摘要没有意义;如果确认来访但索引正文未变,重点就转到内容本身是否被判定为实质性更新;如果索引已变而摘要仍旧,才轮到展示层和摘要生成逻辑的讨论。
历史经验不是错的,但通常带着当时的前提。老编辑说“重发一次就好”,可能成立的条件是:当年改动幅度小、页面权重集中、重发被当作一次有效更新。放到当前项目,如果页面正文只是改了几个同义词,重发可能被视为无实质变化;如果站点结构、栏目层级或模板已经调整过,当年的因果关系也未必还成立。
可操作的做法是把经验写成条件句,而不是结论句:“在改动幅度达到某个程度、且页面可正常访问的前提下,重发曾带来摘要变化。”写成条件句后,你就能逐条核对当前项目是否满足这些前提,而不是照搬动作。
假设当前有二十个页面都出现摘要偏旧。不要一次全改。选其中三到五个改动幅度明确的页面,只做一次实质性内容更新,记录改动前后的正文、访问记录和摘要文字,观察一段时间后再决定是否推广到其余页面。
这一步的结果影响后续取舍:如果小范围里摘要跟随更新,说明问题主要在内容更新力度,可以按同样标准处理其余页面;如果小范围里正文和索引都变了、摘要仍不动,说明瓶颈不在内容层,继续加大改动幅度只是浪费人力,应转向展示层的排查。注意,观察期内摘要没变,也可能只是时间未到,不能单凭一次未变就断定处理无效。
当经验与当前条件冲突,优先级可以按这个顺序排:能直接改变下一步动作的证据优先,能区分不同原因的观察优先,纯结论性的说法最后。访问记录能区分“来过”和“没来过”,所以排在前面;摘要文字比对能区分“展示未变”和“展示已变”,也排前面;而“以前这样就好了”只能作为待验证的假设。
还要接受一个现实:有些分歧在当下无法判定。比如摘要变化本身可能滞后于索引更新,也可能受页面模板影响,这两种解释都能说明“摘要没变”。这时正确的取舍不是强行统一认识,而是把无法判定的部分记为待观察项,先推进能推进的动作。
回到开头那个假设情境:如果日志确认蜘蛛来访、正文改动幅度又足够明显,那么老编辑的经验在当前条件下仍然可用;如果日志确认来访但改动幅度很小,那么优先动作是加大内容更新,而不是重复重发。取舍的依据始终是可核对的证据,而不是经验本身的新旧。