rendering

Bagaimana Google's Web rendering Service berjalan Anda JavaScript untuk bangun halaman ini indeks — plus rendering options (CSR, SSR, SSG, hydration, ISR, edge, dynamic) dan mereka SEO trade-offs.

Pertama kali diterbitkan: 23 Jun 2026 · Terakhir diperbarui: 3 Agu 2026 · Lanjutan
1 sinyal bukti di halaman ini

rendering adalah langkah di mana Google berjalan Anda JavaScript di sebuah evergreen, headless Chrome — Web rendering Service — untuk bangun DOM ini indeks. ini happens untuk essentially setiap halaman, biasanya di dalam seconds-untuk-minutes, so old 'dua waves dari pengindeksan' model adalah largely outdated dan ada Tidak per-halaman render budget. renderer adalah stateless, tidak interact dengan halaman, dan caches hard. Anda rendering option decides Anda SEO risk: SSR, static/prerendering, dan hydration adalah safe; penuh rendering sisi klien adalah risky satu; dynamic rendering adalah sebuah workaround.

TL;DR — Google renders Anda JS di sebuah evergreen, headless Chromium — Web rendering Service — untuk bangun DOM ini indeks. ini happens untuk essentially semua halaman, biasanya di dalam seconds-untuk-minutes, so “two waves of indexing” (terjemahan) “dua waves dari pengindeksan” adalah largely outdated dan ada Tidak per-halaman render budget. WRS adalah stateless, declines permission prompts, tidak interact dengan halaman, dan caches aggressively. Anda rendering option decides Anda SEO risk: SSR / static / prerendering / hydration adalah rendah-risk; penuh CSR adalah risky satu; dynamic rendering adalah sebuah workaround Google advises terhadap. untuk practical JS masalah ini membuat, see JavaScript SEO.

Di mana rendering sits

«Google is explicit that JavaScript apps move through three phases: “Google processes JavaScript web apps in three main phases: 1. Crawling 2. Rendering 3. Indexing.” Bukti untuk klaim ini Google documents crawling, rendering, and indexing as the three main phases for processing JavaScript web apps. Cakupan: Google Search processing of JavaScript web applications; the phases can overlap operationally. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: Understand the JavaScript SEO basics Rendering is the bridge. Crawling fetches the raw HTML; rendering runs the JavaScript to build the finished DOM; indexing reads that rendered DOM, and any new links the renderer finds get fed back into crawling. In Google’s words: “During the crawl, Google renders the page and runs any JavaScript it finds using a recent version of Chrome, similar to how your browser renders pages you visit.” » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh satu, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

rendering adalah bridge antara fetching sebuah URL dan pengindeksan -nya finished DOM; parity, interaction, state, dan timing dapat break itu bridge. Sumber: JavaScript SEO

Google melakukan crawl sebuah URL, renders -nya JavaScript untuk bangun DOM, dan indeks hasil. Four practical failure modes branch dari rendering: parity ketika dirender DOM differs dari expectations, interaction ketika konten memerlukan sebuah scroll atau click, state ketika konten relies pada cleared cookies atau storage, dan timing ketika konten adalah deferred behind slow JavaScript.

© Patrick Stox LLC · CC BY 4.0 ·

Web rendering Service

Google renders di Web rendering Service (WRS) — sebuah headless Chrome itu’s evergreen: “Sementara Google Search berjalan JavaScript dengan an evergreen version dari Chromium…” (terjemahan) “Sementara Google Search berjalan JavaScript dengan sebuah evergreen versi dari Chromium…” ini tracks saat ini Chrome, so modern JavaScript dan CSS fitur berfungsi.

catch adalah itu WRS adalah sebuah peculiar browser, dan -nya quirks penyebab sebagian besar nyata masalah:

«- It’s stateless. As I put it in my JavaScript SEO guide, “Google loads each page stateless like it’s a fresh load.” Google’s docs spell out the pieces: “Local Storage and Session Storage data are cleared across page loads” and “HTTP Cookies are cleared across page loads.” Don’t rely on anything persisted client-side to serve your content.

  • It declines permissions. “Expect Googlebot to decline user permission requests.” Content gated behind a geolocation, notification, or camera prompt won’t render.
  • It doesn’t interact. No scrolling, clicking, or hovering — so content that only loads on one of those events is invisible by default. (This is the root of most lazy-load and infinite-scroll bugs; the fixes live on the JavaScript SEO page.)
  • It caches aggressively. “Googlebot caches aggressively in order to reduce network requests and resource usage. WRS may ignore caching headers.” That means Google can run an outdated version of your JS or CSS. Fix it with file fingerprinting — version your filenames (app.4f2a9c.js) so a content change forces a fresh fetch. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian dua puluh enam, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

sebuah 2026 experiment: five seconds adalah tidak sebuah hard execution wall

