Speculation aturan API

Apa Speculation aturan API (prefetch dan prerender) sebenarnya adalah, apakah ini memengaruhi SEO, crawling, atau rankings, dan cara implement ini tanpa inflating Anda analytics.

Pertama kali diterbitkan: 3 Jul 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan

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 berikutnya navigation feels near-instant. Prefetch pays down TTFB; prerender additionally pays down FCP dan LCP. ini adalah tidak sebuah crawling, pengindeksan, atau peringkat mechanism — Googlebot tidak perlu resource hints like ini dan Google publishes Tidak Penelusuran 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 sebenarnya 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.

Bukti untuk klaim ini The Speculation Rules API lets supporting browsers prefetch or prerender likely future navigations. Cakupan: Browser navigation optimization; support and restrictions vary by browser version. Tingkat keyakinan: tinggi · Diverifikasi: Chrome Developers: Speculation Rules API Bukti untuk klaim ini Prerendering executes a page before activation, so analytics and side effects must account for the prerendering lifecycle. Cakupan: Supporting browsers and prerendered documents. Tingkat keyakinan: tinggi · Diverifikasi: web.dev: Speculation rules

TL;DR — Speculation aturan API (Chromium, Chrome/Edge 109+) lets sebuah situs declare — di JSON, inline atau melalui sebuah Speculation-Rules header — yang sama-situs URLs browser seharusnya prefetch (download document; pays down TTFB) atau prerender (fully fetch, render, dan jalankan JS di sebuah invisible tab; pays down TTFB + FCP + LCP). Eagerness (immediate/eager/moderate/conservative) controls ketika sebuah aturan fires, terpisah dari yang URLs ini targets. ini adalah tidak sebuah crawling/pengindeksan/peringkat mechanism — Googlebot tidak rely pada resource hints like ini (per Illyes’ Feb 2026 comments pada hints umumnya) dan Google publishes Tidak Penelusuran 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 sebenarnya pengunjung melalui Core Web Vitals dan UX. Biggest gotchas: analytics double-counting (perbaiki dengan document.prerendering/prerenderingchange), state-mengubah GET URLs (logout, tambahkan-untuk-cart) Anda harus tidak pernah speculate, dan Chromium-hanya mendukung. Mulai dengan prefetch broadly; tambahkan prerender untuk satu atau dua tinggi-confidence halaman di sebagian besar.

Apa Speculation aturan API sebenarnya adalah

Speculation aturan API adalah sebuah browser API — Chromium hanya — itu lets sebuah situs tell browser yang sama-situs halaman untuk prepare sebelum sebuah pengunjung clicks. Per MDN, API adalah designed untuk meningkatkan performa untuk future navigations, dan karena 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-tersedia <link rel="prefetch"> dengan sebuah lebih expressive JSON syntax.

aturan adalah declared sebagai JSON, either inline di sebuah <script type="speculationrules"> block atau melalui sebuah Speculation-Rules respons header HTTP. mereka dapat list jelas URLs atau auto-match tautan pada halaman melalui where/href_matches conditions (called document aturan).

ada dua speculative tindakan, dan getting pembedaan right adalah seluruh game:

  • Prefetch downloads respons body dari referenced halaman — tetapi tidak -nya subresources. ini pays down berikutnya 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 lebih expensive dan riskier.

Harry Roberts’ shorthand di his layered-approach tulis-up captures ini well: prefetch adalah untuk paying down TTFB, prerender adalah untuk LCP.

Satu di bawah-covered teknis nuance: speculated resources land di browser’s memory cache, yang 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 tidak pure waste — sebuah kemudian navigation dapat masih benefit.

Eagerness: ketika untuk speculate, terpisah dari yang URLs

