WordPress — Core Web Vitals

Field data PhoneDesktopAll October 2026 edition · Desktop field outcomes
60.3% of WordPress sites pass all three Core Web Vitals
  • #8 of 12 CMSs by overall pass rate
  • Add TTFB and only 28.4% still pass
  • Runs on 31.1% of all sites measured (65,509 crawled WordPress sites, 17,565 with desktop field data)

The distribution, not just the median

Each bar is the good / needs-work / poor split for WordPress. The marks where the whole fleet sits, so you can see who is ahead and who is behind.

LCP 2.5s p75
75.9% good ▼ fleet 86.1%
INP 62ms p75
99.6% good ▲ fleet 98.9%
CLS 0.09 p75
77.6% good ▼ fleet 77.9%
TTFB diagnostic 1.7s p75
35.7% good ▼ fleet 63.1%
FCP diagnostic 2.0s p75
67.5% good ▼ fleet 82.3%
Where WordPress loses ground: TTFB — 35.7% of sites pass, against 63.1% across the fleet. The takeaways below show which techniques move that number.
Metric & Architecture Takeaways

What moves Core Web Vitals on WordPress

Field data findings across WordPress sites from our metric deep dives.

LCP resource discovery 60,918 sites
77% vs 73% good LCP (HTML img vs CSS background)

WordPress sites with an HTML <img> hero pass LCP 4 percentage points more often than sites with CSS background heroes.

Across WordPress sites, 55.4% reference the hero image in initial HTML (77% good LCP, 1.7s median), 39.7% use section background-image styles (73% good LCP, 1.8s median), and sites with <link rel="preload"> pass at 79% good LCP.

Read the WordPress LCP discovery breakdown →
Font-display 63,415 sites
82% vs 72% good LCP (all swap vs mixed rules)

WordPress sites with all fonts on swap pass LCP 10 points more often than mixed-rule sites.

Across WordPress, 48.8% of @font-face rules use swap and 50% use auto or block. Sites with every font on swap record a 1.5s median LCP (82% good LCP) compared with 1.9s (72% good LCP) on mixed-rule sites.

Read the WordPress font-display breakdown →
Main-thread yielding 64,142 sites
65.3% run scripts with no yielding API

65.3% of WordPress sites call no main-thread yielding API.

Across WordPress, 65.3% of sites run scripts without a yielding API, 32.1% call requestIdleCallback(), and 2.6% call scheduler.yield().

Read the WordPress yielding breakdown →
Speculation rules 64,144 sites
84.2% use WordPress 6.8 conservative prefetch

84.2% of WordPress sites emit conservative speculation rules (60% CWV pass vs 62% with none).

WordPress 6.8+ enables Speculative Loading in core with prefetch and conservative eagerness by default, configurable with the wp_speculation_rules_configuration filter. Across WordPress, 84.2% of sites emit conservative rules (60% passing all three Core Web Vitals) compared with 62% on sites with no inline rules.

Read the WordPress speculation rules breakdown →
LCP priority hints 60,918 sites
79% vs 75% good LCP (highprio vs none)

84.8% of WordPress hero elements carry no priority hint (79% good LCP with highprio vs 75% with none).

WordPress 6.3+ adds fetchpriority="high" to the first detected content image during server rendering. Across WordPress, 10.7% of LCP elements carry fetchpriority="high" (79% good LCP, 1.6s median) and 84.8% carry no priority hint (75% good LCP, 1.8s median).

Read the WordPress priority hints breakdown →
As the LCP element 60,918 sites
77% vs 73% good LCP (<img> vs background-image)

42.4% of WordPress sites paint LCP from a CSS background-image (77% good LCP on <img> vs 73%).

Across WordPress sites, 35.2% paint LCP from an HTML <img> element (77% good LCP, 1.7s median) and 42.4% paint LCP from a CSS background-image (73% good LCP, 1.8s median, 4 points apart).

Read the WordPress LCP element types breakdown →
LCP image hosting 48,650 sites
94.5% WordPress same-origin LCP images

94.5% of WordPress sites serve their LCP image from the same origin (75% good LCP).

Across WordPress sites, 94.5% serve the LCP image from the first-party document origin (75% good LCP) and 5.5% serve it from an external origin (73% good LCP).

