开始做web前端性能优化前,至少需要准备四类网站资料:可访问的页面清单与关键页面地址、页面加载的静态资源清单、真实用户或实验室性能数据、以及页面结构与业务优先级说明。资料不齐就动手,常见结果是改了首页却漏掉核心流程页,或者只凭感觉压缩图片,无法判断优化是否有效。
假设你接手一个内容站,时间和人手只够先做一轮优化。你手上只有一个首页网址,没有其他资料。此时你能做的只有打开首页看加载情况,但无法回答:哪些页面带来主要访问?列表页和详情页哪个更慢?图片和脚本分别占多少体积?改完之后对比哪项数据?
如果换成资料齐全的情况,你会先拿到一份页面清单,标出首页、栏目页、详情页和表单页,再拿到一份资源清单,记录每类资源的数量和体积,最后拿到一份性能数据,记录各页面的加载耗时。这样就能按“访问量高且加载慢”的顺序安排工作,而不是从最容易改的地方开始。
常见错误有三种:只准备首页,忽略转化路径上的页面;只记录资源数量,不记录资源体积和加载顺序;只看一次打开速度,不看不同网络条件下的差异。这三种错误都会让优化方向偏掉。
页面资料的作用是划定优化范围。需要准备的内容包括:
判断结果的方法很直接:如果一份页面清单无法回答“先改哪三个页面”,说明优先级资料还不够。适用条件是页面数量较多、模板复用明显;如果网站只有少量静态页面,可以把清单压缩成一张表。
前端性能问题大多落在资源上,因此需要准备资源层面的资料。可以按下面几项检查:
例如,假设某详情页引用了十张图片,其中三张是首屏可见的大图,其余在滚动后才出现。资料里如果只写“十张图片”,就无法决定先处理哪几张;写清首屏可见与延迟可见,才能确定优先压缩或延迟加载的对象。这里的“首屏可见”是判断条件,不是固定结论,需要按实际页面布局确认。
没有数据,优化就只能靠猜。开始前需要准备两类数据:
两类数据用途不同。真实用户数据反映实际访问体验,适合确定问题范围;实验室数据便于重复对比,适合验证某次改动是否生效。如果只有实验室数据,不要直接推断所有用户都遇到同样问题;如果只有真实用户数据,也要注意样本是否覆盖主要页面和主要设备。
检查项是:同一页面在改动前后,是否用相同测量条件记录同一项指标。条件不一致,对比结果就不可靠。
资料备齐后,可以先做一次简短盘点,而不是立刻改代码。具体步骤是:
如果盘点后发现资料仍缺关键一项,例如没有页面访问分布,就先补这一项,再决定优化顺序。下一步可以拿现有页面清单做一次首屏资源标记,把每张图片、每个脚本标注为“首屏必需”或“可延后”,这份标记会直接决定后续先处理哪些文件。