Script loading attributes on React sites
30.0% of audited sites (2,870) still execute render-blocking synchronous scripts and drop to 69% good LCP (1.9s median), compared to 79% good LCP on sites using async (96.8%) and 76% on ES modules (7.9%).
61.1% of React sites use nomodule fallback scripts script loading strategy, and 92% of those sites have a good LCP, against 79% of all React sites.
61.1% of React sites use nomodule fallback scripts script loading strategy, and 100% of those sites have a good INP, against 99% of all React sites.
Core Web Vitals pass rate
Sites with nomodule fallback scripts script loading strategy have a good LCP most often: 92%, against 79% of all React sites. Sites with render-blocking scripts script loading have it least often, at 69%.
Sites with nomodule fallback scripts script loading strategy have a good INP most often: 100%, against 99% of all React sites. Sites with ES module scripts script loading have it least often, at 98%.
Script loading strategy usage
Inline scripts is the most used: 99.6% of React sites. Nomodule fallback scripts is 61.1% of React sites.
LCP phase breakdown by script loading attribute
Across the four LCP sub-parts in Chrome's field data, the largest gap between nomodule fallback scripts and render-blocking scripts sits in time to first byte (TTFB): 349 ms median for nomodule fallback scripts against 1012 ms for render-blocking scripts. Overall median field LCP is 1.2s for nomodule fallback scripts (TTFB 349 ms, load delay 478 ms, load duration 256 ms, render delay 140 ms) versus 1.9s for render-blocking scripts.
Across the four LCP sub-parts in Chrome's field data, the largest gap between nomodule fallback scripts and render-blocking scripts sits in time to first byte (TTFB): 349 ms median for nomodule fallback scripts against 1012 ms for render-blocking scripts. Overall median field LCP is 1.2s for nomodule fallback scripts (TTFB 349 ms, load delay 478 ms, load duration 256 ms, render delay 140 ms) versus 1.9s for render-blocking scripts.
Script loading strategy per platform
Wix sets the script loading strategy to nomodule fallback scripts on 100% of its sites, and 92% of Wix sites have a good LCP, against 79% of all sites. WordPress sets the script loading strategy to inline scripts on 100% of its sites, and 66% of WordPress sites have a good LCP.
Wix sets the script loading strategy to nomodule fallback scripts on 100% of its sites, and 100% of Wix sites have a good INP, against 99% of all sites. WordPress sets the script loading strategy to inline scripts on 100% of its sites, and 100% of WordPress sites have a good INP.
Script loading attributes or the platform
Does the platform explain the script loading strategy difference?
Almost every site with nomodule fallback scripts script loading strategy is a Wix site, and almost every Wix site has nomodule fallback scripts script loading strategy, so the data can't tell nomodule fallback scripts script loading strategy and Wix apart. On WordPress, 66% of sites with inline scripts script loading strategy have a good LCP, against 66% of WordPress sites with async scripts. Within WordPress, sites with inline scripts and async scripts have a good LCP about equally often.
Almost every site with nomodule fallback scripts script loading strategy is a Wix site, and almost every Wix site has nomodule fallback scripts script loading strategy, so the data can't tell nomodule fallback scripts script loading strategy and Wix apart. On WordPress, 100% of sites with inline scripts script loading strategy have a good INP, against 100% of WordPress sites with async scripts. Within WordPress, sites with inline scripts and async scripts have a good INP about equally often.
How synchronous blocking <script> tags halt the HTML parser before LCP
When the HTML parser hits a synchronous <script src> tag without async, defer, or type="module", it must pause DOM construction, wait for the network download, and execute the script before painting. Across 2,870 sites (30.0%) with render-blocking scripts, good LCP drops to 69% (1.9s median). Sites loading scripts with async (96.8%), defer (89.0%), or type="module" (7.9%) reach 79%, 80%, and 76% good LCP.
Understanding script loading attributes
Add defer or type="module" to all first-party application scripts and async to independent third-party tags so zero synchronous <script src> tags block the HTML parser in <head>. Across all audited sites, 30.0% ship render-blocking scripts (69% good LCP, 1.9s median).
By Arjen Karel · 9,570 crawled React sites (1,979 with desktop Chrome field data, October 2026). How we measured.