标准答案

  1. LCP 图片应该直接出现在 HTML 或服务端首屏输出中,避免等客户端脚本执行后才插入。
  2. 首屏关键图不要使用 loading="lazy",否则浏览器可能延后请求。
  3. 为关键图片设置 width 和 height 或 aspect-ratio,避免加载后造成布局偏移。
  4. 可以用 rel="preload" 或 fetchpriority="high" 提示浏览器优先加载关键图。
  5. 同时要配合合适尺寸、现代格式、压缩和 CDN 缓存,避免传输体积过大。

题目解析

这题强调 HTML 结构对资源发现时机的影响。浏览器越早看到关键图片,越可能提前请求。

优化 LCP 不是只压缩图片,还包括发现时机、请求优先级、尺寸稳定和渲染路径。

代码示例

首屏主图可以配合 preload、fetchpriority 和固定尺寸。

HTML
<link rel="preload" as="image" href="/hero.webp">

<img
  src="/hero.webp"
  alt="产品首屏截图"
  width="1200"
  height="640"
  fetchpriority="high"
>

常见误区

  • 首屏 LCP 图片也使用懒加载,导致关键请求被延后。
  • 图片由客户端 JS 很晚才插入,浏览器无法提前发现资源。
  • 没有设置尺寸,图片加载后撑开页面造成 CLS。

作者信息