sebuah ketiga-party WRS experiment reported di July 2026 tested delayed JavaScript dan network activity alih-alih assuming sebuah five-kedua timeout. observed renderer digunakan sebuah virtual clock dan selesai delayed permintaan itu took roughly 6–12 seconds dari nyata time. berguna hasil adalah sempit: ini contradicts umum audit aturan itu apa pun occurring setelah persis five seconds adalah secara otomatis invisible untuk Google. ini melakukan tidak prove itu setiap delayed dependency akan finish, itu Google menunggu indefinitely, atau itu slow client-side pengiriman adalah safe.

Baca experiment dan -nya methodology sebagai ketiga-party evidence alongside Google’s official statement itu render-queue timing memiliki Tidak published fixed delay. dalam praktik, test akhir DOM dan requested resources. sebuah missing API respons, interaction requirement, blocked script, atau state dependency tetap sebuah nyata rendering failure bahkan ketika sebuah stopwatch-based “five-kedua aturan” adalah tidak.

adalah “two waves of indexing” (terjemahan) “dua waves dari pengindeksan” masih sebuah hal?

untuk tahun mental model adalah “two waves of indexing” (terjemahan) “dua waves dari pengindeksan”: Google akan indeks mentah HTML pertama, lalu come back days atau weeks kemudian untuk render dan indeks JavaScript konten. itu model adalah now largely outdated. Martin Splitt memiliki mengatakan dua-waves idea plays lebih sedikit dan lebih sedikit dari sebuah role, itu banyak halaman go melalui render phase bahkan ketika mereka jangan rely pada JavaScript, dan itu crawling, rendering, dan pengindeksan adalah converging di atas time.

dalam praktik, rendering happens untuk essentially setiap halaman, dan ini adalah biasanya fast. Google’s saat ini documentation says sebuah di-crawl halaman “may stay on this queue for a few seconds, but it can take longer than that” (terjemahan) “dapat stay pada ini queue untuk sebuah sedikit seconds, tetapi ini dapat take lebih lama daripada itu” — ada Tidak published fixed delay atau timeout. Bukti untuk klaim ini Google says a crawled page may stay on the rendering queue for a few seconds, but it can take longer than that. Cakupan: Google's rendering queue for a page that returns a 200 status and is eligible for rendering. The source gives a variable duration, not a fixed timeout or service-level guarantee. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: rendering-queue duration Mendukung: A page may remain on the rendering queue for a few seconds or longer. sebagai sebuah historical data poin, Google staf (Martin Splitt dan Tom Greenaway) setelah put figure di sebuah median dari tentang five seconds, dengan 90th percentile di minutes — tidak “weeks” (terjemahan) “weeks” old fear implied. I cite itu figure di my JavaScript SEO guide, tetapi treat ini sebagai sebuah dated conference data poin alih-alih sebuah saat ini published metric — Google hasn’t republished ini sebagai sebuah ongoing angka, dan queue-timing quote di atas adalah saat ini official framing.

dan ada Tidak render budget di cara orang imagine. Google tidak track sebuah per-halaman “bagaimana expensive adalah ini untuk render” (terjemahan) “bagaimana expensive adalah ini untuk render” score Anda perlu conserve. rendering adalah cheap di Google’s scale — mengoptimalkan untuk Anda pengguna dan performa, tidak sebuah phantom render budget.

rendering options

“Di mana adalah itu HTML built?” (terjemahan) “Di mana adalah HTML dibangun?” adalah pertanyaan itu decides Anda SEO risk. penuh menu:

berguna pembedaan adalah di mana awal HTML adalah produced dan apa berfungsi tetap untuk browser. Sumber: Rendering

Static generation produces HTML di bangun time. rendering sisi server produces ini per permintaan. rendering sisi klien relies pada browser JavaScript. Hydration attaches client perilaku untuk server atau static HTML. Dynamic rendering varies output oleh requester dan adalah treated sebagai sebuah workaround.

© Patrick Stox LLC · CC BY 4.0 ·

  • rendering sisi klien (CSR). server mengirim sebuah near-empty shell; browser (atau WRS) berjalan JavaScript untuk bangun semuanya. ini adalah “itu paling problematic satu … penuh client-side rendering di mana all dari itu rendering happens di itu browser.” (terjemahan) “paling problematic satu … penuh rendering sisi klien di mana semua dari rendering happens di browser.” ini dapat berfungsi, tetapi Anda’re betting semuanya pada render succeeding, dan ini adalah slowest untuk mendapatkan terindeks.
  • rendering sisi server (SSR). server membangun penuh HTML untuk setiap permintaan. konten adalah di mentah HTML, so ini adalah rendah-risk untuk penelusuran.
  • Static situs generation (SSG) / prerendering. HTML adalah dibangun setelah di deploy time. Lowest risk — konten adalah di mentah HTML dan ini adalah fast.
  • Hydration (isomorphic / universal). Anda SSR atau SSG pertama paint, lalu JavaScript “hydrates” (terjemahan) “hydrates” ini di browser untuk tambahkan interactivity. ini adalah apa sebagian besar modern kerangka kerja melakukan, dan ini adalah rendah-risk untuk konten — hanya watch untuk hydration mismatches itu blank out atau replace konten.
  • Incremental Static Regeneration (ISR). Static halaman regenerated pada sebuah schedule atau pada demand. Like SSG, dengan fresher konten — baik untuk besar catalogs.
  • Edge rendering. SSR jalankan di CDN edge nodes — sama rendah risk sebagai SSR, dengan lebih cepat time-untuk-pertama-byte untuk sebuah global audience.
  • Streaming SSR. HTML streamed untuk browser di chunks sebagai ini adalah ready. rendah-risk, tetapi pastikan dapat diindeks konten tidak trapped hanya di sebuah late atau deferred chunk.