Read the WordPress LCP origins breakdown →
Speculation rules 64,144 sites
84.5% WordPress sites using prefetch

84.5% of WordPress sites emit document prefetch speculation rules (60% CWV pass rate).

WordPress 6.8+ enables Speculative Loading in core with a conservative prefetch posture by default. Across WordPress, 84.5% of sites with speculation rules use prefetch (60% passing all three Core Web Vitals) and 0.6% use prerender.

Read the WordPress speculation posture breakdown →
HTML compression 64,146 sites
80% vs 75% good LCP (Brotli vs gzip)

50.2% of WordPress sites compress HTML with gzip (75% good LCP vs 80% with Brotli, 5 points apart).

Across WordPress sites, 50.2% serve gzip-compressed HTML (75% good LCP, 1.8s median), 31.4% serve Brotli-compressed HTML (80% good LCP, 1.7s median), and 12.3% send uncompressed HTML (74% good LCP).

Read the WordPress HTML compression breakdown →
An HTML edge CDN 64,146 sites
86.0% WordPress sites serving HTML from origin

86.0% of WordPress sites serve main HTML directly from the origin server without a detected CDN proxy.

Across WordPress sites, 86.0% serve main HTML directly from the origin server (76% good LCP, 1.7s median) and 8.4% proxy main HTML through Cloudflare (77% good LCP).

Read the WordPress CDN usage breakdown →
As their CMS 64,146 sites
60% WordPress all-three CWV pass rate

WordPress is the largest CMS cohort in the dataset at 60% all-three Core Web Vitals pass rate.

Across 64,146 audited WordPress sites, 60% pass all three Core Web Vitals (LCP, INP, and CLS) simultaneously.

Open WordPress Explorer Hub →
CSS @import rules 64,146 sites
76% vs 68% good LCP (no @import vs @import)

2.9% of WordPress sites use CSS @import rules, passing LCP 8 points less often than @import-free sites.

WordPress recommends enqueueing parent and child theme stylesheets with wp_enqueue_style(). Across WordPress, 97.1% of sites have no CSS @import (76% good LCP, 1.7s median) and 2.9% contain @import rules (68% good LCP, 2.0s median).

Read the WordPress CSS @import breakdown →
Text compression coverage 64,146 sites
78% vs 72% good LCP (all compressed vs uncompressed leak)

33.0% of WordPress sites serve at least one uncompressed text response (72% vs 78% good LCP, 6 percentage points apart).

Across WordPress, 67.0% of sites compress every text resource (78% good LCP, 1.7s median) and 33.0% serve at least one uncompressed HTML, CSS, JS, JSON, or SVG response (72% good LCP, 1.9s median).

Read the WordPress uncompressed text breakdown →
ETag cache validation 64,146 sites
87.7% WordPress sites serving ETag headers

87.7% of WordPress sites emit ETag headers, while 12.3% omit them.

Across WordPress sites, 87.7% serve ETag headers on responses (76% good LCP, 1.8s median) and 12.3% serve responses without ETag headers (79% good LCP, 1.6s median).

Read the WordPress ETag breakdown →
Last-Modified cache validation 64,146 sites
98.8% WordPress sites with Last-Modified

98.8% of WordPress sites send Last-Modified headers on responses.

Across WordPress sites, 98.8% emit Last-Modified headers (76% good LCP, 1.7s median).

Read the Last-Modified cache validation study →
Image loading strategies 64,084 sites
93% / 18.6% eager below fold / lazy above fold

WordPress sites have eager below-the-fold images on 93% of sites and lazy above-the-fold images on 18.6%.

WordPress 6.3+ adds loading="lazy" to content images while omitting it on the first three images. Across 64,084 WordPress sites, 76% with eager above-the-fold images pass LCP compared with 72% when an above-the-fold image has loading="lazy".

Read the WordPress image loading breakdown →
Responsive image markup 63,819 sites
81% vs 7.4% srcset on <img> vs <picture>

WordPress generates srcset on 81% of sites, while 7.4% use <picture>.

WordPress core adds srcset and sizes to attachment images with wp_calculate_image_srcset(). Across WordPress, 80.9% of sites use srcset on <img> (75% good LCP) and 7.4% use <picture> (77% good LCP).

