renderowanie

How Google's Web renderowanie Service runs twój JavaScript to zbuduj strona it indexes — plus the renderowanie options (CSR, SSR, SSG, hydration, ISR, edge, dynamiczny) i ich SEO trade-offs.

Opublikowano po raz pierwszy: 23 cze 2026 · Ostatnia aktualizacja: 3 sie 2026 · Advanced
Języki
1 sygnał dowodowy na tej stronie

renderowanie jest the krok gdzie Google runs twój JavaScript in an evergreen, headless Chrome — the Web renderowanie Service — to zbuduj DOM it indexes. It happens dla essentially każdy strona, zwykle w seconds-to-minutes, so the old 'two waves of indeksowanie' model jest largely outdated i there's no per-strona render budget. The renderer jest stateless, doesn't interact z the strona, i caches trudny. twój renderowanie option decides twój SEO risk: SSR, statyczny/prerendering, i hydration są bezpieczny; pełny client-side renderowanie jest the risky one; dynamiczny renderowanie jest a workaround.

TL;DR — Google renders twój JS in an evergreen, headless Chromium — the Web renderowanie Service — to zbuduj DOM it indexes. It happens dla essentially wszystkie strony, zwykle w seconds-to-minutes, so “two waves of indexing” jest largely outdated i there’s no per-strona render budget. The WRS jest stateless, declines permission prompts, doesn’t interact z the strona, i caches aggressively. twój renderowanie option decides twój SEO risk: SSR / statyczny / prerendering / hydration są niski-risk; pełny CSR jest the risky one; dynamiczny renderowanie jest a workaround Google advises wobec. dla the practical JS problems ten creates, see SEO JavaScript.

gdzie renderowanie sits

Google jest explicit że JavaScript apps move przez three phases: “Google procesy JavaScript web apps in three main phases: 1. Crawling 2. renderowanie 3. indeksowanie.” Evidence for this claim Google documents crawling, rendering, and indexing as the three main phases for processing JavaScript web apps. Scope: Google Search processing of JavaScript web applications; the phases can overlap operationally. Confidence: high · Verified: Google Search Central: Understand the JavaScript SEO basics renderowanie jest the bridge. Crawling fetches the raw HTML; renderowanie runs the JavaScript to zbuduj finished DOM; indeksowanie reads że wyrenderowany DOM, i dowolny new links the renderer finds get fed back do crawling. In Google’s words: “podczas the crawl, Google renders the strona i runs dowolny JavaScript it finds używając a recent version of Chrome, similar to how twój przeglądarka renders strony you visit.”

Rendering is the bridge between fetching a URL and indexing its finished DOM; parity, interaction, state, and timing can break that bridge. Źródło: JavaScript SEO

Google crawls a URL, renders its JavaScript to build the DOM, and indexes the result. Four practical failure modes branch from rendering: parity when the rendered DOM differs from expectations, interaction when content requires a scroll or click, state when content relies on cleared cookies or storage, and timing when content is deferred behind slow JavaScript.

© Patrick Stox LLC · CC BY 4.0 ·

The Web renderowanie Service

Google renders in the Web renderowanie Service (WRS) — a headless Chrome że’s evergreen: “podczas gdy Google Search runs JavaScript z an evergreen version of Chromium…” it tracks current Chrome, so modern JavaScript i CSS funkcje działać.

The catch jest że the WRS jest a peculiar przeglądarka, i jego quirks cause najbardziej rzeczywisty problems:

  • It’s stateless. As I put it in my SEO JavaScript poradnik, “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” i “HTTP Cookies are cleared across page loads.” Don’t rely on anything persisted client-side to serve twój treść.
  • It declines permissions. “Expect Googlebot to decline użytkownik permission żądania.” treść gated behind a geolocation, notification, lub camera prompt won’t render.
  • It doesn’t interact. No scrolling, clicking, lub hovering — so treść że tylko loads on one of tamte events jest invisible by domyślny. (ten jest the root of najbardziej lazy-load i infinite-scroll bugs; the fixes live on the SEO JavaScript strona.)
  • It caches aggressively. “Googlebot caches aggressively aby reduce network żądania i zasób usage. WRS może ignore buforowanie headers.” że means Google może run an outdated version of twój JS lub CSS. Fix it z file fingerprinting — version twój filenames (app.4f2a9c.js) so a treść change forces a fresh fetch.