My bottom line dari my JavaScript SEO guide: “Any kind dari SSR, static rendering, dan prerendering setup adalah going untuk menjadi fine untuk penelusuran engines. Gatsby, Berikutnya, Nuxt, dan seterusnya., adalah all great.” (terjemahan) “apa pun jenis dari SSR, static rendering, dan prerendering setup adalah going untuk menjadi fine untuk mesin pencari. Gatsby, Berikutnya, Nuxt, dan seterusnya., adalah semua great.” kerangka kerja penting lebih sedikit daripada rendering mode Anda ship — yang sama Berikutnya.js app adalah safe atau risky depending pada apakah Anda sajikan SSR/SSG atau penuh CSR.

Dynamic rendering — sebuah workaround, tidak sebuah strategy

«Dynamic rendering means detecting bots and serving them a prerendered, JavaScript-free version while users get the client-side version. Google is now blunt about it: “Dynamic rendering was a workaround and not a long-term solution for problems with JavaScript-generated content in search engines,” and “Dynamic rendering is a workaround and not a recommended solution, because it creates additional complexities and resource requirements.” Bukti untuk klaim ini Google describes dynamic rendering as a workaround and does not recommend it as a long-term solution. Cakupan: Google Search guidance for JavaScript-generated content; server-side rendering, static rendering, or hydration are the recommended alternatives. Tingkat keyakinan: tinggi · Diverifikasi: Google Search Central: Dynamic rendering as a workaround I agree, and I always have — to be honest I never recommended it, and I’m glad Google now recommends against it too. It’s serving different content to bots and users, which is awfully close to cloaking. Reach for SSR, static, or hydration instead. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

«One wrinkle: Bing still suggests dynamic rendering. Microsoft says “bingbot is generally able to render JavaScript” but that doing it at scale is hard, so “we recommend dynamic rendering as a great alternative for websites relying heavily on JavaScript.” The practical takeaway: SSR/SSG keeps both engines happy and sidesteps the whole debate. » (Terjemahan) (Ringkasan bahasa Indonesia untuk bagian empat puluh satu, bagian kecil satu: teks sumber dipertahankan agar dapat diperiksa dalam tinjauan penutur asli.)

Apa ini berarti untuk Anda konten

rendering decides apakah Google ever sees Anda JavaScript konten — tetapi seeing ini adalah hanya half job. Setelah halaman adalah dirender, practical concerns adalah nyata <a href> tautan, field-spesifik parity antara mentah dan dirender HTML, robots-directive stage order, lazy konten, infinite scroll, dan soft-404s. itu semua langsung pada JavaScript SEO halaman, dengan testing workflow (pemeriksaan URL’s dirender HTML, screenshot, dan console).

ini adalah rendering stage dari penelusuran pipeline. untuk stages sekitar ini, see crawling (bagaimana halaman mendapatkan fetched) dan pengindeksan (apa happens untuk dirender halaman berikutnya), atau Bagaimana Penelusuran berfungsi hub untuk seluruh journey.

Satu audit aturan adalah worth mempertahankan di sini: dirender adalah sebuah state, tidak sebuah universal winner. untuk body konten dan dapat di-crawl tautan, dirender DOM menampilkan apa successful JavaScript ditambahkan atau dihapus. untuk judul dan deskripsi, ini menampilkan additional inputs, sementara Google dapat masih generate sebuah judul tautan atau snippet dari lainnya sources. untuk robots directives, sebuah mentah noindex dapat mencegah rendering, so JavaScript removal adalah asymmetric. untuk canonical, Google advises menggunakan satu sumber atau satu JavaScript-set nilai alih-alih mengubah sebuah existing nilai. dan JavaScript cannot perubahan respons HTTP status sudah diterima. pertahankan itu columns terpisah di evidence dan gunakan Google’s saat ini JavaScript SEO guidance untuk field-spesifik perilaku.

Tambahkan catatan pakar

Sematkan kutipan pakar

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