Google Lighthouse 初学者指南:真实的投资组合优化案例研究

发布: (2026年3月25日 GMT+8 20:43)
12 分钟阅读
原文: Dev.to

I’m happy to translate the article for you, but I’ll need the full text of the post (the content you’d like translated). Could you please paste the article’s body here? Once I have the text, I’ll provide a Simplified Chinese translation while preserving the original formatting, markdown, and any code blocks or URLs.

介绍

您已经了解了 Google Lighthouse 是什么、它是如何工作的以及各项指标的含义。大多数教程就此止步,但本文将向您展示 如何真正提升 这些分数。

本文面向初级开发者——尤其是首次使用 Lighthouse 的人——提供关于如何根据 Lighthouse 报告采取实际行动的实用指南。

前置条件

  • 对核心网页指标(Core Web Vitals)和加载指标有基本了解:FCP、LCP、INP、CLS

准备您的环境

  1. 在正确的环境中测试

    • 为了衡量真实世界的性能,请在站点托管的 实时域名 上运行 Lighthouse。
    • 您也可以在开发期间或本地生产构建上运行它以捕获问题,但 不要使用这些结果来判断站点的真实性能
  2. 在运行 Lighthouse 之前使用隐身窗口。这可以避免浏览器扩展干扰测试结果。

💡 小贴士

PageSpeed Insights 显示真实用户通过 Chrome UX Report(CrUX)数据体验您站点的情况。它非常适合发现真实世界的性能问题,并基于实际用户数据做出决策。

注意: PageSpeed Insights 也使用 Google Lighthouse,因此实验室数据、审计以及改进建议的呈现方式非常相似。

在分析 Lighthouse 结果时需要注意的事项

  • 分数会波动,不同扫描之间可能相差 20–30 分。

    • 运行 Lighthouse 4–5 次 以获得可靠的整体情况。
    • 也可以在 1–2 小时后再运行一次,以获得更广阔的视角。
  • 修复问题后,不要只看最终的 Performance 分数。

    • 返回 Insights(洞察)标签页。
    • 确认该洞察不再被高亮显示或其严重程度已降低。
    • 查看相关数值(节省的时间、文件大小、延迟)以确认实际改进。
  • 某些修复 不会导致 Performance 分数出现明显跳升,但仍能提升整体性能。

  • 不必修复 Lighthouse 标记的所有项

    • 有些项目是站点构建方式固有的,除非导致重大问题,否则不值得投入大量精力。
  • 优先级排序

    • 红色(高警告)洞察 通常影响最大,应该首先处理。
    • 黄色(中等警告)洞察 也值得考虑,尤其是修复成本低且易于实现时。

实践演练:我的作品集

基准 Lighthouse 运行

在进行任何更改之前,我多次运行 Lighthouse 以建立可靠的基准。

版本截图
Mobile(插入移动端截图)
Desktop(插入桌面端截图)

为什么关注移动端? Google 采用移动优先策略,而在我的案例中,移动端和桌面端加载的是相同的资源(仅布局不同)。提升移动端的结果也会同步提升桌面端的结果。

初始得分

  • 移动端性能得分: 55

指标贡献

指标贡献显示内容
TBT30 / 30已经处于良好状态
CLS25 / 25布局偏移不是问题
Speed Index (SI)0 / 10页面视觉加载时间过长
FCP0 / 10首次可见内容出现得太晚
LCP0 / 25主要内容加载得太晚

要点: 页面稳定性(CLS、TBT)良好,但 内容显示缓慢(FCP、LCP、Speed Index)。接下来的步骤将聚焦这三个指标,首先从 FCP 入手,因为更早在屏幕上呈现内容通常也能帮助提升 LCP。

Source:

针对 FCP 的优化

为 FCP 过滤 Lighthouse 建议

通常我会从 Insights 选项卡开始,但有一个诊断信息吸引了我的注意:

潜在节省: 2445 KiB 来自 未使用的 JavaScript

我发现的情况

  • 构建后的 JavaScript 包总大小:2517 KB —— 对于一个简单的作品集页面来说简直荒唐。
  • 大部分体积来自 home.js2005 KB)和 index.js472 KB)。

调查过程

我检查了组件中导入的库,发现 一个库 占据了大部分体积。我只需要其中的一小部分,于是我:

  1. 更改导入方式,只引入所需的子集。
  2. 重新 构建 项目。

结果

  • 包体积大幅下降(从约 2.5 MB 降至几百 KB)。
  • 浏览器现在下载的代码更少,页面能够更快开始渲染。

对评分的影响:

  • 性能得分从 55 提升到 87
  • FCP 和 LCP 均得到改善,因为页面能够更早显示内容。

