LCP image origin on React sites

Serving the hero image from your own domain versus an external image CDN: how a separate connection adds 143 ms of resource load delay (478 ms vs 335 ms) and when <link rel="preconnect"> pays it back.

Field data PhoneDesktopAll Scope All sites October 2026 edition · Desktop field outcomes · React sites only
React Scoped to 9,570 sites out of 210,902 analyzed (frameworks) Compare with all sites →

72.0% of React sites use third-party LCP image hosting, and 88% of those sites have a good LCP, against 79% of all React sites.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
1

LCP pass rate

Sites with third-party LCP image hosting have a good LCP most often: 88%, against 79% of all React sites. Sites with first-party image hosting have it least often, at 71%.

SitesGood, needs improvement, poor LCPMedian
All React sites1,97979%1.5s
Third-party domain 72.0%71888%1.3s
Same-origin / first-party 28.0%75571%1.8s
GoodNeeds improvementPoorSites: with Chrome field data
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
2

LCP image hosting usage

Third-party is the most used: 72.0% of React sites.

Third-party domain 72.0% Same-origin / first-party 28.0%
Third-party domain 72.0% Same-origin / first-party 28.0%
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
3

Where third-party LCP images lose and win time: the four LCP phases

Across the four LCP sub-parts in Chrome's field data, the largest gap between third-party and first-party sits in time to first byte (TTFB): 403 ms median for third-party against 1016 ms for first-party. Overall median field LCP is 1.3s for third-party (TTFB 403 ms, load delay 478 ms, load duration 201 ms, render delay 147 ms) versus 1.8s for first-party.

Median LCP phase breakdown (Chrome field p75) Load delay Median LCP
React sites with LCP image hosting 1,018722 ms400 ms195 ms400 mslab 424 ms1.6s
Same-origin / first-party 5991016 ms335 ms247 ms335 mslab 375 ms1.8s
Third-party domain 419403 ms478 ms201 ms478 mslab 461 ms1.3s
TTFB Resource load delay Resource load time Element render delay
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
4

LCP image origin combined with preconnect and priority hints

Combining third-party with Highprio reaches 92% good LCP across 381 sites (481 ms median load delay). At the other end, first-party paired with None sits at 70% across 579 sites (371 ms median load delay).

Image origin No priority hint <link rel="preconnect"> fetchpriority="high" <link rel="preload">
Same-origin / first-party
70% 371 ms delay 1,613 sites
few sites
75% 230 ms delay 295 sites
77% 235 ms delay 100 sites
Third-party domain
85% 471 ms delay 1,852 sites
73% 406 ms delay 238 sites
92% 481 ms delay 3,057 sites
few sites
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
5

LCP image hosting per platform

Wix sets the LCP image hosting to third-party on 100% of its sites, and 92% of Wix sites have a good LCP, against 79% of all sites. WordPress sets the LCP image hosting to first-party on 93% of its sites, and 66% of WordPress sites have a good LCP.

PlatformLCP image hosting on its sitesGood LCP
React sites with LCP image hosting 7,170 sitesThird-party domain 72%Same-origin / first-party 28%79%
Wix 4,215 sitesThird-party domain 100%92%
WordPress 1,816 sitesSame-origin / first-party 93%66%
Third-party domain Same-origin / first-party
The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
6

LCP image origin or the platform

Does the platform explain the LCP image hosting difference?

On WordPress, 68% of sites with third-party LCP image hosting have a good LCP, against 65% of WordPress sites with first-party. Within WordPress, sites with third-party and first-party have a good LCP about equally often.

Why third-party hero images pay a connection tax in resource load delay

When the LCP image lives on the same origin as the HTML document, the browser reuses the open HTTP/2 or HTTP/3 connection immediately. When the image sits on a separate domain, Chrome must resolve DNS, complete a TCP or QUIC handshake, and negotiate TLS before requesting the first image byte. That handshake shows up directly in Chrome's field data: third-party LCP images have a 478 ms median resource load delay compared with 335 ms for first-party images (143 ms slower to start), even though dedicated image CDNs finish the download slightly faster (201 ms vs 122 ms).

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
7

Understanding LCP image origin

Serve the LCP image from the same origin as your HTML document whenever possible, so the image rides the already-open HTTP/2 or HTTP/3 connection. If you use a dedicated image CDN on a separate domain (72.0% of audited sites), add <link rel="preconnect" href="https://your-cdn.example" crossorigin> in the document <head>. In Chrome's field data, third-party LCP images without a hint wait 471 ms before the download starts, while pairing a third-party image with <link rel="preconnect"> cuts resource load delay to 406 ms and lifts good LCP from 85% to 73%.

The State of Web Vitals · October 2026 · React: 9,570 crawled sites · 1,979 with desktop field data · 7,170 sites with LCP image hostingBy Arjen Karel · corewebvitals.io/state-of-cwv
Related signals LCP image size → LCP loading attribute → LCP element type → LCP responsive markup → By Arjen Karel · 9,570 crawled React sites (1,979 with desktop Chrome field data, 7,170 sites with LCP image hosting, October 2026) · How we measured