Skip to content

Commit 4432bcc

Browse files
Revise performance metrics and insights for 2025
Updated performance metrics and insights for Core Web Vitals, including changes in image formats and loading strategies. Improved clarity on LCP image hosting and lazy loading practices.
1 parent 72e4fea commit 4432bcc

1 file changed

Lines changed: 15 additions & 15 deletions

File tree

src/content/en/2025/performance.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ This chapter draws on data from the [HTTP Archive](https://httparchive.org/faq)
4040

4141
## Core Web Vitals Summary
4242

43-
Core Web Vitals are Googles main metrics for understanding how a webpage feels to real users. A page is considered good when:
43+
Core Web Vitals are Google's main metrics for understanding how a webpage feels to real users. A page is considered good when:
4444

4545
- Largest Contentful Paint (LCP): the main content appears quickly, so the page feels useful within 2.5 seconds.
4646
- Interaction to Next Paint (INP): the page responds to clicks or taps almost immediately, within 200 milliseconds.
@@ -192,6 +192,8 @@ Inline images (data URIs embedded directly in HTML) remain rare at around 0.5% o
192192

193193
#### LCP Image Formats
194194

195+
Given this continued dominance of images as the LCP element, it becomes relevant to look at the image formats in use, as it directly affects the resource load duration phase of LCP. While the [2024 chapter](https://almanac.httparchive.org/en/2024/performance#lcp-sub-parts) showed this phase has less optimization potential than others, image format efficiency still contributes to overall performance.
196+
195197
{{ figure_markup(
196198
image="lcp-image-formats-2025.png",
197199
caption="Percentage of pages that use a given image file format for their LCP images.",
@@ -202,15 +204,13 @@ chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vSdGtVc2AYakM2cNaGLtp
202204
)
203205
}}
204206

205-
Given this continued dominance of images as the LCP element, it becomes relevant to look at the image formats in use, as it directly affects the resource load duration phase of LCP. While the [2024 chapter](https://almanac.httparchive.org/en/2024/performance#lcp-sub-parts) showed this phase has less optimization potential than others, image format efficiency still contributes to overall performance.
206-
207-
Modern formats like WebP and AVIF offer better compression than legacy formats, meaning smaller file sizes and faster transfers. However, we see that legacy JPG and PNG are still highly used (JPG accounting for 57% of LCP images and PNG at 26%). There are some encouraging signs though– JPG usage has [decreased by 4%](https://docs.google.com/spreadsheets/d/15038wEIoqY53Y_kR8U6QWM-PBO31ZySQGi147ABTNBc/edit?gid=240287365#gid=240287365) since 2024 while WebP has increased by 4%. With PNG and other formats being the same as their 2024 percentages (aside from AVIF reaching 0.7%), it looks like web pages are moving from JPG to WebP, albeit slowly.
207+
Modern formats like WebP and AVIF offer better compression than legacy formats, meaning smaller file sizes and faster transfers. However, we see that legacy JPG and PNG are still highly used (JPG accounting for 57% of LCP images and PNG at 26%). There are some encouraging signs though, such as JPG usage has [decreased by 4%](https://docs.google.com/spreadsheets/d/15038wEIoqY53Y_kR8U6QWM-PBO31ZySQGi147ABTNBc/edit?gid=240287365#gid=240287365) since 2024 while WebP has increased by 4%. With PNG and other formats being the same as their 2024 percentages (aside from AVIF reaching 0.7%), it looks like web pages are moving from JPG to WebP, albeit slowly.
208208

209209
This slow adoption may reflect the cost of migrating existing image pipelines and content libraries, even as modern formats have broad support.
210210

211211
#### Cross Hosted LCP Images
212212

213-
The origin of an LCP image affects how quickly the browser can begin downloading it, impacting the resource load delay phase. When an image is hosted on the same domain as the page, the browser can reuse the existing connection. Cross-origin images may incur additional connection setup (DNS/TCP/TLS), especially when the origin isnt already connected, increasing the time before the download can start.
213+
The origin of an LCP image affects how quickly the browser can begin downloading it, impacting the resource load delay phase. When an image is hosted on the same domain as the page, the browser can reuse the existing connection. Cross-origin images may incur additional connection setup (DNS/TCP/TLS), especially when the origin isn't already connected, increasing the time before the download can start.
214214

215215
{{ figure_markup(
216216
image="cross-hosted-lcp-images-2025.png",
@@ -226,7 +226,7 @@ Our data shows that 51% of desktop pages and 44% of mobile pages serve their LC
226226

227227
#### LCP Resource Prioritization
228228

229-
Since resource load delay phase often constitutes a large portion of LCP time, browsers provide tools to help accelerate critical resources. The fetchpriority="high" attribute tells the browser to prioritize a resource higher than it normally would—useful since images are typically not considered high priority even when they're the LCP element. Meanwhile, \<link rel="preload"\> instructs the browser to fetch a resource before it would naturally discover it in the HTML.
229+
Since resource load delay phase often constitutes a large portion of LCP time, browsers provide tools to help accelerate critical resources. The `fetchpriority="high"` attribute tells the browser to prioritize a resource higher than it normally would—useful since images are typically not considered high priority even when they're the LCP element. Meanwhile, `<link rel="preload">` instructs the browser to fetch a resource before it would naturally discover it in the HTML.
230230

231231
{{ figure_markup(
232232
image="adoption-of-lcp-prior-2025.png",
@@ -238,13 +238,13 @@ chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vSdGtVc2AYakM2cNaGLtp
238238
)
239239
}}
240240

241-
Adoption of fetchpriority="high" has continued its growth, now appearing on 17% of mobile pages with LCP images—up from [15%](https://almanac.httparchive.org/en/2024/performance#lcp-prioritization) in 2024\. Preload usage remains low at 2.1-2.2%. Both techniques are relatively simple to implement, so there's opportunity for more sites to use them.
241+
Adoption of `fetchpriority="high"` has continued its growth, now appearing on 17% of mobile pages with LCP images—up from [15%](https://almanac.httparchive.org/en/2024/performance#lcp-prioritization) in 2024. Preload usage remains low at 2.1-2.2%. Both techniques are relatively simple to implement, so there's opportunity for more sites to use them.
242242

243-
The 0.3% of pages using fetchpriority="low" on their LCP images is likely unintentional, since identifying which image will become the LCP element at development time can be tricky for developers (varies by viewport and content).
243+
The 0.3% of pages using `fetchpriority="low"` on their LCP images is likely unintentional, since identifying which image will become the LCP element at development time can be tricky for developers (varies by viewport and content).
244244

245245
#### LCP lazy loading
246246

247-
Lazy loading is a technique that defers loading offscreen images until they're needed, helping reduce initial page weight and prioritize critical resources. It's a valuable optimization—except when applied to the LCP image. Since lazy loading waits until an image nears the viewport before fetching it, using it on the LCP element delays the very content users are waiting to see.
247+
Lazy loading for images means delaying the loading of images until they are needed for eg. loading below the fold images only when they are close to entering the user's viewport, instead of loading all images at page load. This helps prioritize critical above-the-fold content. Lazy loading is generally a useful optimization, but applying it to the LCP image can be harmful because it delays the main content users are waiting to see.
248248

249249
{{ figure_markup(
250250
caption="Percentage of desktop and mobile pages that lazy load the LCP image.",
@@ -255,7 +255,7 @@ Lazy loading is a technique that defers loading offscreen images until they're n
255255
)
256256
}}
257257

258-
Overall, about 16% of pages lazy load their LCP image on both desktop and mobilea figure that has held steady since 2024. However, the composition has shifted: native loading="lazy" usage has increased slightly (from 9.5% to 10.4% on mobile, 10.2% to 11.5% on desktop), while custom approaches like hiding sources behind data-src attributes have decreased (from 6.7% to 5.9% on mobile). Native `loading="lazy"` accounts for a larger share of LCP lazy-loading than custom approaches, indicating a shift toward standardized browser features.
258+
Overall, about 16% of pages lazy-load their LCP image on both desktop and mobile, a figure that has held steady since 2024. However, the composition has shifted: native `loading="lazy"` usage has increased slightly (from 9.5% to 10.4% on mobile, 10.2% to 11.5% on desktop), while custom approaches like hiding sources behind `data-src` attributes have decreased (from 6.7% to 5.9% on mobile). Native `loading="lazy"` accounts for a larger share of LCP lazy-loading than custom approaches, indicating a shift toward standardized browser features.
259259

260260
### Loading Speed Conclusion
261261

@@ -334,7 +334,7 @@ The median TBT on mobile increased to 1,916 milliseconds in 2025—up 58% from 1
334334
This presents an apparent contradiction: while field-based INP scores improved, lab-based TBT worsened significantly. Several factors could be behind this divergence.
335335
- Real-world devices have become more powerful, masking increased code complexity that lab tests reveal using consistent emulated devices.
336336
- Some sites may be optimizing the interactions that dominate INP while still executing substantial background work that shows up in TBT.
337-
- The INP metric continues to evolve, with upcoming improvements focused on stabilizing measurements and better capturing real-world interaction behavior, as documented in Chromiums [INP metric changelog](https://chromium.googlesource.com/chromium/src/+/main/docs/speed/metrics_changelog/inp.md).
337+
- The INP metric continues to evolve, with upcoming improvements focused on stabilizing measurements and better capturing real-world interaction behavior, as documented in Chromium's [INP metric changelog](https://chromium.googlesource.com/chromium/src/+/main/docs/speed/metrics_changelog/inp.md).
338338

339339
The widening gap between desktop (92ms median) and mobile (1,916ms median) reinforces the persistent performance inequality between device classes, suggesting that despite INP improvements, the fundamental challenge of main thread blocking has intensified.
340340

@@ -544,7 +544,7 @@ chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vSdGtVc2AYakM2cNaGLtp
544544

545545
Visual stability across the web has advanced significantly over the years, particularly on mobile devices. Most pages now deliver stable experiences with minimal unexpected movement, reflecting improved adoption of best practices. However, with around 20-30% of pages still not achieving Good CLS, especially on desktop, there remains room for continued refinement and optimization.
546546

547-
Despite gradual improvements, unsized images remain common and font-loading patterns still create opportunities for layout shifts, suggesting many sites havent fully implemented known CLS mitigations. Adopting simple [best practices](https://web.dev/articles/optimize-cls) like explicit image sizing, preloading critical fonts, and using composited animations, pages can help improve visual stability.
547+
Despite gradual improvements, unsized images remain common and font-loading patterns still create opportunities for layout shifts, suggesting many sites haven't fully implemented known CLS mitigations. Adopting simple [best practices](https://web.dev/articles/optimize-cls) like explicit image sizing, preloading critical fonts, and using composited animations, pages can help improve visual stability.
548548

549549
## Early Hints
550550

@@ -602,7 +602,7 @@ Also note that Early Hints are available via [Fastly since 2020](https://www.fas
602602

603603
[Speculation Rules](https://developer.mozilla.org/en-US/docs/Web/API/Speculation_Rules_API) are an experimental browser API (currently implemented primarily in Chromium-based browsers) for optimistically prefetching or prerendering complete pages, with the hope that the user will navigate to one of the pages after viewing the current page. These actions happen in the background of the page the user is currently viewing.
604604

605-
While Speculation Rules do not help the current pages performance, they can greatly improve the loading performance for those pages that have been optimistically prefetched or preprendered, often to the point of almost an instantaneous page load.
605+
While Speculation Rules do not help the current page's performance, they can greatly improve the loading performance for those pages that have been optimistically prefetched or preprendered, often to the point of almost an instantaneous page load.
606606

607607
The intent is for this API to replace <link rel="prefetch"> and <link rel="prerender"> with more advanced configuration options. Again, the Speculation Rules API is for full pages only; for individual assets, you would still need to use <link rel="prefetch">.
608608

@@ -620,15 +620,15 @@ chart_url="https://docs.google.com/spreadsheets/d/e/2PACX-1vSdGtVc2AYakM2cNaGLtp
620620
)
621621
}}
622622

623-
This could be related to the complexities of configuring Speculation Rules: a site should be careful when prefetching or prerendering pages, since the users exact intent can never be known, and anything that is fetched and not used is wasteful. So, for a larger site, such as an ecommerce site, and especially a large site with numerous categories and perhaps menu options to jump directly to, Speculation Rules could be difficult to configure properly. They could also be tricky to implement into a legacy or bespoke CMS.
623+
This could be related to the complexities of configuring Speculation Rules: a site should be careful when prefetching or prerendering pages, since the user's exact intent can never be known, and anything that is fetched and not used is wasteful. So, for a larger site, such as an ecommerce site, and especially a large site with numerous categories and perhaps menu options to jump directly to, Speculation Rules could be difficult to configure properly. They could also be tricky to implement into a legacy or bespoke CMS.
624624

625625
Conversely, Speculation Rules now come baked into [WordPress](https://make.wordpress.org/core/2025/03/06/speculative-loading-in-6-8/), which powers a large share of the Internet, which may help explain higher adoption in the long tail.
626626

627627
Also notable is the parity between mobile and desktop usage; seldom more than a 1% difference. Meaning, where Speculation Rules are implemented, they are likely done so similarly for all device types.
628628

629629
## Conclusion
630630

631-
Our analysis of this years data paints a picture of a web that is becoming more responsive, yet remains complex to optimize. We see clear progress in how the web feels to use: mobile interactivity has improved significantly, with the performance gap between phones and desktop computers finally starting to narrow. This tells us that perhaps the industry's focus on new metrics like Interaction to Next Paint (INP) is working, and developers are trying to prioritize the interactions that matter most to users.
631+
Our analysis of this year's data paints a picture of a web that is becoming more responsive, yet remains complex to optimize. We see clear progress in how the web feels to use: mobile interactivity has improved significantly, with the performance gap between phones and desktop computers finally starting to narrow. This tells us that perhaps the industry's focus on new metrics like Interaction to Next Paint (INP) is working, and developers are trying to prioritize the interactions that matter most to users.
632632

633633
However, we also observe a "performance divide" in how different segments of the web adopt new standards. For example, we saw that the most popular sites lead the way in improving interactivity (INP), likely through manual optimization of complex JavaScript. In contrast, newer standards like Speculation Rules are seeing their highest adoption not at the top, but in the "long tail" of the web, driven by platform-level integrations in popular CMSs like WordPress. This suggests that the future of performance may rely less on individual manual effort and more on smart defaults baked into the tools that build the web.
634634

0 commit comments

Comments
 (0)