Read the WordPress responsive image breakdown →
Image dimension sizing 63,819 sites
92.2% size content images (77% good CLS)

WordPress sets width and height on 92.2% of sites, while 74.4% also have unsized images.

WordPress core adds width and height attributes to media library images with wp_img_tag_add_width_and_height_attr(). Across WordPress, 92.2% of sites include explicitly sized images (77% good CLS) and 74.4% include at least one unsized <img> (77% good CLS).

Read the WordPress image dimensions breakdown →
Image fetchpriority hints 63,819 sites
65.6% ship fetchpriority="high" (74% good LCP)

WordPress 6.3+ emits fetchpriority="high" on 65.6% of sites (74% good LCP).

WordPress 6.3+ adds fetchpriority="high" to the first large content image with wp_get_loading_optimization_attributes(). Across 63,819 WordPress sites, 65.6% include fetchpriority="high" (74% good LCP) compared with 76% on sites with default priority.

Read the WordPress fetchpriority breakdown →
Iframe loading 29,828 sites
19.3% lazy-load iframes (73% good LCP)

19.3% of iframe-using WordPress sites lazy-load iframes, while 89.4% use default iframe loading.

WordPress 5.7+ adds loading="lazy" to iframes with wp_iframe_tag_add_loading_attr(). Across iframe-using WordPress sites, 19.3% use loading="lazy" (73% good LCP) and 89.4% use default iframe loading (74% good LCP).

Read the WordPress iframe loading breakdown →
Iframe dimension sizing 29,828 sites
62.8% size embeds explicitly (75% good CLS)

62.8% of iframe-using WordPress sites set explicit iframe dimensions (75% good CLS).

Across iframe-using WordPress sites, 62.8% include explicit width and height attributes on iframes (75% good CLS) and 82.0% include unsized iframes (75% good CLS).

Read the WordPress iframe dimensions breakdown →
CSS rendering hints 52,075 sites
85% / 37% will-change / content-visibility

WordPress sites using CSS hints include will-change on 84.8% and content-visibility on 37.3%.

Across 52,075 WordPress sites using CSS hints, 84.8% use will-change, 67.5% use aspect-ratio, and 37.3% use content-visibility (100% good INP).

Read the WordPress CSS hints breakdown →
Layout shift causes 45,487 sites
76% vs 56% good CLS (font swap vs embed growth)

On WordPress sites with lab layout shifts, embed_grow sites pass field CLS at 56% vs 76% on font_text sites.

Across 45,487 WordPress sites with lab layout shifts, 78.5% record element box growth (73% good field CLS), 24.1% record web font reflow (76% good CLS), and 0.7% record embed_grow (56% good CLS).

Read the WordPress CLS attribution breakdown →
Layout shift direction 45,466 sites
74% vs 71% good CLS (lateral vs downward shifts)

WordPress sites with downward layout shifts (49.7%) pass field CLS at 71% vs 74% for lateral shifts.

Across 45,466 shifting WordPress sites, 83.2% record horizontal shifts (74% good field CLS) and 49.7% record downward vertical shifts (71% good CLS).

Read the WordPress shift direction breakdown →
Subresource network protocols 64,146 sites
97% / 78% / 62% H2 / H3 / HTTP/1.1 subresources

WordPress sites fetch subresources over HTTP/2 on 96.9%, HTTP/3 on 78.2%, and HTTP/1.1 on 62.1%.

Across 64,146 WordPress sites, 96.9% fetch subresources over HTTP/2 (76% good LCP), 78.2% over HTTP/3, and 62.1% include at least one HTTP/1.1 request (74% good LCP).

Read the WordPress network protocol breakdown →
HTTP cache TTL tiers 64,146 sites
80.2% vs 15.9% long TTL vs Cache-Control: immutable

15.9% of WordPress sites serve Cache-Control: immutable assets, while 80.2% use long TTLs.

WordPress core appends a ?ver= query string to enqueued scripts and styles with wp_enqueue_script(). Across WordPress, 80.2% of sites serve long-TTL static files and 15.9% emit Cache-Control: immutable.

Read the WordPress cache strategy breakdown →
Analytics providers 39,081 sites
94.5% / 76.9% GA4 / legacy UA tag presence

