Speculation aturan API
What Speculation aturan API (prefetch dan prerender) actually adalah, whether ini affects SEO, crawling, atau rankings, dan cara implement ini without inflating Anda analytics.
Bahasa
Speculation aturan API adalah sebuah Chromium browser fitur (Chrome/Edge 109+) itu lets sebuah situs tell browser untuk prefetch (download HTML document) atau prerender (fully muat dan render di sebuah invisible tab) sama-situs halaman sebelum sebuah pengunjung clicks — so next navigation feels near-instant. Prefetch pays down TTFB; prerender additionally pays down FCP dan LCP. ini adalah not sebuah crawling, pengindeksan, atau peringkat mechanism — Googlebot doesn't perlu resource hints like ini dan Google publishes no Search documentation pada ini. Google Search itself menggunakan API untuk prefetch -nya top hasil, dan Ray-Ban reported besar conversion dan LCP gains dari prerendering, so nyata nilai adalah Core Web Vitals dan UX untuk actual pengunjung. big risk untuk manage adalah analytics: sebuah speculated halaman itu fires sebuah pageview sebelum pengguna sees ini akan inflate GA4 unless tracking memeriksa document.prerendering. WordPress 6.8 ships sebuah conservative, prefetch-hanya versi pada oleh default untuk logged-out pengguna.
TL;DR — Speculation aturan API lets Anda situs tell Chrome atau Edge untuk muat next halaman sebuah pengunjung adalah mungkin untuk click — quietly, di background — sebelum mereka click ini. When mereka melakukan click, halaman dapat appear almost instantly. ini adalah sebuah speed fitur untuk nyata people menggunakan Chromium browser. ini melakukan not help Google crawl atau peringkat Anda situs, tetapi ini dapat membuat halaman feel faster, which adalah baik untuk pengguna (dan, indirectly, untuk Core Web Vitals).
What ini adalah
Normally, when Anda click sebuah tautan, browser starts fetching itu halaman dari scratch — dan Anda wait. Speculation aturan API lets sebuah situs get sebuah head start: ini tells browser “the visitor will probably go here next, so start getting it ready now.” (terjemahan) “ pengunjung akan probably go here next, so start getting ini ready now.” When click finally happens, browser swaps di halaman ini sudah prepared alih-alih starting di atas.
ada two versi dari “getting it ready,” (terjemahan) “getting ini ready,” dan difference penting:
- Prefetch — browser quietly downloads next halaman’s HTML di background. Lighter weight, lower risk.
- Prerender — browser fully memuat dan renders next halaman di sebuah invisible tab, running -nya JavaScript dan everything. Heavier, tetapi halaman dapat appear truly instantly. Riskier, so Anda gunakan ini sparingly.
Anda set ini up dengan sebuah kecil block dari JSON pada Anda halaman. Anda dapat list exact URLs, atau tell browser “prepare any link the visitor hovers over.” (terjemahan) “prepare apa pun tautan pengunjung hovers di atas.”
melakukan ini help SEO?
pendek versi: not cara people hope. ini won’t get Anda di-crawl atau terindeks faster. Googlebot doesn’t perlu ini — ini adalah sebuah fitur untuk human pengunjung di Chrome dan Edge, not untuk search bot.
What ini dapat melakukan adalah membuat Anda halaman feel faster once someone adalah sudah pada Anda situs, clicking sekitar. Faster dunia nyata experiences feed ke Core Web Vitals, which adalah sebuah (modest) sinyal peringkat — dan, more importantly, faster halaman tend untuk convert better. Ray-Ban, misalnya, reported sebuah big jump di conversions setelah prerendering product halaman.
one thing untuk watch out untuk
Anda analytics dapat lie untuk Anda. jika browser prerenders sebuah halaman sebelum pengunjung ever sees ini, dan itu halaman fires sebuah “pageview” (terjemahan) “pageview” moment ini memuat, Anda analytics akan count sebuah visit itu tidak pernah happened. Google Analytics 4’s own script handles ini correctly pada -nya own — tetapi banyak lainnya tags dan pixels don’t, dan mereka’ll log phantom pageviews unless sebuah developer patches them.
jika Anda’re pada WordPress 6.8 atau later, Anda sudah memiliki sebuah safe, conservative versi dari ini turned pada oleh default (prefetch hanya, untuk logged-out pengunjung). Anda didn’t memiliki untuk melakukan anything — ini came dengan sebuah update.
ingin full picture — prefetch vs. prerender di detail, eagerness tingkat, “never prerender this” (terjemahan) “tidak pernah prerender ini” list, dan cara fix analytics masalah? Switch untuk Advanced tab.
TL;DR — Speculation aturan API (Chromium, Chrome/Edge 109+) lets sebuah situs declare — di JSON, inline atau via sebuah
Speculation-Rulesheader — which sama-situs URLs browser seharusnya prefetch (download document; pays down TTFB) atau prerender (fully fetch, render, dan run JS di sebuah invisible tab; pays down TTFB + FCP + LCP). Eagerness (immediate/eager/moderate/conservative) controls when sebuah aturan fires, separate dari which URLs ini targets. ini adalah not sebuah crawling/pengindeksan/peringkat mechanism — Googlebot doesn’t rely pada resource hints like ini (per Illyes’ Feb 2026 comments pada hints umumnya) dan Google publishes no Search docs pada ini. tetapi Google Search itself menggunakan ini untuk prefetch -nya top hasil, dan Ray-Ban reported besar conversion + LCP wins, so payoff adalah nyata untuk actual pengunjung via Core Web Vitals dan UX. Biggest gotchas: analytics double-counting (fix dengandocument.prerendering/prerenderingchange), state-changingGETURLs (logout, tambahkan-untuk-cart) Anda harus tidak pernah speculate, dan Chromium-hanya mendukung. Start dengan prefetch broadly; tambahkan prerender untuk one atau two tinggi-confidence halaman di sebagian besar.
What Speculation aturan API actually adalah
Speculation aturan API
adalah sebuah browser API — Chromium hanya — itu lets sebuah situs tell browser which
sama-situs halaman untuk prepare sebelum sebuah pengunjung clicks. Per MDN, API adalah designed
untuk meningkatkan performa untuk future navigations, dan because ini targets document URLs
alih-alih individual resource files, ini membuat sense untuk multi-halaman situs rather
daripada single-halaman apps. ini supersedes old, deprecated, Chrome-hanya
<link rel="prerender"> dan goes beyond widely-available <link rel="prefetch">
dengan sebuah more expressive JSON syntax.
aturan adalah declared sebagai JSON, either inline di sebuah <script type="speculationrules">
block atau via sebuah
Speculation-Rules
respons header HTTP. mereka dapat list explicit URLs atau auto-match tautan pada halaman
via where/href_matches conditions (called document aturan).
ada two speculative tindakan, dan getting distinction right adalah whole game:
- Prefetch downloads respons body dari referenced halaman — tetapi not -nya subresources. ini pays down next halaman’s TTFB.
- Prerender fetches, renders, dan memuat halaman ke sebuah invisible di-memory tab: semua subresources, semua JavaScript, bahkan data fetches kicked off oleh JS. Per MDN, future navigations untuk sebuah prerendered halaman adalah near-instant. ini pays down TTFB dan FCP dan LCP — tetapi ini adalah far more expensive dan riskier.
Harry Roberts’ shorthand di his layered-approach write-up captures ini well: prefetch adalah untuk paying down TTFB, prerender adalah untuk LCP.
One di bawah-covered technical nuance: speculated resources land di browser’s
memory cache, which adalah quicker untuk retrieve daripada HTTP cache older
<link rel="prefetch"> hint menggunakan. dan sebuah prefetched atau prerendered document juga
populates HTTP cache, so bahkan sebuah speculation pengunjung tidak pernah menggunakan isn’t pure
waste — sebuah later navigation dapat masih benefit.
Eagerness: when untuk speculate, separate dari which URLs
sebuah genuinely clever design choice here adalah itu eagerness adalah sebuah separate lever dari targeting. Barry Pollard’s Chrome blog post pada API’s improvements frames ini sebagai separating when untuk speculate dari which URLs untuk speculate pada. ada four tingkat:
immediate— speculate segera setelah aturan adalah seen (pada pemuatan halaman).eager— start pada slightest signal.moderate— roughly sebuah 200ms hover (atau pointerdown pada touch).conservative— pointer- atau touch-down, i.e. pengunjung memiliki semua tetapi clicked.
Treat ini four trigger definitions sebagai Chrome’s saat ini heuristics, not sebuah fixed
spec — Chrome memiliki changed exact mobile triggers more daripada once (ini moved
moderate untuk viewport-based heuristics dan adjusted eager’s timing sebagai recently sebagai
January 2026), so re-periksa live docs sebelum quoting sebuah exact millisecond atau
percentage threshold di Anda own implementation notes.
Two related refinements worth knowing: No-Vary-Search lets browser reuse sebuah
cached document itu differs hanya oleh ignorable parameters (e.g. UTM-tagged variants
dari yang sama halaman), dan newer prerender-until-script pattern (covered oleh
CoreWebVitals.io)
offers sebuah middle ground antara plain prefetch dan sebuah full prerender — sebagai dari ini
writing ini adalah masih sebuah experimental, not-umumnya-available tindakan running di sebuah
Chrome origin trial, not sebuah shipped default.
Chrome’s own guardrails
Anda dapat’t accidentally nuke sebuah pengunjung’s device dengan sebuah di atas-broad aturan. Chrome’s
prerender documentation
sets hard, FIFO caps regardless dari Anda configuration: untuk immediate-eagerness
aturan, 50 prefetches dan 10 prerenders; untuk interaction-based (moderate/
conservative) aturan, 2 slots. Chrome juga treats sebuah prerender sebagai sebuah hint dan sebuah
progressive enhancement, not sebuah guarantee — ini dapat decline berdasarkan pengguna’s
settings atau resource constraints — dan ini won’t render cross-origin iframes pada sebuah
prerendered halaman until activation. sebuah dibangun-di privacy guard juga blocks cross-situs
prefetches when pengguna sudah memiliki cookies set untuk destination situs.
Cross-origin aturan, dan what actually happens inside sebuah prerendered halaman
Per MDN, prerendering adalah restricted untuk sama-origin documents oleh default.
Cross-origin, sama-situs prerendering adalah mungkin, tetapi hanya jika target halaman
opts di dengan sebuah Supports-Loading-Mode: credentialed-prerender respons header —
cross-situs prerendering isn’t mungkin di semua sebagai dari ini writing. Cross-situs
prefetch adalah more permissive (sama-situs dan cross-situs prefetches both berfungsi), tetapi
masih gated oleh no-cookies-set privacy aturan above; sebuah broader cross-situs prefetch
opt-di via Supports-Loading-Mode adalah documented sebagai planned tetapi not yet shipped.
Inside hidden tab, sebuah prerendering halaman isn’t sebuah normal pemuatan halaman: intrusive APIs
(alert()/confirm()/prompt(), requestFullscreen(), Navigator.share()) adalah
blocked atau ignored, async APIs like geolocation dan getUserMedia() adalah deferred
until activation, dan cross-origin iframes dan worker scripts don’t run until lalu
either. Session storage gets special handling worth knowing jika Anda halaman reads ini
pada muat: sebuah prerendering halaman starts dengan sebuah clone dari tab’s session storage,
dan itu clone adalah discarded di favor dari nyata tab’s storage di activation — so
test apa pun session-storage-dependent logic both sebelum dan setelah
prerenderingchange event, not hanya pada sebuah normal muat. untuk timing, document.prerendering
dan prerenderingchange tell Anda state dan activation moment;
PerformanceNavigationTiming.activationStart gives Anda actual elapsed time
antara prerender start dan activation jika Anda ingin mengukur ini.
melakukan Speculation aturan API affect SEO, crawling, atau rankings?
ini adalah pertanyaan setiap SEO ingin answered, dan sebagian besar competing artikel wave ini away. precise jawaban memiliki two halves.
What ini melakukan NOT melakukan
ini adalah not sebuah crawling, pengindeksan, atau peringkat mechanism. tidak ada Google Search Central documentation tying Speculation aturan API untuk how Googlebot melakukan crawl atau indeks — because ini doesn’t touch itu layer di semua. ini adalah sebuah browser fitur untuk human pengunjung di Chromium.
closest thing untuk sebuah pada—record Google statement adalah Gary Illyes pada Search Off Record (early 2026), talking tentang resource hints di umum — not Speculation aturan API oleh name. sebagai mesin pencari Journal reported, Illyes’ poin adalah itu Googlebot’s own infrastructure memiliki near-infinite bandwidth dan very fast DNS resolution, so hints like DNS-prefetch dan preload hold essentially no nilai untuk -nya crawling process — ini dapat sudah talk untuk server fast dan doesn’t perlu untuk menjadi told untuk fetch things earlier. Treat itu sebagai mendukung untuk “this is a browser/visitor feature, not a crawler one,” (terjemahan) “ini adalah sebuah browser/pengunjung fitur, not sebuah crawler one,” tetapi note scope: Illyes adalah addressing broader resource-hints family, not Speculation aturan specifically. ini adalah yang sama discipline sibling resource hints piece applies.
juga worth stating plainly because people tanyakan: Bing memiliki published nothing pada Speculation aturan API untuk SEO. Edge (Chromium 109+) mendukung ini sebagai sebuah browser fitur, tetapi there’s no bingbot atau pengindeksan angle — which adalah exactly what Anda’d expect untuk sebuah rendering-browser fitur alih-alih sebuah search-mesin-crawler one.
What ini dapat melakukan
ini dapat meningkatkan Core Web Vitals — terutama LCP, dan indirectly INP oleh front-memuat JavaScript execution sebelum interaction happens — untuk nyata pengguna. Core Web Vitals adalah sebuah documented (jika modest) sinyal peringkat via halaman experience sistem, so there’s sebuah indirect peringkat pathway. tetapi stronger case adalah plain UX dan conversion: membuat next halaman feel instant adalah sebuah nyata business lever independent dari rankings.
non-overclaiming cara untuk frame ini: Speculation aturan won’t get Anda di-crawl atau terindeks differently — ini membuat sebuah halaman feel instant once sebuah nyata pengunjung adalah sudah navigating Anda situs, which adalah sebuah UX dan Core Web Vitals lever, not sebuah crawler one.
dunia nyata hasil
Two proof poin melakukan heavy lifting here, dan both come dari Google’s own publications.
Google Search menggunakan ini pada itself. Per Chrome team’s 2025 announcement, one dari pertama menggunakan dari speculation aturan adalah untuk prefetch pertama two search hasil. diukur gains: pada Android Chrome, LCP untuk clicks dari Google Search adalah reduced oleh 67 milliseconds; pada desktop, sebuah similar 58,6 millisecond LCP improvement. Hover-based prefetching dari remaining hasil cut desktop FCP oleh 7,6 milliseconds dan LCP oleh 9,5 milliseconds. untuk cross-origin hasil prefetches, Google Search routes them melalui Chrome’s private prefetch proxy untuk anonymize permintaan. Very few competing artikel cite itu Google trusts ini enough untuk run ini pada google.com/search di scale — dan published exact millisecond deltas.
Ray-Ban’s case study adalah business-impact proof. Google’s
web.dev case study
reports itu setelah prerendering product halaman, mobile conversion rates pada PDPs
increased oleh 101,47% dan desktop oleh 156,16%, dengan sebuah 43% improvement di LCP pada both
desktop dan mobile. Exit rates dropped roughly 13% pada both, dan halaman viewed per
session rose 51,95% pada mobile dan 65,30% pada desktop. implementation split adalah
instructive: desktop digunakan moderate eagerness triggered oleh hovering product tiles;
mobile (no hover state) digunakan immediate eagerness pada hanya pertama four tiles,
which adalah paling-clicked.
dan scale adalah sudah besar: WordPress 6.8 (March 2025) ships ini oleh default, membangun pada sebuah fitur plugin itu adalah pada tens dari thousands dari situs sebelum core adoption — meaning sebuah meaningful share dari web sudah memiliki speculation aturan running without anyone configuring them.
cara implement ini safely
consensus adoption order, dari both Google’s docs dan independent experts:
- Start dengan prefetch, broadly. Per Chrome’s implementation guide, prefetch adalah relatively safe untuk sebagian besar situs dan adalah initial approach banyak take.
- tambahkan prerender narrowly, later. Chrome’s docs warn terhadap di atas-prerendering di sebuah cost dari pengguna resources, dan recommend keeping prerenders down untuk one atau two halaman di sebagian besar. Harry Roberts reaches yang sama conclusion independently — sebuah wildcard-like match adalah too greedy, dan prerendering everything adalah biasanya too expensive dan too risky; sebuah opt-di approach adalah better.
- gunakan document aturan untuk scale without per-halaman config. alih-alih hand-listing
URLs pada setiap halaman, sebuah
where/href_matchescondition sources URLs dari document itself so one aturan set dapat apply situs-wide. - Mind Anda CSP. Inline
<script type="speculationrules">blocks perlu explicit allowance discript-src— via'inline-speculation-rules', sebuah hash-source, atau sebuah nonce-source — atau mereka silently fail when sebuah konten Security Policy adalah di place.
What NOT untuk prefetch atau prerender
Both MDN dan Chrome’s implementation guide adalah explicit itu beberapa URLs harus tidak pernah menjadi speculated, because sebuah speculative fetch adalah masih sebuah nyata permintaan itu dapat trigger nyata side effects. danger list:
- Sign-out / logout URLs.
- “Add to cart” (terjemahan) “tambahkan untuk cart” URLs.
- Language- atau currency-switcher URLs.
- Sign-di flows itu trigger sebuah SMS/OTP.
- URLs itu increment sebuah usage allowance atau fire ad-conversion tracking.
root fix adalah sebuah design one: state perubahan — like sebuah /logout tindakan — shouldn’t menjadi
plain GET tautan itu sebuah speculation aturan dapat fetch di pertama place.
Prerender adalah stricter masih. Additionally unsafe untuk prerender: halaman itu modify client-side storage pada muat, kirim analytics atau ad-impressions pada muat, atau otherwise cause side effects sebagai jika pengguna memiliki interacted. MDN’s framing adalah itu prerendering adalah riskier daripada prefetching dan seharusnya menjadi done sparingly, hanya where ini adalah worth ini.
Fixing analytics masalah
ini adalah trap itu catches nyata situs. sebuah prerendered halaman fully memuat sebelum
pengguna ever sees ini. jika sebuah page_view (atau sebuah ad impression, atau sebuah Meta Pixel event)
fires pada muat, Anda’ve logged sebuah visit itu didn’t happen — inflating GA4 sessions dan
corrupting attribution.
mechanism untuk fix ini adalah documented di MDN dan Chrome’s guides:
document.prerenderingadalahtruewhile sebuah halaman adalah menjadi prerendered.prerenderingchangeevent fires pada activation (when pengguna actually navigates di).- server dapat juga detect speculative permintaan via
Sec-Purposepermintaan header (prefetch, atauprefetch;prerender).
practical reality: per Chrome’s implementation guide, beberapa analytics providers (Google Analytics) dan ad providers (Google Publisher Tag) sudah mendukung speculation aturan dan won’t log sebuah view until halaman adalah activated. GA4’s own gtag.js handles ini untuk Anda. What typically doesn’t handle ini oleh default: custom GTM tags, Meta Pixel, dan homegrown scripts. untuk tag-manager setups, one clean approach adalah untuk delay tag manager script itself, atau gate spesifik code until halaman adalah activated atau dibuat terlihat. There’s sebuah documented dunia nyata versi dari getting ini wrong — WordPress 6.8 situs reportedly firing GA4 dan Meta Pixel ghost visits setelah fitur auto-enabled; Erwin Hofman covers fix secara mendalam.
browser mendukung reality periksa
ini tempers ROI expectations dan sebagian besar artikel bury ini: Speculation aturan API adalah Chromium-hanya (Chrome dan Edge 109+). ini adalah not Baseline. Firefox memiliki sebuah positive standards position pada prefetch portion hanya dan hasn’t shipped ini; Safari memiliki sebuah implementation behind sebuah flag, off oleh default. sebuah meaningful share dari apa pun situs’s traffic — everyone pada Firefox dan Safari — gets zero benefit, so size Anda expectations accordingly.
Speculation aturan di WordPress 6.8+
Because so much dari search audience adalah pada WordPress dan got ini oleh default:
WordPress 6.8 (March 2025) ships dibangun-di Speculative memuat, pada oleh default untuk
logged-out pengunjung, menggunakan sebuah conservative, prefetch-hanya configuration out dari
box. situs owners dapat customize perilaku — including opting ke prerender untuk key
URLs — via wp_speculation_rules_configuration filter (Weston Ruter, sebuah Google
engineer dan WordPress core contributor, memiliki sebuah
walkthrough).
default adalah deliberately safe, which adalah why sebagian besar WordPress situs dapat leave ini pada —
tetapi ini adalah juga why analytics gotcha above surprised sebuah lot dari situs owners who tidak pernah
chose untuk enable anything.
Myths, debunked
- “Speculation Rules will help Googlebot crawl my site faster.” (terjemahan) “Speculation aturan akan help Googlebot crawl my situs faster.” No — ini adalah sebuah browser-rendering fitur untuk human pengunjung di Chromium; Googlebot’s own infrastructure doesn’t perlu hints like ini, dan no Google doc tautan API untuk crawling.
- “It’s the same as
<link rel="prefetch">/<link rel="prerender">.” (terjemahan) “ini adalah yang sama sebagai undefined/undefined.” Not quite — ini supersedes deprecated Chrome-hanyarel="prerender", menambahkan sebuah richer JSON syntax (document aturan, eagerness), dan stores speculated resources di memory cache alih-alih HTTP cache. - “Prerendering everything makes my whole site instant with no downside.” (terjemahan) “Prerendering everything membuat my whole situs instant dengan no downside.” No — Chrome warns terhadap di atas-prerendering, enforces hard caps, dan both Google dan Harry Roberts recommend di sebagian besar one atau two prerendered halaman.
- “If I add speculation rules my analytics just works.” (terjemahan) “jika I tambahkan speculation aturan my analytics hanya berfungsi.” hanya jika setiap analytics
dan ad script defers via
document.prerendering/prerenderingchange. GA4 handles ini; banyak GTM tags dan ketiga-party pixels don’t. - “It’s universally supported, so it’s a safe default for all traffic.” (terjemahan) “ini adalah universally didukung, so ini adalah sebuah safe default untuk semua traffic.” No — Chromium-hanya, not Baseline; Firefox dan Safari don’t ship ini oleh default.
- “Prefetch is risk-free, so I can wildcard it.” (terjemahan) “Prefetch adalah risk-free, so I dapat wildcard ini.” Overstated — sebuah wildcard-like
match adalah too greedy, terutama untuk state-changing
GETURLs itu seharusnya tidak pernah menjadi fetchable tautan di pertama place. - “This will directly move my rankings.” (terjemahan) “ini akan directly move my rankings.” Not established oleh apa pun official source sebagai sebuah direct peringkat factor. credible chain adalah Speculation aturan → better nyata-pengguna Core Web Vitals / conversion → existing, modest halaman-experience signal, plus business wins itu penting regardless dari rankings.
Where ini sits
ini adalah sebuah web performa topic, not sebuah
crawling one — dan keeping itu line clean adalah poin. ini adalah sebuah close cousin dari
resource hints (preload/preconnect/dns-prefetch/prefetch), which share
“browser does network work earlier” (terjemahan) “browser melakukan network berfungsi earlier” idea dan yang sama “doesn’t help Googlebot” (terjemahan) “doesn’t help Googlebot”
caveat; ini feeds Core Web Vitals (LCP terutama); dan ini interacts dengan
caching dan sebuah CDN since speculated documents populate caches. untuk
crawler-side analogue dari “ask before you re-fetch,” (terjemahan) “tanyakan sebelum Anda re-fetch,” conditional-permintaan topic
covers how Googlebot menghindari re-downloading unchanged halaman — sebuah berbeda layer
(crawler, not browser), sama discipline dari separating mechanics dari peringkat impact.
AI summary
sebuah condensed take pada Advanced versi:
- What ini adalah: sebuah Chromium-hanya (Chrome/Edge 109+) browser API untuk prefetch
(download HTML document; pays down TTFB) atau prerender (fully muat + run JS
di sebuah invisible tab; pays down TTFB + FCP + LCP) sama-situs halaman sebelum sebuah click.
Declared sebagai JSON inline atau via sebuah
Speculation-Rulesheader. - Eagerness (
immediate/eager/moderate/conservative) controls when sebuah aturan fires, separate dari which URLs ini targets. Chrome enforces hard caps (50 prefetches / 10 prerenders untuk immediate aturan); exact triggers adalah Chrome-versi-dependent heuristics, not fixed constants. - Cross-origin: prerender adalah sama-origin oleh default; cross-origin sama-situs
prerender perlu target’s opt-di (
Supports-Loading-Mode: credentialed-prerender); cross-situs prerender isn’t mungkin di semua. Prefetch adalah more permissive tetapi masih gated oleh sebuah no-destination-cookies privacy aturan. - SEO reality: not sebuah crawling/pengindeksan/peringkat mechanism — Googlebot doesn’t perlu resource hints (per Illyes, Feb 2026, pada hints umumnya) dan Google memiliki no Search doc pada ini. Bing memiliki published nothing. ini dapat move Core Web Vitals (LCP/INP) dan conversions untuk pengguna nyata — sebuah indirect peringkat + UX lever.
- Proof ini berfungsi: Google Search prefetches -nya top two hasil (LCP down ~58–67ms); Ray-Ban reported ~100–156% conversion lifts dan sebuah 43% LCP improvement dari prerendering PDPs.
- Biggest risk — analytics: sebuah speculated halaman firing sebuah pageview pada muat inflates
GA4. Fix dengan
document.prerendering/prerenderingchange. GA4 handles ini natively; GTM custom tags dan Meta Pixel sering don’t. - tidak pernah speculate state-changing
GETURLs: logout, tambahkan-untuk-cart, currency/lang switchers, OTP sign-di. Redesign itu offGETtautan. - Adoption order: prefetch broadly, tambahkan prerender untuk one atau two halaman max, mind
CSP (
'inline-speculation-rules'). - WordPress 6.8+ ships conservative, prefetch-hanya speculative memuat pada oleh
default untuk logged-out pengguna (
wp_speculation_rules_configurationfilter untuk customize).
Official documentation
Primary-source documentation. Note: mesin pencari publish nothing pada ini sebagai sebuah SEO topic — authoritative docs adalah browser/standards references.
MDN / standards
- Speculation aturan API — technical reference: syntax, prefetch vs. prerender, privacy, CSP, dan browser-compatibility status.
- Speculation-aturan header HTTP — declaring aturan via sebuah respons header alih-alih sebuah inline script.
Chrome untuk Developers (Google)
- Prerender halaman di Chrome untuk instant halaman navigations — how prerender berfungsi, hint-not-guarantee framing, dan Chrome’s FIFO caps.
- Guide untuk implementing speculation aturan untuk more kompleks situs — analytics warning, ketiga-party-script handling, dan state-perubahan cautions.
- Improvements untuk Speculation aturan API (Barry Pollard, 2024) — document aturan, eagerness,
No-Vary-Search, HTTP-cache reuse. - Google Search now menggunakan Speculation aturan API (Pollard & Busaryev, 2025) — Google’s own usage dan diukur LCP/FCP deltas.
web.dev (Google)
- How Ray-Ban doubled conversion rate… melalui prerendering — business-impact case study.
- Prefetching, prerendering, dan precaching — memory cache vs. HTTP cache, dan when untuk menjadi cautious.
WordPress (official fitur docs)
- Speculative memuat di 6,8 (membuat WordPress Core) — default perilaku dan configuration filter.
- Speculative memuat fitur plugin — plugin core adoption adalah berdasarkan.
Quotes dari source
Statements dari primary browser/standards documentation dan Google’s own publications. Because ini isn’t sebuah search-mesin SEO topic, tidak ada Google Search quotes — sources adalah Chrome/MDN/web.dev.
MDN — what ini adalah dan melakukan
- “The Speculation Rules API is designed to improve performance for future navigations. It targets document URLs rather than specific resource files, and so makes sense for multi-page applications (MPAs) rather than single-page applications (SPAs).” (terjemahan) “ Speculation aturan API adalah designed untuk meningkatkan performa untuk future navigations. ini targets document URLs alih-alih spesifik resource files, dan so membuat sense untuk multi-halaman applications (MPAs) alih-alih single-halaman applications (SPAs).” Jump untuk quote
Chrome — Google Search’s own usage ( strongest proof poin)
- “One of the first uses of speculation rules was to prefetch the first two search results.” (terjemahan) “One dari pertama menggunakan dari speculation aturan adalah untuk prefetch pertama two hasil pencarian.” — Chrome untuk Developers blog. Jump untuk quote
- pada Android Chrome, LCP untuk clicks dari Google Search adalah “reduced by 67 milliseconds.” (terjemahan) “reduced oleh 67 milliseconds.” Jump untuk quote
- pada desktop, sebuah “similar improvement in LCP of 58.6 milliseconds.” (terjemahan) “similar improvement di LCP dari 58,6 milliseconds.” Jump untuk quote
Speculation aturan cheat sheet
Prefetch vs. prerender
| Prefetch | Prerender | |
|---|---|---|
| What ini melakukan | Downloads halaman’s HTML document hanya | Fully fetches, renders, dan runs JS di sebuah invisible tab |
| Metrics ini improves | TTFB | TTFB + FCP + LCP |
| Cost / risk | Lower | Higher (memory, bandwidth, side effects) |
| How much untuk gunakan | Broadly adalah OK | 1–2 tinggi-confidence halaman max |
| Where ini caches | HTTP cache | di-memory cache (juga populates HTTP cache) |
Eagerness — when sebuah aturan fires (independent dari which URLs)
| tingkat | Fires when… |
|---|---|
immediate | segera setelah aturan adalah parsed (pemuatan halaman) |
eager | pada slightest signal toward sebuah tautan |
moderate | ~200ms hover (pointerdown pada touch) |
conservative | Pointer/touch-down — pengunjung memiliki semua tetapi clicked |
Chrome’s hard caps (regardless dari Anda config)
immediateaturan: 50 prefetches / 10 prerenders.- Interaction-based (
moderate/conservative) aturan: 2 FIFO slots.
Cross-origin quick reference
- Prerender: sama-origin oleh default; cross-origin sama-situs perlu target untuk
kirim
Supports-Loading-Mode: credentialed-prerender; cross-situs prerender isn’t mungkin. - Prefetch: sama-situs dan cross-situs both berfungsi, gated oleh no-destination-cookies privacy aturan.
Fast facts
- mendukung: Chromium-hanya (Chrome/Edge 109+). Not Baseline. Firefox = prefetch standards position hanya (unshipped); Safari = behind sebuah flag, off oleh default.
- Declared sebagai JSON: inline
<script type="speculationrules">atau sebuahSpeculation-Rulesheader HTTP. - CSP: inline blocks perlu
'inline-speculation-rules'(atau hash/nonce) discript-src. - Detect sebuah speculative muat:
document.prerendering,prerenderingchangeevent, atauSec-Purposepermintaan header. - Not sebuah Google peringkat/crawl signal. Google Search menggunakan ini (top-2 hasil, ~58–67ms LCP). WordPress 6.8+ = conservative, prefetch-hanya, logged-out, pada oleh default.
What not untuk melakukan
Speculating state-changing GET URLs.
sebuah speculative fetch adalah sebuah nyata permintaan. tidak pernah prefetch atau prerender logout,
tambahkan-untuk-cart, currency/language switchers, OTP-triggering sign-di flows, atau
allowance-incrementing URLs. nyata fix adalah design: itu tindakan shouldn’t menjadi
plain GET tautan sebuah aturan dapat fetch. ini adalah documented di both MDN dan Chrome’s
implementation guide.
Prerendering broadly atau dengan sebuah wildcard. Chrome caps ini dan warns terhadap di atas-prerendering di sebuah cost dari pengguna resources; Harry Roberts panggilan sebuah wildcard-like match too greedy. pertahankan prerenders untuk one atau two tinggi-confidence halaman.
Assuming Anda analytics adalah fine.
jika sebuah prerendered halaman fires sebuah pageview pada muat, Anda’ll inflate GA4 dengan visits itu
tidak pernah happened. GA4’s gtag.js handles ini — tetapi GTM custom tags, Meta Pixel, dan
homegrown scripts sering don’t. WordPress 6.8 situs reportedly logged GA4/Meta ghost
visits setelah fitur auto-enabled. Gate tracking pada document.prerendering /
prerenderingchange.
Forgetting Anda CSP.
sebuah inline <script type="speculationrules"> silently fails di bawah sebuah konten Security
Policy unless script-src allows 'inline-speculation-rules' (atau sebuah hash/nonce).
Expecting ini untuk help crawling atau rankings. ini doesn’t touch Googlebot. Selling ini internally sebagai sebuah “SEO fix for crawl budget or rankings” (terjemahan) “SEO fix untuk anggaran crawling atau rankings” sets wrong expectation — pitch ini sebagai sebuah Core Web Vitals / conversion win untuk nyata Chromium pengunjung.
di atas-estimating reach. ini adalah Chromium-hanya. Firefox dan Safari pengguna get nothing oleh default, so don’t model ROI sebagai jika ini applies untuk semua traffic.
Worked contoh
Minimal, illustrative aturan blocks. Adapt targeting untuk Anda own situs dan selalu exclude state-changing URLs.
1. Prefetch two explicit URLs (safest starting poin)
<script type="speculationrules">
{
"prefetch": [
{ "urls": ["/pricing/", "/features/"] }
]
}
</script>2. Document aturan — prefetch sama-situs tautan pada hover (moderate)
<script type="speculationrules">
{
"prefetch": [
{
"where": { "href_matches": "/*" },
"eagerness": "moderate"
}
]
}
</script>3. Prerender one tinggi-confidence halaman, excluding dangerous paths
<script type="speculationrules">
{
"prerender": [
{
"where": {
"and": [
{ "href_matches": "/*" },
{ "not": { "href_matches": "/logout*" } },
{ "not": { "href_matches": "/cart*" } }
]
},
"eagerness": "conservative"
}
]
}
</script>4. Deliver aturan via header HTTP alih-alih sebuah inline script
Speculation-Rules: "/speculation-rules.json"…where /speculation-rules.json mengembalikan yang sama JSON dengan sebuah
application/speculationrules+json konten jenis. berguna when sebuah strict CSP membuat
inline scripts painful.
5. Guard analytics terhadap firing selama prerender
if (document.prerendering) {
document.addEventListener('prerenderingchange', sendPageview, { once: true });
} else {
sendPageview();
}ini defers pageview until halaman adalah actually activated — yang sama pattern GA4’s own script menggunakan.
Analytics jumped setelah prerender shipped
- Pause prerender aturan, not whole performa program. pertahankan sebuah copy dari deployed aturan dan switch affected path back untuk prefetch atau no speculation. jika unexplained traffic stops, continue dengan prerender investigation.
- Separate activation dari background muat. Reproduce di Chromium dan inspect
document.prerenderingsebelum navigation. jika analytics fires while ini adalahtrue, tag records sebuah halaman pengunjung memiliki not activated. - Identify firing owner. periksa GA4, custom GTM tags, ad pixels, dan homegrown events independently. jika hanya one source inflates, fix itu integration rather daripada weakening setiap aturan.
- Gate event. Delay pageview atau impression until
prerenderingchange/activation. jika provider sudah mendukung prerendering, hapus duplicate custom firing logic. - Replay abandoned-navigation case. Trigger sebuah prerender tetapi melakukan not click. event harus remain absent. lalu activate halaman once dan confirm exactly one event adalah recorded.
- Restore narrowly. Re-enable one tinggi-confidence prerender target, compare activated navigations dengan analytics events, dan expand hanya when counts remain aligned.
Review sebuah aturan set untuk side effects
Review this Speculation Rules JSON and a list of site routes. Classify every matched
route as safe to prefetch, safe to prerender, or exclude. Explicitly flag logout,
add-to-cart, language/currency switching, OTP, allowance-changing, analytics, storage,
and ad-impression side effects. Check eagerness, scope, and likely resource waste.
Return the smallest safe rule set plus validation and rollback tests. Do not claim a
crawling, indexing, or direct ranking benefit.Design sebuah staged rollout
Create a staged Speculation Rules rollout for this click-path data and browser mix.
Start with prefetch, choose at most one or two high-confidence prerender targets, and
explain why each route is likely enough to justify its cost. Include Chromium-only
segmentation, analytics activation handling, CSP checks, success metrics, an abandoned
navigation test, and rollback triggers. Do not invent conversion or performance gains.Debug missing speculation
Given this page markup, response headers, CSP, browser version, and DevTools evidence,
diagnose why a speculation rule was not used. Check invalid JSON, CSP blocking,
unsupported browser, rule mismatch, resource limits, cross-origin restrictions, and
browser discretion. Return symptom, evidence, likely cause, smallest fix, and the
exact evidence that would confirm it. Safe speculation release checklist
- browser-mendukung data justifies sebuah Chromium-hanya progressive enhancement.
- Initial rollout menggunakan prefetch; prerender adalah limited untuk one atau two tinggi-confidence destinations.
- Logout, cart mutation, login/OTP, language/currency, allowance-changing, dan lainnya state-changing GET routes adalah excluded.
- Prerendered halaman melakukan not mutate storage atau fire impressions sebelum activation.
- Session-storage-dependent logic adalah tested both sebelum dan setelah
prerenderingchange(sebuah prerendering halaman starts dengan sebuah storage clone itu’s discarded di activation). - apa pun cross-origin prerender target mengirim
Supports-Loading-Mode: credentialed-prerender; cross-situs prerender isn’t attempted di semua. - Custom analytics dan pixels periksa
document.prerenderingdan wait untukprerenderingchangewhen necessary. - CSP permits inline atau external speculation-aturan delivery metode.
- Targeting dan eagerness come dari observed navigation perilaku, not sebuah wildcard guess.
- DevTools confirms aturan adalah valid, eligible, dan digunakan hanya untuk intended URLs.
- sebuah abandoned speculative muat records no pageview, conversion, atau state perubahan.
- Safari dan Firefox masih menerima sebuah fully functional normal navigation.
- performa dan business outcomes adalah diukur pada activated navigations, dengan wasted speculation tracked separately.
Activation dan analytics integrity
Test untuk run: Trigger sebuah prerender without clicking, lalu repeat dan activate halaman once while observing analytics dan custom pixel permintaan.
Expected hasil: abandoned prerender records no pageview atau impression; activated navigation records exactly one.
Failure interpretation: sebuah tag fires pada background muat atau duplicate activation logic records yang sama visit twice.
Monitoring window: Test sebelum release, immediately setelah release, dan setelah tag manager atau analytics-library perubahan.
Rollback trigger: Disable prerender untuk affected route jika speculative memuat inflate sessions, impressions, conversions, atau attribution.
Navigation performa dan waste
Test untuk run: Compare matched activated navigations dengan dan without aturan, dan count speculations itu adalah tidak pernah activated.
Expected hasil: Targeted Chromium navigations tampilkan earlier document/paint timing without sebuah unacceptable volume dari unused berfungsi atau saat ini-halaman regressions.
Failure interpretation: prediction adalah weak, eagerness adalah too aggressive, atau background berfungsi competes dengan saat ini halaman.
Monitoring window: Review selama sebuah limited rollout di seluruh representative devices dan connection classes sebelum expanding scope.
Rollback trigger: langkah back dari prerender untuk prefetch, atau hapus aturan, jika unused permintaan atau regressions outweigh diukur activated-navigation benefit.
Side-effect exclusion
Test untuk run: Exercise setiap matched route without activation dan inspect server state, authentication, cart contents, messaging, dan usage counters.
Expected hasil: No speculative permintaan perubahan pengguna atau server state.
Failure interpretation: sebuah state-changing GET route adalah matched atau sebuah halaman executes side effects selama background muat.
Monitoring window: Re-run when routes, document-aturan selectors, atau application side effects perubahan.
Rollback trigger: hapus match immediately jika sebuah speculative permintaan logs out sebuah pengguna, perubahan sebuah cart, mengirim sebuah message, consumes sebuah allowance, atau records sebuah conversion.
Speculative-navigation scorecard
Metric: Activated-navigation performa untuk eligible Chromium pengguna, paired dengan speculation activation rate dan analytics-event accuracy.
What ini tells Anda: Whether prediction membuat nyata next-halaman navigations faster, how sering prefetched/prerendered berfungsi adalah actually digunakan, dan whether pengukuran stays trustworthy.
cara pull ini: Segment nyata-pengguna navigation dan paint timings oleh browser dan aturan exposure; log speculation candidates dan activations; compare activated pageviews dengan analytics events. pertahankan prefetch dan prerender cohorts separate.
Benchmark atau realistic range: gunakan situs’s own pre-release distribution dan sebuah controlled holdout. tidak ada honest universal activation-rate atau conversion target; browser mix, path predictability, halaman weight, dan intent differ oleh situs.
Cadence: Watch resource gunakan dan analytics integrity selama rollout, review performa dan activation weekly while tuning aturan, dan re-audit setelah navigation, tagging, CSP, atau browser-mendukung perubahan.
Resources worth Anda time
My related writing
- Beginner’s Guide untuk SEO teknis — where halaman-experience dan performa topics like ini fit di bigger picture.
- Core Web Vitals: What mereka adalah dan cara meningkatkan Them — LCP/INP metrics itu Speculation aturan actually moves untuk pengguna nyata. (Note: I don’t yet memiliki sebuah dedicated Ahrefs guide specifically pada Speculation aturan API — ini piece adalah deep dive; tautan here adalah my closest adjacent coverage.)
My speaking
- What’s Next untuk pengalaman halaman — SMX Next 2021 (SlideShare) — my halaman-experience talk itu flagged early-memuat techniques (sebuah “Get Things Earlier” (terjemahan) “Get Things Earlier” slide linking untuk lalu-experimental speculative prerendering), which predates modern Speculation aturan API tetapi poin di yang sama idea.
- How Search berfungsi (SlideShare) — crawling, rendering, pengindeksan, dan peringkat, berguna untuk keeping browser layer separate dari crawler layer. (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.” (terjemahan) “ini adalah my understanding dari sistem… not going untuk menjadi 100% complete atau accurate.”)
dari sekitar industry
- Google Search now menggunakan Speculation aturan API (Chrome untuk Developers) — Google’s own usage, dengan LCP/FCP millisecond deltas.
- How Ray-Ban doubled conversion rate… melalui prerendering (web.dev) — best business-impact case study pada prerendering.
- sebuah Layered Approach untuk Speculation aturan (Harry Roberts, CSS Wizardry) — strongest independent-expert implementation write-up, including “prefetch for TTFB, prerender for LCP” (terjemahan) “prefetch untuk TTFB, prerender untuk LCP” model.
- Google menjelaskan Why -nya crawler Ignores Anda Resource Hints (mesin pencari Journal) — Illyes’ Feb 2026 comments pada why Googlebot doesn’t benefit dari resource hints (umum, not Speculation-aturan-spesifik).
- Google Search now menggunakan Speculation aturan API untuk membuat search faster (mesin pencari Land) — trade-press corroboration dari Chrome announcement.
- mencegah skewed analytics when menggunakan Speculation aturan (Erwin Hofman) — sebuah di-depth fix untuk GA4 contamination masalah.
- Eagerly Prerender Key URLs dengan Speculative memuat di WordPress (Weston Ruter, Google/WordPress core) — cara customize WordPress 6.8’s default via
wp_speculation_rules_configurationfilter. - Blazing Fast situs web dengan Speculation aturan (DebugBear) — sebuah performa-alat vendor’s practical walkthrough.
Test yourself: Speculation aturan
Five quick pertanyaan pada what Speculation aturan API melakukan — dan doesn’t — melakukan. Pick sebuah jawaban untuk setiap, lalu periksa.
Log perubahan
Diperbarui 18 Jul 2026.
Ringkasan editorial dan detail perubahan yang tercatat.Detail perubahan
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
-
Catatan perubahan terperinci saat ini tersedia dalam bahasa Inggris.
Perbandingan lengkap tidak tersedia — tidak ada cuplikan sebelumnya yang diarsipkan untuk revisi ini.