整站页脚列了 68 个链接和 12 张图标,移动端 LCP 从 2.4 秒涨到 4.2 秒,PageSpeed 直接掉到黄区。乍看像缓存或者权限的锅,追下去往往不是。
npx lighthouse https://example.com --preset=desktop --only-categories=performance # 记录 LCP 与 DOM 节点数
追下去是这么回事:页脚把所有栏目和标签一次性铺开,DOM 节点多,图标又是独立的 png 请求。首屏渲染被这些屏幕外的节点拖慢。
「页脚链接过多性能」相关的日志我一般连着看前后五分钟,单看一条报错经常判断不出是哪一步失败。验证用真实数据走一遍,测试数据太干净,边界情况根本碰不到。
能分两步做的操作就别合成一步,中间看一眼返回值,出问题好判断。报错里带路径的,先去看那个路径在不在、权限对不对。
同一份配置存在多处的,先确认改的是被加载的那一份。新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。
具体做法是,页脚链接收到 20 个以内,其余收进站点地图页面;图标合成一张雪碧图或用内联 SVG,减少请求数;改完用 Lighthouse 移动端跑一次,对比 LCP。
验收就看一点,移动端 LCP 回到 2.5 秒以内,页脚链接数不超过 20。
