Skip to main content
SlapMyWeb
Web Performance

Prefetch

A low-priority hint to fetch something the user will probably need on the next page.

Prefetch is a low-priority resource hint — link rel="prefetch" — asking the browser to fetch something during idle time because the user will probably need it next. It is about the following navigation, not the current one, which is what separates it from preload: preload is urgent and for this page, prefetch is speculative and for the next.

Definition

rel="prefetch" fetches at lowest priority into the cache, so a likely next navigation starts with the resource already local. Modern frameworks do this automatically for links entering the viewport.

The cost is real bandwidth spent on a guess. On metered or slow connections, aggressive prefetching of pages the user never visits is a tax paid by the people least able to afford it.

Why It Matters

Used on a genuinely likely next step — the next page of a paginated list, the checkout after a cart — prefetch makes that navigation feel instant. Used indiscriminately it just wastes data.

Example

<link rel="prefetch" href="/checkout">

Reasonable from a cart page. Unreasonable applied to every link on a homepage.

The trade-off nobody measures

Prefetching a likely next page makes that navigation feel instant. Prefetching an unlikely one spends someone else's bandwidth on nothing.

Frameworks that prefetch every link entering the viewport make this decision for you, and on a page with forty links that is forty speculative page loads. On a fast connection it is invisible; on a metered mobile plan it is a real cost paid by the person least able to afford it.

The reasonable default is to prefetch where the next step is genuinely predictable — the next page of a paginated list, the checkout from a cart — and to respect the Save-Data header, which is the visitor telling you explicitly not to.

How SlapMyWeb checks this

The audit reports total transfer weight and request count, which is where over-aggressive prefetching shows up: a page whose measured weight far exceeds what it renders is usually speculatively fetching pages nobody asked for. There is no rule against it, but the cost lands on the visitor's connection and data plan rather than on your server.

Know the term.
Check your own site.

A free audit tells you whether this is currently costing you score points — and exactly what to change.

Run a free audit
Free foreverNo signupResults in 30s