1,677 张首页图片:67% 标了 loading lazy,9 个站连第一张也标了

loading lazy 在 27 个首页的 1,677 张图上是什么分布:1,123 张标了 lazy、133 张 eager、421 张什么都没标。2026-08-22 单次抓取,另有 9 个站把文档里第一张图也延后了。

改写与发布5 分钟读完1269 次阅读
1,677 张首页图片:67% 标了 loading lazy,9 个站连第一张也标了

实测 · 2026-08-22 · 27 个首页 · 1,677 张图 · 单次抓取

样本与口径:2026-08-15 起一直在用的那 30 个站,2026-08-22 每站首页抓一次,浏览器 UA。把交付 HTML 里每个 <img> 按文档顺序记下来,连同它的 loadingfetchprioritydecoding 属性。

如果你正在给全站图片加 loading lazy,先看一眼这批数据落在哪一格:1,677 张图里 1,123 张标了 lazy,133 张标了 eager,421 张什么都没标。真正值得看的是另一个数 —— 27 个站里有 9 个,把文档里的第一张图也标成了 lazy。Google 自己的性能文档明说这件事不该做,不过后面有个前提要交代。

怎么测的

每站一次 HTTP 请求,不渲染、不重试。纳入规则跑数前定死:状态 200、响应体不少于 10,000 字节、含 <body。30 个里 3 个没过 —— stackoverflow.commedium.com 回 403,www.reddit.com 回的是 8,393 字节的空壳 —— 剩下 27 个首页。

文档顺序不等于绘制顺序。我们记的是「HTML 里第一个 <img>」,不是「屏幕上最大的那块」。这两件事的差距,是本篇最要紧的一段。

标 loading lazy 的占了三分之二

四分之一的图什么属性都没有。按 MDN 的说法,那等于 eager —— 它是这个属性的默认值。

取值张数占比
loading="lazy"1,12367.0%
没有属性(默认 eager)42125.1%
loading="eager"1337.9%

三个站是全标:developer.mozilla.org(1/1)、www.netlify.com(23/23)、github.com(24/24),一张不落。三个站是全不标:www.canva.com 26 张图上一个 loading 属性都没有,Hacker News 的 3 张和 Wikipedia 的 1 张同样是光的。

Cloudflare 是这批里的反面:66 张图里 64 张显式写了 eager,1 张 lazy,1 张没属性,而第一张带的是 fetchpriority="high"

Google 是怎么说第一张图的

web.dev 上两页说的是同一件事,语气不同。《Browser-level image lazy loading for the web》页面标注更新于 2024-08-13,2026-08-22 读到的原文:「Caution: Don't lazy-load images that are likely to be in-viewport when the page loads, especially LCP images.」同页还写着,首屏可见的图应当「use the browser's default eager loading so they can be available right away」。

《Optimize Largest Contentful Paint》标注更新于 2025-03-31,同日读到的原文把余地也收了:「Warning: Never lazy-load your LCP image, as that will always lead to unnecessary resource load delay, and will have a negative impact on LCP.」反过来那一半它也给了:图片重要就「use Fetch Priority with fetchpriority="high"」。

懒加载是在决定「读者暂时看不到什么」。第一张图恰恰是他最先看到的。

9 个站把第一张图延后了

把这 9 张图具体是什么列出来,这个数的读法就变了。

站点第一张图属性
railway.comhero/bg-train-day-960.webplazy,fetchpriority="low"
discord.com品牌字标 SVGlazy
techcrunch.com站点标识 SVGlazy
www.netlify.com一张客户 logo SVGlazy,fetchpriority="auto"
github.comparticles-170bd1fd231f4669.pnglazy
linear.appCDN 下发的图lazy
www.notion.com导航区图标,宽 384lazy
webflow.comCDN 下发的图lazy
developer.mozilla.org贡献者头像lazy

大半是 logo 和图标,体积小、也不是任何人屏幕上最大的那块,延后几乎不花钱。Railway 那张是另一回事:它是主视觉背景,而紧挨着的下一张是同一张主视觉的另一种配色,标着 loading="eager"fetchpriority="high"。一延一抢,这是刻意配的一对,光数属性数不出来。

几乎没人用 fetchpriority

27 个首页里只有 8 个给任何一张图设过 fetchpriority="high",其中 6 个只设了一次。

站点高优先级图
www.nytimes.com6 张
www.cloudflare.com1 张(主视觉)
arstechnica.com1 张(头条配图)
www.theverge.com1 张
railway、webflow、shopify、techcrunch各 1 张

剩下 19 个站,所有图都留在浏览器的默认优先级上。顺带说一个小意外:The Verge 首页 HTML 里第一个 <img>noscript 里那枚指向 google-analytics.com 的统计像素,第二张才是头条图,而那张确实带了高优先级。整批站一共只有 6 个 <iframe>,没有一个是懒加载的。

这次测不到的部分

测不出这 27 个页面里哪个元素是 LCP。那是绘制时由视口大小、CSS、字体和网络一起决定的,单次服务端抓取一个都看不到。所以「9 个站延迟了第一张图」是标记层的事实,只是性能层的一个假设。

我们没有量任何一个站的 LCP,也不打算拿属性计数冒充性能结论。这 9 个里可能有两个真的慢了半秒,也可能有七个只是延迟了一张 4 KB 的 logo,什么都没损失。

还有一层:CSS 背景图同样可以是 LCP 元素,而这次解析完全看不见它。主视觉是从样式表里画出来的站,它的 <img> 属性说明不了渲染有多快。

对做站的人意味着什么

这个检查两分钟就能做完,而且是一套模板做一次,不是一张图做一次。

  • 打开页面,先认出首屏里最大的那块是什么,再去看那个元素的标记 —— 不是看文件里第一个。
  • 给它加 fetchpriority="high",并且不要加懒加载。这 27 个站里有 19 个从来没设过任何优先级。
  • 别因为主题里有「全站图片懒加载」这个开关就整站打开。这批站三分之二已经是这样了,而在页面顶部,这个默认不是白拿的。
  • 别把没写属性的 <img> 当成疏漏。不写就是 eager,在首屏那是对的答案。

读交付的原始 HTML 而不是渲染后的页面,正是 QueryWin 的检查项在做的事;同一次解析还产出了这批站的图片 alt 实测。想知道这些页面回一个字节要多久,看首字节耗时那篇 —— 那次的结论是测量本身的问题比站点的问题更大。

常见问题

你们是怎么测的

2026-08-22 每站首页抓一次,浏览器 UA,不执行 JavaScript。按文档顺序记录每个 <img>loadingfetchprioritydecoding。不渲染,不重试。

lazy 和 eager 有什么区别

eager 是页面加载时就取,不管它在不在视口里;lazy 是等它靠近视口才取。按 MDN 的说法 eager 是默认值,所以没写 loading 属性的图,行为就是 eager。

是不是所有图片都该加懒加载

不是。Google 的说法很明确:首屏可能可见的图,尤其是 LCP 那张,不该延后。首屏以下随便加。

懒加载会影响 SEO 吗

延迟 LCP 那张图会影响 Largest Contentful Paint,这是有文档的核心网页指标。它会不会改变你在某个搜索里的位置,这次没测,我们也不猜。

1,677 张首页图片:67% 标了 loading lazy,9 个站连第一张也标了