A 2026 experiment: five seconds jest nie a trudny execution wall

A third-party WRS experiment reported in July 2026 tested delayed JavaScript i network activity zamiast assuming a five-second timeout. The observed renderer używany a virtual clock i completed delayed żądania że took roughly 6–12 seconds of czas rzeczywisty. The użyteczny wynik jest narrow: it contradicts the common audit reguła że anything occurring po exactly five seconds jest automatically invisible to Google. It robi nie prove że każdy delayed dependency będzie finish, że Google waits indefinitely, lub że slow client-side delivery jest bezpieczny.

przeczytaj experiment i jego methodology as third-party dowód alongside Google’s official statement że render-queue timing ma no opublikowany fixed opóźnienie. w praktyce, test the final DOM i requested zasoby. A missing API odpowiedź, interaction requirement, blocked script, lub state dependency pozostaje a rzeczywisty renderowanie awaria even gdy a stopwatch-oparty “five-second rule” jest nie.

jest “two waves of indexing” nadal a thing?

dla years the mental model był “two waves of indexing”: Google by index the raw HTML pierwszy, then come back days lub weeks later to render i index the JavaScript treść. że model jest now largely outdated. Martin Splitt ma said the two-waves idea plays mniej i mniej of a role, że wiele strony go przez the render phase even gdy they don’t rely on JavaScript, i że crawling, renderowanie, i indeksowanie są converging ponad time.

w praktyce, renderowanie happens dla essentially każdy strona, i it’s zwykle fast. Google’s current documentation says a crawled strona “może stay on ten queue dla a kilka seconds, ale it może take longer than że” — there’s no opublikowany fixed opóźnienie lub timeout. Evidence for this claim Google says a crawled page may stay on the rendering queue for a few seconds, but it can take longer than that. Scope: 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. Confidence: high · Verified: Google Search Central: rendering-queue duration Supports: A page may remain on the rendering queue for a few seconds or longer. As a historical data point, Google staff (Martin Splitt i Tom Greenaway) once put the figure at a median of o five seconds, z the 90th percentile in minutes — nie the “weeks” the old fear implied. I cite że figure in my SEO JavaScript poradnik, ale treat it as a dated conference data point zamiast a current opublikowany metric — Google hasn’t republished it as an ongoing liczba, i the queue-timing cytat above jest the current official framing.

i there’s no render budget in the way people imagine. Google doesn’t track a per-strona “how expensive was this to render” score you need to conserve. renderowanie jest cheap at Google’s scale — optimize dla twój użytkownicy i wydajność, nie a phantom render budget.

The renderowanie options

“Where is the HTML built?” jest the question że decides twój SEO risk. The pełny menu:

The useful distinction is where initial HTML is produced and what work remains for the browser. Źródło: Rendering

Static generation produces HTML at build time. Server-side rendering produces it per request. Client-side rendering relies on browser JavaScript. Hydration attaches client behavior to server or static HTML. Dynamic rendering varies output by requester and is treated as a workaround.