WordPress sites with analytics run GA4 on 94.5% and Universal Analytics tags on 76.9%.

Across 39,081 analytics-using WordPress sites, 94.5% load Google Analytics 4 (100% good INP), 76.9% include Universal Analytics script references, and 8.0% run Matomo (100% good INP).

Read the WordPress analytics breakdown →
Ad networks 5,185 sites
54% vs 53% all 3 CWV pass (AdSense vs Taboola)

Ad-supported WordPress sites pass all three CWV at 54% with AdSense (94.0%) and 53% with Taboola.

Across 5,185 ad-supported WordPress sites, 94.0% run Google AdSense (54% passing all three CWV), 15.9% run Google Publisher Tag (53%), and 5.4% run Prebid.js (57%), compared with 60% across all ad-using WordPress sites.

Read the WordPress ad network breakdown →
Tag managers 35,341 sites
93.9% / 7.3% GTM / Matomo Tag Manager

WordPress sites with a tag manager use GTM on 93.9% (100% good INP) and Matomo on 7.3%.

Across 35,341 tag-manager-using WordPress sites, 93.9% load Google Tag Manager (100% good INP) and 7.3% load Matomo Tag Manager (100% good INP), compared with 100% across the cohort.

Read the WordPress tag manager breakdown →
Third-party technology categories 64,146 sites
60.9% / 58.8% analytics / external font services

WordPress sites load external analytics on 60.9% and third-party font services on 58.8% (57% CWV pass).

Across 64,146 WordPress sites, 96.5% load a JS library, 60.9% load analytics (59% passing all three CWV), 58.8% load external font services (57%), and 57.7% use a CDN (59%).

Read the WordPress third-party categories breakdown →
DOM element count 64,146 sites
100% vs 99% good INP (400-799 vs 1,500+ nodes)

WordPress pages with 1,500+ DOM elements (15.9%) pass field INP at 99% vs 100% at 400 to 799 nodes.

Across 64,146 WordPress sites, 37.4% have between 400 and 799 DOM nodes (100% good INP, 45ms median) and 15.9% exceed 1,500 nodes (99% good INP, 56ms median).

Read the WordPress DOM element count breakdown →
Initial HTML document size 64,146 sites
84% vs 65% good LCP (<14 KB vs >75 KB HTML)

WordPress pages over 75 KB HTML (10.9%) pass LCP at 65% vs 84% under 14 KB.

Across 64,146 WordPress sites, 11.8% ship HTML under 14 KB (84% good LCP, 1.5s median), 39.6% ship 14 to 30 KB (84% good LCP), 37.8% ship 30 to 75 KB (71% good LCP), and 10.9% exceed 75 KB (65% good LCP).

Read the WordPress HTML size breakdown →
Preloaded font count 64,146 sites
88.3% / 6.6% 0 preloads / 1-2 preloads on WordPress

88.3% of WordPress sites preload zero fonts (77% good LCP), while 6.6% preload 1 to 2 fonts.

Across 64,146 WordPress sites, 88.3% emit no font preload links (77% good LCP), 6.6% preload 1 to 2 fonts (70% good LCP), and 5% preload 3 or more font files.

Read the WordPress font preloading breakdown →
Iframe count per page 64,146 sites
80% vs 73% good CLS (0 iframes vs 4+ iframes)

WordPress pages embedding 4+ iframes (9.1%) pass field CLS at 73% vs 80% with 0 iframes.

Across 64,146 WordPress sites, 53.5% embed 0 iframes (80% good CLS), 16.2% embed 1 iframe (76%), 21.2% embed 2 to 3 (77%), and 9.1% embed 4+ iframes (73% good CLS).

Read the WordPress iframe count breakdown →
CLS shift concentration 45,487 sites
79% vs 69% good CLS (single shift vs multi-shift)

WordPress pages with multi-shift lab CLS (18.2%) pass field CLS at 69% vs 79% for a single shift.

Across 45,487 WordPress sites with non-zero lab CLS, 57.8% have 95%+ of their CLS in a single shift (79% good field CLS), 24.0% sit at 65% to 94% (71%), and 18.2% have multiple shifts (69% good CLS).

Read the WordPress CLS concentration breakdown →
Layout shift count 64,142 sites
84% vs 66% good CLS (0 shifts vs 6+ shifts)

