拆分的依据不是主题大小,而是用户任务是否可独立完成、可独立衡量。如果两个子主题共用同一批查询意图、同一套页面元素、同一项验收指标,它们就该留在同一页;只有当某一子主题能单独回答一类问题、且改动它会牵动不同的资源与验收方式时,才值得拆成独立任务。页面加载时间恰好是容易踩坑的例子:它既是技术指标,又是体验描述,还常被当成内容主题,三者混在一页里,规模小时看不出问题,页面一多就出现例外。
常见情形是:先在一两个页面上围绕页面加载时间做调整,比如压缩首屏资源、延后非关键脚本,观察到的效果不错,于是把这套做法写成模板推广到全站。结果部分页面改善,部分页面毫无变化,甚至出现原本正常的页面变差。这时容易得出“方法不通用”的结论,但更可能是拆分维度选错了。
假设某站点把“页面加载时间”当成一个任务,要求所有页面都按同一份清单处理。样本页恰好是首屏依赖大量图片的列表页,压缩图片收益明显;而推广后遇到的是以文本为主、瓶颈在第三方脚本的详情页,压缩图片自然没有效果。这不是方法失效,而是任务边界没有覆盖真正的差异来源。
解释一:应该按资源类型拆分。持这种看法的人认为,页面加载时间的瓶颈来自不同资源——图片、字体、脚本、接口响应——每一类对应不同的处理手段和验收口径。按资源拆,任务边界清晰,谁负责什么一目了然。
解释二:应该按用户任务拆分。这种看法认为,资源只是手段,真正决定拆分的是用户来这个页面要完成什么。同一个页面里,用户可能既要快速看到价格,又要快速完成筛选,这两件事对加载的敏感程度不同,验收标准也不同。按用户任务拆,才能判断哪一部分值得投入。
两种解释都能解释“样本有效、推广失效”,区别在于它们指向的动作不同:前者会让团队去建立资源清单和监控项,后者会让团队去梳理页面上的关键交互路径。选错方向,后续投入会持续偏离真实瓶颈。
要判断哪一种解释更贴合当前站点,可以看三类证据:
一个可操作的动作是:选取三个结构不同的页面,分别记录它们的关键用户任务和主要资源瓶颈,然后只对其中一个页面的单一环节做改动,观察另外两个页面是否受影响。如果互不影响,说明可以按页面或任务拆分;如果互相牵动,说明存在共享依赖,应先处理共享层再谈拆分。这个动作的结果直接决定下一步是拆分页面任务,还是先收敛公共资源。
即便在某几个页面上验证了拆分方式,也不能直接推广到全站。以下条件会改变结论:
判断是否拆分时,可以问一句:这个子主题能否独立设定验收标准,并且独立验收不会让另一个子主题的结论失真?能,就拆;不能,就保留在同一任务里,用页面内的结构区分层次。页面加载时间相关的优化尤其如此——它常常是多个任务的共同约束,而不是一个可以单独交付的任务。