sebuah genuinely clever design pilihan di sini adalah itu eagerness adalah sebuah terpisah lever dari targeting. Barry Pollard’s Chrome blog post pada API’s improvements frames ini sebagai separating ketika untuk speculate dari yang URLs untuk speculate pada. ada four tingkat:

  • immediate — speculate segera setelah aturan adalah seen (pada pemuatan halaman).
  • eager — mulai pada slightest sinyal.
  • 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, tidak sebuah fixed spec — Chrome memiliki changed tepat mobile triggers lebih daripada setelah (ini moved moderate untuk viewport-based heuristics dan adjusted eager’s timing sebagai recently sebagai January 2026), so re-periksa langsung docs sebelum quoting sebuah tepat millisecond atau percentage threshold di Anda own implementation notes.

Dua 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 penuh prerender — sebagai dari ini writing ini adalah masih sebuah experimental, tidak-umumnya-tersedia tindakan berjalan di sebuah Chrome origin trial, tidak 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 memperlakukan sebuah prerender sebagai sebuah hint dan sebuah progressive enhancement, tidak sebuah jaminan — ini dapat decline berdasarkan pengguna’s settings atau resource constraints — dan ini tidak akan render cross-origin iframes pada sebuah prerendered halaman until activation. sebuah dibangun-di privacy guard juga blocks cross-situs prefetches ketika pengguna sudah memiliki cookies set untuk destination situs.

Cross-origin aturan, dan apa sebenarnya happens di dalam 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 tidak mungkin di semua sebagai dari ini writing. Cross-situs prefetch adalah lebih permissive (sama-situs dan cross-situs prefetches keduanya berfungsi), tetapi masih gated oleh Tidak-cookies-set privacy aturan di atas; sebuah lebih luas cross-situs prefetch opt-di melalui Supports-Loading-Mode adalah terdokumentasi sebagai planned tetapi belum shipped.

Di dalam hidden tab, sebuah prerendering halaman tidak sebuah wajar 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 jangan jalankan until lalu either. Session storage mendapatkan special menangani worth knowing jika Anda halaman membaca ini pada muat: sebuah prerendering halaman dimulai 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 keduanya sebelum dan setelah prerenderingchange event, tidak hanya pada sebuah wajar muat. untuk timing, document.prerendering dan prerenderingchange tell Anda state dan activation moment; PerformanceNavigationTiming.activationStart memberikan Anda sebenarnya elapsed time antara prerender mulai dan activation jika Anda ingin mengukur ini.

melakukan Speculation aturan API memengaruhi SEO, crawling, atau rankings?

ini adalah pertanyaan setiap SEO ingin answered, dan sebagian besar competing artikel wave ini away. precise jawaban memiliki dua halves.

Apa ini melakukan Tidak melakukan

ini adalah tidak sebuah crawling, pengindeksan, atau peringkat mechanism. tidak ada Google Search Central documentation tying Speculation aturan API untuk bagaimana Googlebot melakukan crawl atau indeks — karena ini tidak touch itu layer di semua. ini adalah sebuah browser fitur untuk human pengunjung di Chromium.

closest hal untuk sebuah pada—record Google statement adalah Gary Illyes pada Penelusuran Off Record (early 2026), talking tentang resource hints di umum — tidak 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 Tidak nilai untuk -nya crawling proses — ini dapat sudah talk untuk server fast dan tidak perlu untuk menjadi told untuk fetch hal sebelumnya. Treat itu sebagai mendukung untuk “this is a browser/visitor feature, not a crawler one,” (terjemahan) “ini adalah sebuah browser/pengunjung fitur, tidak sebuah crawler satu,” tetapi note cakupan: Illyes adalah addressing lebih luas resource-hints family, tidak Speculation aturan secara khusus. ini adalah yang sama discipline sibling resource hints piece applies.

juga worth stating plainly karena orang tanyakan: Bing memiliki published tidak ada apa pun pada Speculation aturan API untuk SEO. Edge (Chromium 109+) mendukung ini sebagai sebuah browser fitur, tetapi ada Tidak bingbot atau pengindeksan angle — yang adalah persis apa Anda’d expect untuk sebuah rendering-browser fitur alih-alih sebuah penelusuran-mesin-crawler satu.

Apa 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 terdokumentasi (jika modest) sinyal peringkat melalui halaman experience sistem, so ada sebuah indirect peringkat pathway. tetapi stronger case adalah plain UX dan conversion: membuat berikutnya halaman feel instant adalah sebuah nyata business lever independent dari rankings.

