Wix LCP image loading and the Core Web Vitals

No loading attribute, loading="lazy", or loading="eager" on the LCP image: how many sites use each, where the 8 ms lazy-load delay shows up, and whether fetchpriority="high" overrides it.

Field data PhoneDesktopAll Scope All sites October 2026 edition · All devices field outcomes · Wix sites only
Wix Scoped to 5,623 sites out of 203,892 analyzed (cms) Compare with all sites →

Of the Wix sites whose LCP element is an <img>, 22.2% put loading="lazy" on that image. 70.6% leave loading at the browser default and 7.2% set loading="eager". Across Wix sites, 94% with default loading and 94% with a lazy-loaded LCP image have a good LCP. In Chrome's field data, loading="lazy" adds 8 ms of resource load delay before the image request starts (465 ms against 457 ms).

The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with loading="lazy" have a good LCP most often at 94%, followed by no loading attribute at 94% and loading="eager" at 93%. Within Wix, default loading and loading="lazy" have a good LCP about equally often.

SitesGood, needs improvement, poor LCPMedian
All Wix sites5,33394%1.2s
loading="lazy" 22.2%82894%1.2s
No loading attribute (auto) 70.6%2,64894%1.2s
loading="eager" 7.2%26593%1.2s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
2

LCP image loading usage

An <img> element is the Largest Contentful Paint element on 70.4% of audited Wix sites, ahead of CSS background images (1.1%) and text blocks (26.7%). Among the 3,936 Wix sites with an <img> LCP element, 70.6% omit the loading attribute, 22.2% set loading="lazy", and 7.2% set loading="eager".

LCP element type across all audited sites 5,589 sites
<img> element 70.4%Text block 26.7%
Sites with an <img> LCP element by loading attribute 3,936 sites
No loading attribute (auto) 70.6% loading="lazy" 22.2%
No loading attribute (auto) 70.6% loading="lazy" 22.2% loading="eager" 7.2%
The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Where lazy LCP images lose time: the four LCP phases

Putting loading="lazy" on the LCP image raises median resource load delay from 457 ms to 465 ms in Chrome's field data. That is a 8 ms wait before the browser starts downloading the image. Without loading="lazy", Chrome's preload scanner queues the <img> as soon as it reads the HTML. With loading="lazy", Chrome holds the request back until layout confirms the image sits in the viewport. Sites with loading="eager" show a 465 ms load delay in the field because many of them also preload other assets or load the hero image from a script.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
Wix sites with an <img> LCP element by loading attribute 2,846419 ms460 ms140 ms152 ms460 mslab 460 ms1.2s
No loading attribute (auto) 2,035418 ms457 ms140 ms152 ms457 mslab 457 ms1.2s
loading="lazy" 609433 ms465 ms139 ms154 ms465 mslab 465 ms1.2s
loading="eager" 202413 ms465 ms139 ms152 ms465 mslab 465 ms1.2s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
4

LCP loading combined with fetchpriority and preload

Adding fetchpriority="high" to a lazy-loaded LCP image does not fix the lazy-load delay. The 84 sites with both attributes still wait 565 ms before the image request starts, and 89% have a good LCP. In Chromium, ShouldDeferImageLoad runs before resource priority is assigned, so the request stays deferred until layout.

loading attribute No priority hint fetchpriority="high" <link rel="preload"> <link rel="preconnect">
No loading attribute (auto)
100% 377 ms delay 33 sites
94% 459 ms delay 2,745 sites
few sites few sites
loading="lazy"
95% 458 ms delay 789 sites
89% 565 ms delay 84 sites
few sites few sites
loading="eager"
93% 465 ms delay 285 sites
few sites few sites few sites
The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
5

LCP image loading per framework

React puts loading="lazy" on the LCP image on 22% of its sites, and 94% of React sites have a good LCP.

FrameworkLCP image loading on its sitesGood LCP
Wix sites with an <img> LCP element by loading attribute 3,936 sitesNo loading attribute (auto) 71%loading="lazy" 22%94%
React 3,936 sitesNo loading attribute (auto) 71%loading="lazy" 22%94%
No loading attribute (auto) loading="lazy" loading="eager"
The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
6

LCP image loading or the framework

Does the framework explain the loading="lazy" pass rate?

On React, 94% of sites with default loading have a good LCP, against 94% of React sites with loading="lazy" on the LCP image. Within React, sites with default loading and loading="lazy" have a good LCP about equally often.

Why loading="lazy" holds back the preload scanner

Chrome's HTML preload scanner finds <img> tags in the first bytes of the document. It starts fetching default and eager images right away, before stylesheets and blocking scripts finish downloading. When an <img> carries loading="lazy", Chromium's ShouldDeferImageLoad check stops the preload scanner from queuing the request. The image waits until CSS downloads, the render tree builds, and layout confirms the image sits in the viewport. WordPress core has skipped loading="lazy" on the first three content images since version 6.3. Theme templates and page builders that hardcode loading="lazy" on hero banners still pay the full layout wait.

The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
7

Understanding LCP image loading

Leave the loading attribute off the LCP image, or set loading="eager", and pair it with fetchpriority="high". Never put loading="lazy" on an image in the initial viewport. In Chrome's field data, loading="lazy" adds 8 ms of resource load delay (465 ms against 457 ms for default loading). Adding fetchpriority="high" on top of loading="lazy" does not fix that delay, because Chromium decides whether to defer the image before it applies resource priority. Omitting the loading attribute and setting loading="eager" do the exact same thing in the browser: both fetch the image right away. Omitting the attribute is cleaner, and fetchpriority="high" raises the network priority from Low to High before layout runs.

The State of Web Vitals · October 2026 · Wix: 5,621 crawled sites · 5,333 with all devices field data · 3,936 sites with an <img> LCP element by loading attributeBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals LCP origin → LCP image format → LCP image size → LCP element type → By Arjen Karel · 5,621 crawled Wix sites (5,333 with all devices Chrome field data, 3,936 sites with an <img> LCP element by loading attribute, October 2026) · How we measured