WordPress pages with 6+ lab layout shifts (14.8%) pass field CLS at 66% vs 84% with 0 shifts (18 points apart).

Across 64,142 WordPress sites, 25.8% record 0 lab shifts (84% good CLS), 43.9% record 1 to 2 shifts (81%), 15.5% record 3 to 5 shifts (69%), and 14.8% record 6+ shifts (66% good CLS).

Read the WordPress layout shift count breakdown →
Largest single layout shift score 47,581 sites
86% vs 52% good CLS (<0.01 vs >0.25 largest shift)

Shifting WordPress sites with a largest shift over 0.25 (12.5%) pass field CLS at 52% vs 86% under 0.01 (34 points apart).

Across 47,581 WordPress sites with non-zero lab CLS, 37.8% have a largest shift under 0.01 (86% good CLS), 35.3% sit at 0.01 to 0.10 (78%), 14.3% sit at 0.10 to 0.25 (66%), and 12.5% exceed 0.25 (52% good CLS).

Read the WordPress largest shift breakdown →
Distinct network domain count 64,146 sites
70% vs 53% all 3 CWV pass (1-3 vs 15+ domains)

WordPress sites connecting to 15+ domains (10.5%) pass all three CWV at 53% vs 70% at 1 to 3 domains (17 points apart).

Across 64,146 WordPress sites, 21.9% connect to 1 to 3 domains (70% passing all three CWV), 35.3% use 4 to 7 domains (63%), 32.3% use 8 to 14 domains (60%), and 10.5% connect to 15+ domains (53%).

Read the WordPress network domain count breakdown →
Cacheable resource share 64,146 sites
76% vs 73% good LCP (80%+ vs <20% cacheable)

35.9% of WordPress sites mark under 20% of resources cacheable (73% good LCP vs 76% at 80%+).

Across 64,146 WordPress sites, 38.7% mark 80%+ of subresources as cacheable (76% good LCP), 17.3% cache 50% to 79% (78% good LCP), and 35.9% cache under 20% (73% good LCP).

Read the WordPress cacheable resource breakdown →
Third-party provider count 64,146 sites
70% vs 55% all 3 CWV pass (0-1 vs 9+ providers)

WordPress sites with 9+ third-party providers (12.5%) pass all three CWV at 55% vs 70% with 0 to 1 providers.

Across 64,146 WordPress sites, 24.4% load 0 to 1 external providers (70% passing all three CWV), 28.3% load 2 to 4 (64%), 34.8% load 5 to 8 (59%), and 12.5% load 9+ providers (55%).

Read the WordPress third-party provider count breakdown →
Page image format mix 64,082 sites
86.7% / 39.0% PNG / WebP usage across WordPress pages

86.7% of WordPress sites serve PNG images, 85.8% serve JPEG, and 39.0% serve WebP.

WordPress 6.5 added native AVIF upload support alongside existing WebP, JPEG, and PNG support. Across 64,082 WordPress sites, 86.7% include PNG files (75% good LCP), 85.8% include JPEGs (75% good LCP), and 39.0% include WebP (74% good LCP).

Read the WordPress image format breakdown →
Script loading strategy 64,133 sites
89.2% WordPress sites with render-blocking scripts

89.2% of WordPress sites load render-blocking synchronous scripts (75% good LCP).

WordPress 6.3+ supports registering scripts with defer and async strategies in wp_register_script() and wp_enqueue_script(). Across WordPress, 89.2% of sites execute render-blocking scripts (75% good LCP, 1.8s median) and 14.1% use ES modules (76% good LCP).

Read the WordPress script loading breakdown →
Script origin (first-party vs third-party) 64,131 sites
100.0% / 77.6% first-party / third-party scripts on WordPress

77.6% of WordPress sites execute third-party scripts (100% good INP vs 100% on first-party).

Across 64,131 WordPress sites, 100.0% execute first-party scripts (100% good INP, 48ms median) and 77.6% also load cross-origin third-party scripts (100% good INP, 49ms median).

Read the WordPress script origin breakdown →
Stylesheet loading and placement 64,142 sites
76% vs 68% good LCP (<head> CSS vs <body> CSS)

