Prefetching on hover or viewport entry configured
Why it matters
Every navigation click triggers a full page-load waterfall: DNS lookup, TCP handshake, server response, asset parsing. Prefetching starts this waterfall before the user clicks — on hover or viewport entry — so that by the time the click registers, the next page's assets are already in cache. ISO 25010:2011 time-behaviour captures the latency savings; without prefetching, even a well-optimized site feels sluggish on navigations because each page transition starts from scratch.
Severity rationale
High because absent prefetching forces every navigation to begin a full request waterfall at click time, adding hundreds of milliseconds of avoidable latency to each page transition even when the destination page is predictable.
Remediation
In Next.js, <Link> components prefetch by default in production when they enter the viewport. Enable it explicitly for critical navigation links and configure DNS prefetch for third-party API domains.
// components/nav.tsx — explicit prefetch for primary navigation
import Link from 'next/link'
export function MainNav() {
return (
<nav>
<Link href="/dashboard" prefetch={true}>Dashboard</Link>
<Link href="/pricing" prefetch={true}>Pricing</Link>
</nav>
)
}
In app/layout.tsx, add <link rel="dns-prefetch"> for external APIs your pages call on load.
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 Deep Dive Audit. The pattern definition, severity rationale, and remediation remain openly licensed under CC-BY-4.0.
External references
- iso-25010:2011 · time-behaviour — Time Behaviour (performance efficiency)
Taxons
History
- 2026-04-18·v1.0.0·Initial import from performance-deep-dive·automated