BLOG · 2026-09-15 Blog · 7 min

图片优化 2026

Sharp + CDN 压缩参数,1张 2MB 图压到 80KB 不糊。

一张 2MB 的头图能吃掉整页一半的加载时间。图片优化是提速清单里 ROI 最高的一项:格式、尺寸、压缩三步,一张 2MB 的图能压到 80KB 还不糊。

下面是可直接跑的命令和参数。

核心结论
  • 照片 AVIF/WebP,图标 SVG,截图 PNG 只在必要时
  • 按展示宽度输出多档,srcset 交给浏览器选
  • 压缩一次到位:质量 75–82 是甜点区
  • 首屏 preload,其余懒加载

格式选择

  • ·照片/头图:AVIF 优先,不兼容回退 WebP
  • ·Logo/图标:SVG,无限缩放零体积
  • ·简单图形:PNG-8;透明复杂图才用 PNG-24

压缩命令

# 转 AVIF(质量 75)
# avifenc input.png -o output.avif --min 0 --max 32
# 或用 sharp 一次生成多尺寸
# sharp input.png --resize 1200 --webp "{quality:80}" -o hero-1200.webp

响应式输出

<img src="/hero-800.webp"
  srcset="/hero-480.webp 480w, /hero-800.webp 800w, /hero-1200.webp 1200w"
  sizes="(max-width: 640px) 100vw, 800px"
  width="1200" height="630" alt="WebTagr 分析结果" loading="lazy">

CDN 参数

图床/CDN 一般支持 ?format=auto&width=800 这类参数,迁移期先用参数顶住,再逐步换本地多尺寸文件。

上线前检查清单
  • 01首屏图是否 preload + 定宽高
  • 02是否有 AVIF/WebP 多档
  • 03质量是否在 75–82
  • 04非首屏是否懒加载
  • 05单图是否 < 150KB

常见问题

AVIF 兼容性够了吗?

2026 年主流全支持,配 WebP 回退即可放心用。

压多少算过头?

文字边缘发虚、渐变断层就是过头,回调 5 个点。

GIF 动图怎么办?

转 WebM/MP4,体积差一个数量级,体验更好。