non-overclaiming cara untuk frame ini: Speculation aturan tidak akan mendapatkan Anda di-crawl atau terindeks differently — ini membuat sebuah halaman feel instant setelah sebuah nyata pengunjung adalah sudah navigating Anda situs, yang adalah sebuah UX dan Core Web Vitals lever, tidak sebuah crawler satu.

dunia nyata hasil

Dua proof poin melakukan berat lifting di sini, dan keduanya come dari Google’s own publications.

Google Search menggunakan ini pada itself. Per Chrome team’s 2025 announcement, satu dari pertama menggunakan dari speculation aturan adalah untuk prefetch pertama dua penelusuran 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 Penelusuran routes them melalui Chrome’s privat prefetch proxy untuk anonymize permintaan. Very sedikit competing artikel cite itu Google trusts ini cukup untuk jalankan ini pada google.com/penelusuran di scale — dan published tepat 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 keduanya desktop dan mobile. Exit rates dropped roughly 13% pada keduanya, 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 (Tidak hover state) digunakan immediate eagerness pada hanya pertama four tiles, yang 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 bermakna share dari web sudah memiliki speculation aturan berjalan tanpa anyone configuring them.

cara implement ini safely

consensus adoption order, dari keduanya Google’s docs dan independent experts:

  1. Mulai dengan prefetch, broadly. Per Chrome’s implementation guide, prefetch adalah relatively safe untuk sebagian besar situs dan adalah awal approach banyak take.
  2. tambahkan prerender narrowly, kemudian. Chrome’s docs warn terhadap di atas-prerendering di sebuah cost dari pengguna resources, dan merekomendasikan mempertahankan prerenders down untuk satu atau dua halaman di sebagian besar. Harry Roberts reaches yang sama conclusion independently — sebuah wildcard-like match adalah too greedy, dan prerendering semuanya adalah biasanya too expensive dan too risky; sebuah opt-di approach adalah better.
  3. gunakan document aturan untuk scale tanpa per-halaman config. alih-alih hand-listing URLs pada setiap halaman, sebuah where/href_matches condition sources URLs dari document itself so satu aturan set dapat apply situs-wide.
  4. Mind Anda CSP. Inline <script type="speculationrules"> blocks perlu jelas allowance di script-src — melalui 'inline-speculation-rules', sebuah hash-sumber, atau sebuah nonce-sumber — atau mereka silently fail ketika sebuah konten Security Policy adalah di place.

Apa Tidak untuk prefetch atau prerender

Keduanya MDN dan Chrome’s implementation guide adalah jelas itu beberapa URLs harus tidak pernah menjadi speculated, karena sebuah speculative fetch adalah masih sebuah nyata permintaan itu dapat trigger nyata side effects. danger list:

  • Sign-out / logout URLs.
  • “Add untuk cart” (terjemahan) “tambahkan untuk cart” URLs.
  • Language- atau currency-switcher URLs.
  • Sign-di alur itu trigger sebuah SMS/OTP.
  • URLs itu increment sebuah usage allowance atau fire ad-conversion tracking.

root perbaiki adalah sebuah design satu: state perubahan — like sebuah /logout tindakan — tidak seharusnya 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 jika tidak penyebab side effects sebagai jika pengguna memiliki interacted. MDN’s framing adalah itu prerendering adalah riskier daripada prefetching dan seharusnya menjadi selesai sparingly, hanya di mana ini adalah worth ini.

Memperbaiki 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 tidak happen — inflating GA4 sessions dan corrupting attribution.

mechanism untuk perbaiki ini adalah terdokumentasi di MDN dan Chrome’s guides:

  • document.prerendering adalah true sementara sebuah halaman adalah menjadi prerendered.
  • prerenderingchange event fires pada activation (ketika pengguna sebenarnya navigates di).
  • server dapat juga detect speculative permintaan melalui Sec-Purpose permintaan header (prefetch, atau prefetch;prerender).