注意: 即使 Lighthouse 将 “Reduce unused JavaScript” 标记为 未评分,但削减如此大量的 JavaScript 对整体性能产生了巨大的影响。

修复摘要

修复更改内容为什么有效
修剪未使用的 JavaScript用最小子集替换了大型库导入减少了 bundle 大小 → 更快的下载 → 更早的内容绘制 (FCP) → 更好的 LCP
(文章继续时会列出其他修复)

最后思考

  • 运行多次 Lighthouse 审计 以获得稳定的基准。
  • 优先处理高严重性洞察(红色警告),但如果中等严重性的问题容易修复,也不要忽视。
  • 专注于对当前得分最重要的指标(例如 FCP、LCP、Speed Index)。
  • 即使是“未评分”的建议也可能产生巨大影响——始终调查大幅节省的警告。

通过遵循这种系统化的方法,你可以将 Lighthouse 从静态报告转变为 可操作的路线图,实现真正的性能提升。祝优化愉快!

Source:

提升页面性能:我的做法与原因

1. 减少 JavaScript 包体积

  • 原始包体积 很大,导致页面首次加载变慢。
  • 通过剔除未使用的代码并在可能的地方使用懒加载,JavaScript 大小显著下降(见诊断截图)。

2. 自行托管 Google Fonts

为什么?

好处说明
无第三方依赖摆脱对 Google 字体分发服务的依赖。
更快的连接消除一次额外的 DNS/TCP/TLS 握手。
隐私友好不会把访客 IP 或请求数据发送给 Google(有助于 GDPR 合规)。

怎么做?

  1. 从 Google Fonts 下载所需字体。
  2. .ttf 文件转换为 WOFF2(更小、针对网页优化)。
    • 使用转换工具或 Google‑WebFont‑Helper 网站获取已生成的 WOFF2 文件。

自行托管后,性能得分跃升至 ≈95‑96,因为外部请求及其阻塞渲染的延迟消失了。

3. 优先加载 Largest Contentful Paint (LCP) 图像

LCP 图像原本以普通优先级加载,导致延迟。

<!-- Placeholder for hero image -->
<img src="hero.jpg" fetchpriority="high" alt="Hero image">

添加 fetchpriority="high" 可让浏览器优先加载该图像。
结果: 数值得分变化不大,但这是一项对实际加载速度非常有帮助的最佳实践。

4. 优化图像交付

原始格式新格式原因
PNG / JPEGWebPWebP 在保持相似视觉质量的前提下,可将文件体积缩小约 75‑80 %。
  • 除了已经只有 30 KB 的 LCP 图像外,所有图像均已转换为 WebP。
  • 合计图像体积从 ≈8 000 KB → 200 KB

5. 最终结果

指标之前之后
移动端性能得分5596
桌面端性能得分68100
JavaScript 包体积大幅缩小
字体请求外部(Google Fonts)自行托管
LCP 图像优先级普通fetchpriority="high"
总图像体积~8 MB~200 KB

注: 还处理了一些可访问性和 SEO 的细节,但此处省略,以便聚焦于性能。

6. 网络依赖树问题(已忽略)

Lighthouse 报告了一个 高危 的 “Network Dependency Tree” 问题:部分资源等待前置请求完成,阻碍了完全并行加载。

  • 解决该问题需要对页面架构进行大幅重写。
  • 关键路径延迟 仅约 300 ms,相比其他收益可忽略不计。

因此,我保持了原样。

7. 保持性能健康

  1. 每次重大改动后运行 Lighthouse(新增章节、库、图像等)。
  2. 将 Lighthouse 集成到 CI/CD,并设定最低性能阈值——构建失败时会立即提醒。
  3. 持续跟踪关键指标(FCP、LCP、CLS),并导出报告(HTML/JSON)以保存历史记录。
  4. 使用 PageSpeed Insights 获取真实用户数据(CrUX),待流量增长后使用。
  5. 可选的高级监控:
    • 引入 web‑vitals 库收集真实用户指标。
    • 将这些指标送入分析平台,实现持续可视化。

底线: 目标并非追求完美分数,而是了解并持续解决拖慢站点的因素。一旦能熟练阅读 Lighthouse 报告,判断该修哪些、该忽略哪些以及如何保持站点快速,就变得轻而易举。

0 浏览
Back to Blog

相关文章

阅读更多 »

通过 PLP SSR 优化电子商务 SEO

从不可见到可索引:将电子商务 PLP 从 CSR 迁移到 SSR 在电子商务的世界里,如果 Google 在初始 HTML 中看不到你的产品,t...