Third-party scripts are loaded asynchronously
Why it matters
A synchronous third-party script in <head> blocks the browser's HTML parser for the duration of the network request and script execution — stalling everything: layout, rendering, and any other script that follows. A single slow analytics script hosted on an external CDN can delay First Contentful Paint by 500ms–2s if that CDN has any latency. This is entirely under the developer's control: async tells the browser to download the script in parallel and execute it when ready; defer executes after the document is parsed. Neither attribute changes the script's behavior for tracking or analytics purposes.
Severity rationale
Medium because each synchronous third-party script adds a hard blocking delay to page rendering, and the delay is entirely controlled by an external CDN with no SLA.
Remediation
Add async or defer to every external <script> tag. In Next.js, replace manual script tags with the Script component and set strategy="afterInteractive" for analytics or "lazyOnload" for non-critical widgets.
<!-- Before — blocks HTML parsing -->
<script src="https://analytics.example.com/tracker.js"></script>
<!-- After — downloads in parallel, executes after parse -->
<script async src="https://analytics.example.com/tracker.js"></script>
<!-- OR: executes in order after document is parsed -->
<script defer src="https://analytics.example.com/tracker.js"></script>
// Next.js — use Script component in app/layout.tsx
import Script from 'next/script'
export default function RootLayout({ children }) {
return (
<html>
<body>
{children}
<Script
src="https://analytics.example.com/tracker.js"
strategy="afterInteractive" // loads after page is interactive
/>
</body>
</html>
)
}
DetectionPro
The detection method for this pattern is part of AuditBuffet Pro.
The full method (what to look for, pass and fail conditions, and how results get reported) ships inside the Performance & Load Readiness Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · performance-efficiency.time-behaviour — Time Behaviour
Taxons
History
- 2026-04-18·v1.0.0·Initial import from performance-load·automated