35.7% of WordPress sites place <link rel="stylesheet"> tags inside <body> (68% vs 76% good LCP, 8 points apart).

WordPress 5.8+ provides the should_load_separate_core_block_assets filter to enqueue styles only for used blocks in <head>. Across WordPress, 98.9% of sites load blocking <head> stylesheets (76% good LCP, 1.7s median) and 35.7% include <link rel="stylesheet"> tags inside <body> (68% good LCP, 2.0s median).

Read the WordPress stylesheet loading breakdown →
Stylesheet origin (first-party vs third-party) 64,140 sites
76% vs 74% good LCP (first-party vs third-party CSS)

59.7% of WordPress sites load third-party CSS (74% good LCP vs 76% on first-party CSS).

Across 64,140 WordPress sites, 100.0% load first-party stylesheets (76% good LCP, 1.7s median) and 59.7% load external third-party stylesheets (74% good LCP, 1.8s median).

Read the WordPress stylesheet origin breakdown →
Stylesheet initiator type 64,140 sites
76% vs 73% good LCP (parser CSS vs script-injected CSS)

40.0% of WordPress sites inject stylesheets from JavaScript (73% vs 76% good LCP, 3 points apart).

Across 64,140 WordPress sites, 97.4% load CSS from the HTML parser (76% good LCP, 1.8s median) and 40.0% inject stylesheets from JavaScript (73% good LCP, 1.8s median).

Read the WordPress stylesheet initiator breakdown →
Web font format 62,323 sites
75% vs 72% good LCP (WOFF2 vs uncompressed TTF)

36.6% of WordPress sites download WOFF and 18.3% download TTF (72% good LCP vs 75% for WOFF2).

Across 62,323 font-using WordPress sites, 94.7% serve WOFF2 (75% good LCP), 36.6% download WOFF (71% good LCP), and 18.3% download TrueType TTF files (72% good LCP, 1.9s median).

Read the WordPress font format breakdown →
Video and audio media source 7,788 sites
87.1% / 14.6% self-hosted / external CDN video on WordPress

87.1% of media-using WordPress sites stream video from their own origin (74% good LCP, 1.8s median).

Across 7,788 WordPress sites with <video> or <audio> elements, 87.1% serve media files from their own origin (74% good LCP) and 14.6% serve media from an external CDN (72% good LCP).

Read the WordPress media source breakdown →
Main-thread scheduling API usage 64,016 sites
77.2% / 75.1% requestAnimationFrame / setInterval on WordPress

75.1% of WordPress sites run recurring setInterval() timers, while 2.6% call scheduler.yield().

Across 64,016 WordPress sites, 77.2% call requestAnimationFrame() (100% good INP), 75.1% call setInterval() (100% good INP), and 2.6% call scheduler.yield().

Read the WordPress task scheduling breakdown →
Long Animation Frame (LoAF) script invoker type 34,390 sites
40.7% / 36.1% timer/rAF callbacks / event listeners on WordPress

On WordPress sites with Long Animation Frames, 40.7% record timer/rAF callbacks and 36.1% record event listeners.

Across 34,390 WordPress sites recording LoAF entries, 40.7% record long frames in setTimeout/requestAnimationFrame callbacks (100% good INP), 38.6% during classic <script> evaluation (100%), and 36.1% in DOM event listeners (99%).

Read the WordPress LoAF invoker breakdown →
Network resource type mix 64,146 sites
100.0% / 97.2% scripts / web fonts across WordPress pages

WordPress sites load scripts on 100.0%, images on 99.9%, CSS on 99.2%, and web fonts on 97.2%.

Across 64,146 WordPress sites, 100.0% load external JavaScript, 99.9% load images, 99.2% load CSS stylesheets, and 97.2% download web fonts (76% good LCP, 1.8s median).

Read the WordPress network resource type breakdown →
Subresource CDN distribution 64,146 sites
42.1% / 19.2% Cloudflare / CloudFront subresources on WordPress

99.8% of WordPress sites fetch subresources from origin/custom hosts, 42.1% use Cloudflare, and 19.2% use CloudFront.

Across 64,146 WordPress sites, 99.8% serve subresources from origin or custom hosts (76% good LCP), 42.1% use Cloudflare (74% good LCP), 19.2% use CloudFront (72%), and 10.6% use Fastly (74%).

