WordPress unused JavaScript bytes and the Core Web Vitals
23.4% of audited sites (14,785) ship over 1.5 MB of unused JavaScript during initial load, pushing median INP to 111ms (94% good INP) versus 92ms (98% good INP) at 400 to 850 KB.
30.4% of WordPress sites use 400 to 850 KB of unused JS unused JavaScript bytes, and 98% of those sites have a good INP, against 97% of all WordPress sites.
15.6% of WordPress sites use under 400 KB of unused JS unused JavaScript bytes, and 85% of those sites have a good LCP, against 70% of all WordPress sites.
Core Web Vitals pass rate
Sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good INP most often: 98%, against 97% of all WordPress sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 94%.
Sites with under 400 KB of unused JS unused JavaScript bytes have a good LCP most often: 85%, against 70% of all WordPress sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 59%.
Unused JavaScript bytes usage
850 KB to 1.5 MB of unused JS is the most used: 30.7% of WordPress sites. 400 to 850 KB of unused JS is 30.4% of WordPress sites.
Unused JavaScript bytes per framework
On jQuery, 32% of sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 97% of jQuery sites have a good INP, against 97% of all sites. On Vue, 36% of sites use 400 to 850 KB of unused JS, and 95% of Vue sites have a good INP.
On jQuery, 32% of sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 69% of jQuery sites have a good LCP, against 70% of all sites. On Vue, 36% of sites use 400 to 850 KB of unused JS, and 67% of Vue sites have a good LCP.
Unused JavaScript bytes or the framework
Does the framework explain the unused JavaScript bytes difference?
On jQuery, 98% of sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good INP, against 97% of jQuery sites with 850 KB to 1.5 MB of unused JS. Within jQuery, sites with 400 to 850 KB of unused JS have a good INP more often. On Vue, 98% of sites with 400 to 850 KB of unused JS unused JavaScript bytes have a good INP, against 95% of Vue sites with 850 KB to 1.5 MB of unused JS. Within Vue, sites with 400 to 850 KB of unused JS have a good INP more often.
On jQuery, 83% of sites with under 400 KB of unused JS unused JavaScript bytes have a good LCP, against 67% of jQuery sites with 850 KB to 1.5 MB of unused JS. Within jQuery, sites with under 400 KB of unused JS have a good LCP more often. On Vue, 82% of sites with under 400 KB of unused JS unused JavaScript bytes have a good LCP, against 64% of Vue sites with 850 KB to 1.5 MB of unused JS. Within Vue, sites with under 400 KB of unused JS have a good LCP more often.
How dead JavaScript code still blocks the main thread
The browser cannot skip parsing or compiling unused functions inside a downloaded bundle. Across 19,212 sites (30.4%) with 400 to 850 KB of unused JS, 98% pass field INP at an 92ms median, while the 23.4% (14,785) exceeding 1.5 MB of unused JS drop to 94% good INP (111ms median).
Understanding unused JavaScript bytes
Dequeue WooCommerce, form, and slider scripts on routes that do not render them, and delay third-party chat and consent bundles until user interaction. On WordPress, 30.4% of sites carry 400 to 850 KB of unused JS (98% good INP) while 23.4% exceed 1.5 MB (94% good INP).
By Arjen Karel · 63,295 crawled WordPress sites (36,524 with phone Chrome field data, 63,282 sites with unused JavaScript bytes, October 2026). How we measured.