当医疗站的科室页、医生页、文章页从几十个涨到几百上千个,最先失效的不是策略,而是逐页手工改标题、逐条提交URL、逐个检查内链这类动作。判断标准可以归结为一句:这项工作是否需要针对每一页做独立判断。需要独立判断的继续手工,规则一致、重复出现的交给模板或脚本。下面以你手上的一份页面清单为对象,给出可执行的处理方案。
拿一份包含URL、页面类型、目标科室、上次修改时间的表格,逐行标注这项工作属于哪一类。
分类完成后,搬运型工作就是需要转移的对象。判断型工作保留人工,但要把判断结果沉淀成字段,否则每次新增页面都要重新判断一遍。
不必等到出错才转移。以下信号出现任意一个,就值得把这项工作改成规则化处理。
反过来说,如果一项工作的规则本身还在频繁调整,比如承接词的选择策略每周都在变,此时自动化会把不稳定的规则固化,代价高于收益。
假设你手上有一份两百行的医生页清单,每行包含医生姓名、所属科室、职称、页面URL。当前做法是逐页打开,手工确认标题是否包含科室名、描述是否重复、页面是否有返回科室列表的链接。
第一步,把确认规则写清楚:标题需包含医生姓名与科室名,描述在同一科室内部不得重复,页面需存在一条指向科室列表的链接。第二步,用脚本或站内模板批量读取这些字段,输出一份对照表,标出不符合规则的行。第三步,只对标记出的行做人工处理,其余不动。
这个动作的结果会直接影响下一步:如果对照表里同一科室的描述重复集中出现,说明问题出在模板而非个别页面,应改模板并重新生成;如果重复分散在不同科室,说明是个别编辑习惯问题,应补充填写规范而不是动模板。假设两百行中有三十行被标记,其中二十五行集中在三个科室,那么优先修模板比逐页改更省事。
规则化处理解决的是执行一致性,不解决内容是否成立。以下环节即使页面规模很大,也不适合完全交给规则。
另外要区分抓取与索引:批量提交URL或生成站点地图只是帮助发现页面,提交量增加或减少本身不能单独说明处理是否正确,还需要结合页面是否被实际访问、是否出现在结果中分别判断。抓取量归零也可能来自服务器响应、robots设置或页面本身被合并,不能直接归因于某一次改动。
继续手工的条件是:页面数量仍在人工可覆盖范围内,规则尚未稳定,或者这项工作本身需要逐页判断。转移为规则化的条件是:规则已经明确、重复次数已经出现、且出错后需要可追溯。
代价的差别在于,手工的成本随页面数增长,规则化的成本集中在前期写规则和后期维护规则。如果规则预计还会改三次以上,先手工、把每次判断结果记进表格,等规则稳定后再一次性转移,通常比边改规则边维护脚本更划算。如果规则已经稳定,每多一页手工处理都是纯损耗。
落到具体动作上:先完成分类和规则书写,再决定转移哪几项。分类这一步的结果决定了后面所有取舍,跳过它直接上批量工具,往往会把还需要判断的工作也一起固化。