© Patrick Stox LLC · CC BY 4.0 ·

  • Client-side renderowanie (CSR). The serwer wysyła a near-empty shell; the przeglądarka (lub WRS) runs JavaScript to build everything. ten jest “the najbardziej problematic one … pełny client-side renderowanie gdzie wszystkie of the renderowanie happens in the przeglądarka.” It może działać, ale you’re betting everything on the render succeeding, i it’s the slowest to get zindeksowany.
  • serwer-side renderowanie (SSR). The serwer builds the pełny HTML dla każdy żądanie. treść jest in the raw HTML, so it’s niski-risk dla search.
  • statyczny witryna generation (SSG) / prerendering. HTML jest built once at deploy time. Lowest risk — treść jest in the raw HTML i it’s fast.
  • Hydration (isomorphic / universal). You SSR lub SSG the pierwszy paint, then JavaScript “hydrates” it in the przeglądarka to dodawać interactivity. ten jest co najbardziej modern frameworks robić, i it’s niski-risk dla treść — just watch dla hydration mismatches że blank out lub zastępować treść.
  • Incremental statyczny Regeneration (ISR). statyczny strony regenerated on a schedule lub on demand. Like SSG, z fresher treść — good dla duży catalogs.
  • Edge renderowanie. SSR run at CDN edge nodes — same niski risk as SSR, z faster time-to-pierwszy-byte dla a global odbiorcy.
  • Streaming SSR. HTML streamed to the przeglądarka in chunks as it’s ready. niski-risk, ale upewnij się indeksowalny treść isn’t trapped tylko in a late lub deferred chunk.

My bottom wiersz z my SEO JavaScript poradnik: “dowolny kind of SSR, statyczny renderowanie, i prerendering setup jest going to być fine dla wyszukiwarki. Gatsby, następny, Nuxt, etc., są wszystkie great.” The framework matters mniej niż the renderowanie mode you ship — the same następny.js app jest bezpieczny lub risky depending on whether you serve SSR/SSG lub pełny CSR.

dynamiczny renderowanie — a workaround, nie a strategy

dynamiczny renderowanie means detecting bots i serving them a prerendered, JavaScript-free version podczas gdy użytkownicy get the client-side version. Google jest now blunt o it: “dynamiczny renderowanie był a workaround i nie a long-term solution dla problems z JavaScript-generated treść in wyszukiwarki,” and “dynamiczny renderowanie jest a workaround i nie a recommended solution, ponieważ it creates additional complexities i zasób requirements.” Evidence for this claim Google describes dynamic rendering as a workaround and does not recommend it as a long-term solution. Scope: Google Search guidance for JavaScript-generated content; server-side rendering, static rendering, or hydration are the recommended alternatives. Confidence: high · Verified: Google Search Central: Dynamic rendering as a workaround I agree, i I zawsze mieć — to być honest I nigdy recommended it, i I’m glad Google now recommends wobec it too. It’s serving różny treść to bots i użytkownicy, który jest awfully close to cloaking. Reach dla SSR, statyczny, lub hydration instead.

One wrinkle: Bing nadal suggests dynamiczny renderowanie. Microsoft says “bingbot jest generally able to render JavaScript” but that doing it at scale is hard, so “we rekomendować dynamiczny renderowanie as a great alternative dla websites relying heavily on JavaScript.” The practical takeaway: SSR/SSG zachowuje oba engines happy i sidesteps the whole debate.

co ten means dla twój treść

renderowanie decides whether Google ever sees twój JavaScript treść — ale seeing it jest tylko half the job. Once the strona jest wyrenderowany, the practical concerns są rzeczywisty <a href> links, pole-specific parity między raw i wyrenderowany HTML, robots-directive stage order, lazy treść, infinite scroll, i soft-404s. tamte wszystkie live on the SEO JavaScript strona, z the testing przepływ pracy (URL Inspection’s wyrenderowany HTML, screenshot, i console).

ten jest the renderowanie stage of the search pipeline. dla the stages around it, see crawling (how strony get fetched) i indeksowanie (co happens to the wyrenderowany strona następny), lub the How Search działa hub dla the whole journey.

One audit reguła jest worth keeping here: wyrenderowany jest a state, nie a universal winner. dla body treść i crawlable links, the wyrenderowany DOM pokazuje co udany JavaScript added lub removed. dla tytuły i opisy, it pokazuje additional inputs, podczas gdy Google może nadal generate a tytuł link lub snippet z other źródła. dla robots directives, a raw noindex może zapobiegać renderowanie, so JavaScript removal jest asymmetric. dla canonical, Google advises używając one źródło lub one JavaScript-ustawić wartość zamiast changing an existing wartość. i JavaScript cannot change the HTTP odpowiedź status już received. zachować tamte columns oddzielny in dowód i używać Google’s current SEO JavaScript guidance dla the pole-specific behavior.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.