Read the WordPress subresource CDN breakdown →
Total image payload 64,146 sites
83% vs 72% good LCP (< 350 KB vs > 3 MB)

WordPress sites shipping over 3 MB of images pass LCP 11 points less often than sites under 350 KB.

Across WordPress sites, 35% transfer 1 to 3 MB of images and 31% exceed 3 MB. Sites under 350 KB pass LCP at 83% (1.5s median) compared with 72% (1.9s median) above 3 MB.

Explore WordPress image payload data →
Total CSS payload 63,625 sites
89% vs 64% good LCP (< 40 KB vs > 160 KB)

WordPress sites over 160 KB of CSS pass LCP 25 points less often than sites under 40 KB.

Across WordPress sites, 36% ship over 160 KB of stylesheets (64% LCP pass rate, 2.1s median) and 13% ship under 40 KB (89% pass rate, 1.3s median).

Explore WordPress CSS payload data →
Unused CSS bytes 64,119 sites
90% vs 66% good LCP (< 140 KB vs > 600 KB unused)

38% of WordPress sites load over 600 KB of unused CSS (66% vs 90% good LCP under 140 KB).

Across WordPress sites, 38% have over 600 KB of unused CSS (66% good LCP, 2.0s median) compared with 90% (1.3s median) under 140 KB.

Explore WordPress unused CSS data →
Web font file count 64,146 sites
83% vs 69% good LCP (1-3 fonts vs 7+ fonts)

32% of WordPress sites load 7+ font files, passing LCP 14 points less often than sites with 1 to 3 fonts.

Across WordPress sites, 32% request 7 or more web font files (69% good LCP, 1.9s median) compared with 83% (1.5s median) on sites with 1 to 3 fonts.

Explore WordPress font count data →
Cookie count 64,146 sites
86% vs 68% good LCP (0 cookies vs 6+ cookies)

WordPress sites setting 6+ cookies pass LCP 18 points less often than sites with 0 cookies.

Across WordPress sites, 28% set zero cookies on initial load (86% good LCP, 1.5s median) and 35% set 6 or more cookies (68% good LCP, 2.0s median).

Explore WordPress cookie count data →
Synthetic paint milestones 63,999 sites
89% vs 57% good field LCP (< 300ms vs > 1.5s lab)

WordPress sites over 1,500ms lab LCP pass field LCP at 57% vs 89% under 300ms.

Across WordPress sites, 32% take over 1,500ms to paint in unthrottled lab conditions (57% field LCP pass rate, 2.3s median) compared with 89% (1.3s median) on the 16% painting under 300ms.

Explore WordPress lab paint data →
Document lifecycle milestones 64,142 sites
88% vs 59% good LCP (< 350ms vs > 1.5s DOMComplete)

WordPress sites taking over 1,500ms to reach DOMComplete pass LCP 29 points less often than sites under 350ms.

Across WordPress sites, 34% take over 1,500ms to reach DOMComplete in the lab (59% field LCP pass rate, 2.2s median) compared with 88% (1.2s median) on the 13% finishing under 350ms.

Explore WordPress document lifecycle data →
LCP sub-part breakdown 44,174 sites
84% sites where TTFB is largest LCP phase

Server TTFB is the largest LCP phase on 84% of WordPress sites (74% good LCP vs 83% when load delay leads).

Across WordPress sites, TTFB is the largest LCP sub-part on 84% (74% LCP pass rate, 1.8s median) and load delay is the largest sub-part on 9% (83% pass rate, 1.5s median).

Explore WordPress LCP sub-part data →
Total page weight 64,146 sites
89% vs 70% good LCP (< 1.2 MB vs > 5 MB page)

60% of WordPress sites exceed 2.5 MB of total page weight (70% good LCP over 5 MB vs 89% under 1.2 MB, 19 points apart).

Across WordPress sites, 31% transfer 2.5 to 5 MB, 29% exceed 5 MB (70% LCP pass rate, 1.9s median), and 13% transfer under 1.2 MB (89% pass rate, 1.3s median).

Explore WordPress total page weight data →

CMS standings

All CMSs →

210,902 crawled sites (69,745 with desktop Chrome field data), representing millions of real page loads, October 2026 edition. How we measured.