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 55ms (99% good INP) versus 45ms (100% good INP) at 400 to 850 KB.
30.7% of WordPress sites use 850 KB to 1.5 MB of unused JS unused JavaScript bytes, and 100% of those sites have a good INP, against 100% of all WordPress sites.
15.6% of WordPress sites use under 400 KB of unused JS unused JavaScript bytes, and 90% of those sites have a good LCP, against 76% of all WordPress sites.
Core Web Vitals pass rate
Sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good INP most often: 100%, against 100% of all WordPress sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 99%.
Sites with under 400 KB of unused JS unused JavaScript bytes have a good LCP most often: 90%, against 76% of all WordPress sites. Sites with over 1.5 MB of unused JS unused JS have it least often, at 68%.
Unused JavaScript bytes usage
850 KB to 1.5 MB of unused JS is the most used: 30.7% 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 100% of jQuery sites have a good INP, against 100% of all sites. On Vue, 36% of sites use 400 to 850 KB of unused JS, and 99% 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 75% of jQuery sites have a good LCP, against 76% of all sites. On Vue, 36% of sites use 400 to 850 KB of unused JS, and 75% of Vue sites have a good LCP.
Unused JavaScript bytes or the framework
Does the framework explain the unused JavaScript bytes difference?
On jQuery, 100% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good INP, against 100% of jQuery sites with 400 to 850 KB of unused JS. Within jQuery, sites with 850 KB to 1.5 MB of unused JS and 400 to 850 KB of unused JS have a good INP about equally often. On Vue, 100% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good INP, against 99% of Vue sites with 400 to 850 KB of unused JS. Within Vue, sites with 850 KB to 1.5 MB of unused JS and 400 to 850 KB of unused JS have a good INP about equally often.
On jQuery, 90% of sites with under 400 KB of unused JS unused JavaScript bytes have a good LCP, against 76% 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, 75% of sites with 850 KB to 1.5 MB of unused JS unused JavaScript bytes have a good LCP, against 84% of Vue sites with 400 to 850 KB of unused JS. Within Vue, sites with 850 KB to 1.5 MB of unused JS have a good LCP less 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, 100% pass field INP at an 45ms median, while the 23.4% (14,785) exceeding 1.5 MB of unused JS drop to 99% good INP (55ms 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 (100% good INP) while 23.4% exceed 1.5 MB (99% good INP).
By Arjen Karel · 63,295 crawled WordPress sites (17,005 with desktop Chrome field data, 63,282 sites with unused JavaScript bytes, October 2026). How we measured.