practical reality: per Chrome’s implementation guide, beberapa analytics providers (Google Analytics) dan ad providers (Google Publisher Tag) sudah mendukung speculation aturan dan tidak akan log sebuah view until halaman adalah activated. GA4’s own gtag.js menangani ini untuk Anda. Apa typically tidak tangani ini oleh default: custom GTM tags, Meta Pixel, dan homegrown scripts. untuk tag-manager setups, satu bersih approach adalah untuk delay tag manager script itself, atau gate spesifik code until halaman adalah activated atau dibuat terlihat. ada sebuah terdokumentasi 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 perbaiki secara mendalam.

browser mendukung reality periksa

«This tempers ROI expectations and most articles bury it: the Speculation Rules API is Chromium-only (Chrome and Edge 109+). It is not Baseline. Firefox has a positive standards position on the prefetch portion only and hasn’t shipped it; Safari has an implementation behind a flag, off by default. A meaningful share of any site’s traffic — everyone on Firefox and Safari — gets zero benefit, so size your expectations accordingly. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian enam puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Speculation aturan di WordPress 6.8+

Karena so banyak dari penelusuran audience adalah pada WordPress dan mendapat 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 — melalui wp_speculation_rules_configuration filter (Weston Ruter, sebuah Google engineer dan WordPress core contributor, memiliki sebuah walkthrough). default adalah dengan sengaja safe, yang adalah mengapa sebagian besar WordPress situs dapat leave ini pada — tetapi ini adalah juga mengapa analytics gotcha di atas surprised sebuah lot dari situs owners siapa tidak pernah chose untuk enable apa pun.

Myths, debunked

«- “Speculation Rules will help Googlebot crawl my site faster.” No — it’s a browser-rendering feature for human visitors in Chromium; Googlebot’s own infrastructure doesn’t need hints like this, and no Google doc links the API to crawling.

  • “It’s the same as <link rel="prefetch">/<link rel="prerender">.” Not quite — it supersedes the deprecated Chrome-only rel="prerender", adds a richer JSON syntax (document rules, eagerness), and stores speculated resources in the memory cache rather than the HTTP cache.
  • “Prerendering everything makes my whole site instant with no downside.” No — Chrome warns against over-prerendering, enforces hard caps, and both Google and Harry Roberts recommend at most one or two prerendered pages.
  • “If I add speculation rules my analytics just works.” Only if every analytics and ad script defers via document.prerendering/prerenderingchange. GA4 handles it; many GTM tags and third-party pixels don’t.
  • “It’s universally supported, so it’s a safe default for all traffic.” No — Chromium-only, not Baseline; Firefox and Safari don’t ship it by default.
  • “Prefetch is risk-free, so I can wildcard it.” Overstated — a wildcard-like match is too greedy, especially for state-changing GET URLs that should never be fetchable links in the first place.
  • “This will directly move my rankings.” Not established by any official source » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.) « as a direct ranking factor. The credible chain is Speculation Rules → better real-user Core Web Vitals / conversion → the existing, modest page-experience signal, plus business wins that matter regardless of rankings. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian tujuh puluh, bagian kecil dua: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Di mana ini sits

ini adalah sebuah web performa topic, tidak sebuah crawling satu — dan mempertahankan itu line bersih adalah poin. ini adalah sebuah close cousin dari resource hints (preload/preconnect/dns-prefetch/prefetch), yang share “browser melakukan network berfungsi sebelumnya” (terjemahan) “browser melakukan network berfungsi sebelumnya” idea dan yang sama “tidak help Googlebot” (terjemahan) “tidak 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 sebelum Anda re-fetch,” (terjemahan) “tanyakan sebelum Anda re-fetch,” conditional-permintaan topic covers bagaimana Googlebot menghindari re-downloading unchanged halaman — sebuah berbeda layer (crawler, tidak browser), sama discipline dari separating mechanics dari peringkat impact.

Tambahkan catatan pakar

Sematkan kutipan pakar

Orang baru? Buat profilnya yang belum diklaim di /admin/experts/ → Sematkan kutipan pakar terlebih dahulu.