The Speculation Rules API is a set of rules in JSON that tells the browser which links it may load ahead. You can list individual URLs, but document rules are handier. They use URL patterns and CSS selectors to describe which links on the page qualify. When the browser acts on a rule depends on its eagerness:
immediate: right away, as soon as the rules arrive.eager: at the slightest signal. On a desktop after a 10 ms hover; on a phone, where there is no hover, as soon as a link has been in view for 50 ms.moderate: on a desktop after a 200 ms hover, or sooner if you already press the mouse button. On a phone Chrome looks at which links are still in view once you have stopped scrolling for half a second.conservative: only when you press the mouse button or touch the screen.
There are two kinds of speculation. Prefetch only fetches the page's HTML and runs nothing. Prerender goes further: the browser builds the whole page out of sight, JavaScript included, so it appears instantly on the click. That is faster, but also more invasive, because scripts then run for a page the visitor may never see.
We use eager. The prefetch then starts as soon as the pointer touches a link, and by the time of the click the page has nearly always arrived. That has a price: every link the pointer crosses is fetched once, even if you do not click it. On a phone it goes further: there Chrome fetches every link that is in view for 50 ms, so scrolling through an overview loads nearly every card. Chrome holds at most two such prefetches at a time and drops the oldest, but that limits what it keeps, not what it fetches. If your server does not handle the extra requests well, choose moderate: it waits until someone actually pauses.