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.
Języki
1 sygnał dowodowy na tej stronie
- Powiązane działające narzędzieRaw vs. Rendered HTML Checker
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 — renderowanie jest the krok gdzie a wyszukiwarka runs twój strona’s code — w tym JavaScript — in a przeglądarka to zbuduj finished strona, so it może see twój treść i links. Google robi ten dla basically każdy strona in jego Web renderowanie Service, i it zwykle działa. How twój witryna produces jego HTML (serwer, przeglądarka, lub at build time) decides how bezpieczny you są.
co renderowanie jest
gdy you otwarty a strona, twój przeglądarka downloads niektóre HTML, then runs the CSS i JavaScript to zbuduj strona you actually see. wyszukiwarki robić the same thing. renderowanie jest the krok gdzie a wyszukiwarka runs twój strona’s code to zbuduj final version of the strona, so it może przeczytaj treść i postępuj zgodnie z links the way you może.
It sits in the middle of how Google handles a strona:
- Crawl — Google downloads the raw HTML of twój URL.
- Render — Google runs the strona’s JavaScript in a przeglądarka to zbuduj finished strona.
- Index — Google reads że finished strona i files it away.
If twój treść tylko pokazuje up po JavaScript runs, Google ma to render the strona successfully przed it może see it. So renderowanie jest the bridge między pobieranie a strona i understanding it.
Google renders in a rzeczywisty (ale unusual) przeglądarka
Google’s renderer jest called the Web renderowanie Service (WRS). It’s a headless Chrome że’s “evergreen,” meaning it zachowuje up z the current version of Chrome i obsługuje modern web funkcje. So the old fear — “Google can’t run JavaScript” — isn’t prawdziwy. It może. Evidence for this claim Google Search runs JavaScript with an evergreen version of Chromium. Scope: Google's Web Rendering Service; browser support does not guarantee that every application-specific interaction or resource will work. Confidence: high · Verified: Google Search Central: Fix Search-related JavaScript problems
It’s just an unusual przeglądarka. It doesn’t scroll lub click, it forgets everything między strony (no staying logged in), i it caches files trudny. tamte quirks są gdzie najbardziej surprises come z, i the Advanced tab covers them.
The big choice: gdzie twój HTML gets built
The single najbardziej ważny decision dla SEO jest gdzie twój strona’s HTML jest produced:
- In the przeglądarka (client-side renderowanie) — the serwer wysyła a near-empty strona i JavaScript builds everything. Riskiest dla search.
- On the serwer (serwer-side renderowanie) — the serwer wysyła a complete strona. bezpieczny.
- At build time (statyczny / prerendering) — strony są built once, ahead of time. Safest i fastest.
najbardziej modern frameworks mix te. The reguła of thumb: if twój ważny treść jest in the HTML przed dowolny JavaScript runs (lub arrives almost immediately), you’re in good shape.
Want the deeper version — how the Web renderowanie Service actually behaves, whether “two waves of indexing” jest nadal a thing, i a pełny comparison of każdy renderowanie option? Switch to the Advanced tab. dla the practical JavaScript problems i fixes, see SEO JavaScript.
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.”
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:
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.
AI summary
A condensed take on the Advanced version:
- renderowanie = the bridge z crawling to indeksowanie. Google runs twój JS in an evergreen, headless Chromium — the Web renderowanie Service — to zbuduj DOM it indexes. Three phases: crawl → render → index.
- “Two waves of indexing” jest largely outdated (Splitt). renderowanie happens dla essentially wszystkie strony, zwykle fast. Google’s current docs say a strona “może stay on ten queue dla a kilka seconds, ale it może take longer than że” — no fixed opóźnienie jest opublikowany. (A ~5s median/minutes-90th-percentile figure exists, ale it’s a dated conference data point, nie a current metric.) There jest no per-strona render budget.
- The WRS jest a weird przeglądarka: stateless (localStorage/cookies cleared między loads), declines permission prompts, robi nie scroll/click/hover, i caches JS/CSS aggressively (może ignore pamięć podręczna headers) → fingerprint twój filenames.
- renderowanie options, by SEO risk: SSG/prerender (lowest) ≈ SSR ≈ hydration ≈ ISR ≈ edge/streaming (niski) ≪ pełny CSR (highest). Patrick: “SSR, statyczny renderowanie, i prerendering … są wszystkie great”; full CSR is “the najbardziej problematic one.”
- dynamiczny renderowanie jest a workaround, Google advises wobec it (close to cloaking). Bing nadal recommends it — ale SSR/SSG satisfies oba.
- The framework doesn’t decide risk — the renderowanie mode robi. The same app jest bezpieczny lub risky depending on whether you ship SSR/SSG lub pełny CSR.
- renderowanie jest half the job — the practical JS problems (links, parity, lazy treść, infinite scroll, soft-404s, testing) są covered on the SEO JavaScript strona.
Official documentation
Primary-źródło documentation z the wyszukiwarki.
- zrozum SEO JavaScript basics — the three phases (crawl → render → index) i the evergreen Chromium renderer.
- Fix Search-powiązany JavaScript problems — the WRS constraints: stateless storage/cookies, declined permissions, aggressive buforowanie.
- dynamiczny renderowanie as a workaround — why dynamiczny renderowanie jest a workaround, nie a recommended long-term solution.
- In-Depth poradnik to How Google Search działa — gdzie renderowanie sits in crawl → index → serve.
Bing / Microsoft
- bingbot Series: JavaScript, dynamiczny renderowanie, i Cloaking. Oh My! — Bing’s stance że it może render JS ale recommends dynamiczny renderowanie at scale.
- The new evergreen Bingbot — Bingbot renderowanie on Chromium-oparty Microsoft Edge.
cytaty z the źródło
On-the-record statements z Google i Bing (plus a kilka z my own writing). każdy search-engine link jest a deep link że jumps to the quoted passage on the źródło strona.
Google — the render pipeline
- “Google processes JavaScript web apps in three main phases: 1. Crawling 2. Rendering 3. Indexing.” Jump to cytat
- “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.” Jump to cytat
- “While Google Search runs JavaScript with an evergreen version of Chromium…” Jump to cytat
- “The page may stay on this queue for a few seconds, but it can take longer than that.” — the current official framing on render-queue timing; no fixed opóźnienie jest opublikowany. Jump to cytat
Google — the Web renderowanie Service
- “Local Storage and Session Storage data are cleared across page loads.” Jump to cytat
- “HTTP Cookies are cleared across page loads.” Jump to cytat
- “Expect Googlebot to decline user permission requests.” Jump to cytat
- “Googlebot caches aggressively in order to reduce network requests and resource usage. WRS may ignore caching headers.” Jump to cytat
Google — dynamiczny renderowanie
- “Dynamic rendering was a workaround and not a long-term solution for problems with JavaScript-generated content in search engines.” Jump to cytat
- “Dynamic rendering is a workaround and not a recommended solution, because it creates additional complexities and resource requirements.” Jump to cytat
Microsoft Bing
- “bingbot is generally able to render JavaScript…” Jump to cytat
- “we recommend dynamic rendering as a great alternative for websites relying heavily on JavaScript.” Jump to cytat
Martin Splitt, Google (relayed via Onely’s transcript of a 2019 Webmaster Central hangout)
- On the two-waves model: Splitt ma said it plays mniej i mniej of a role, że wiele witryny go przez the render phase even bez JavaScript, i że crawling, renderowanie, i indeksowanie są converging. przeczytaj coverage
Patrick Stox (my own działać — SEO JavaScript: A Definitive poradnik)
- “Google loads each page stateless like it’s a fresh load.”
- “pages went to the renderer at a median time of five seconds” (90th percentile in minutes) — a dated conference-era data point, nie a current opublikowany metric; see the current official queue-timing cytat above.
- “The most problematic one is going to be full client-side rendering where all of the rendering happens in the browser.”
- “Any kind of SSR, static rendering, and prerendering setup is going to be fine for search engines. Gatsby, Next, Nuxt, etc., are all great.”
The mental modele
1. Crawl → render → index. renderowanie jest the bridge. Crawling fetches the raw HTML; renderowanie runs the JS to build the DOM; indeksowanie reads że DOM. gdy JS treść goes missing, ask który krok failed — był it fetched? wyrenderowany? zrobił the wyrenderowany DOM contain the treść?
2. The renderer jest a rzeczywisty przeglądarka z amnesia. Evergreen Chrome, ale stateless (forgets cookies/storage między strony), no interaction (won’t scroll lub click), i pamięć podręczna-happy (może run stale JS/CSS). Design as if każdy visit jest a fresh, untouched, pierwszy load.
3. renderowanie mode decides twój risk, nie twój framework. SSR, statyczny, prerender, i hydration wszystkie put treść in (lub quickly do) the DOM — niski risk. pełny CSR bets everything on the render — highest risk. The same następny.js app jest bezpieczny lub risky depending on który mode you ship.
4. “Two waves” jest the old map. Don’t plan around a deferred second wave of renderowanie days later. renderowanie happens dla essentially wszystkie strony, zwykle w seconds-to-minutes — i there’s no render budget to ration.
5. dynamiczny renderowanie jest a smell, nie a strategy. Serving bots różny HTML than użytkownicy jest a workaround Google advises wobec (i jest close to cloaking). If you’re reaching dla it, the rzeczywisty fix jest zwykle SSR/SSG.
6. Get treść do the DOM, then verify. Pick a mode że puts treść in the wyrenderowany DOM quickly, then confirm z URL Inspection’s wyrenderowany HTML. twój przeglądarka isn’t Googlebot.
renderowanie options — SEO trade-offs
| Option | gdzie the HTML jest built | SEO risk | Reach dla it gdy |
|---|---|---|---|
| CSR (client-side) | przeglądarka/WRS runs JS; serwer wysyła a shell | Highest — depends on render sukces; slowest to index | App-like, gated, lub niski-SEO-wartość views |
| SSR (serwer-side) | serwer, per żądanie | niski — treść in raw HTML | dynamiczny / personalized / fast-changing treść |
| SSG / statyczny / prerender | At deploy time | Lowest — in raw HTML i fast | treść witryny, docs, blogs, marketing |
| Hydration (isomorphic/universal) | SSR/SSG paint, then JS hydrates | niski — watch hydration mismatches | najbardziej modern frameworks |
| ISR (incremental statyczny regen) | statyczny, regenerated on schedule/on-demand | niski — fresher SSG | duży catalogs needing periodic freshness |
| Edge renderowanie | SSR at CDN edge | niski — faster TTFB | Global, opóźnienie-sensitive SSR |
| Streaming SSR | HTML streamed in chunks | niski — zachować indeksowalny treść out of late chunks | wydajność-critical SSR apps |
| dynamiczny renderowanie | Bots get prerender, użytkownicy get CSR | Workaround tylko — Google advises wobec | ostatni resort dla legacy CSR |
Web renderowanie Service — quick fakty
| Behavior | co it means dla you |
|---|---|
| Evergreen headless Chromium | Modern JS/CSS działa; no need to transpile dla an old engine |
| Stateless (storage + cookies cleared) | Don’t rely on persisted client state to serve treść |
| Declines permission prompts | treść behind geolocation/notifications/camera won’t render |
| Doesn’t scroll, click, lub hover | Load treść on viewport, nie on interaction |
| Caches JS/CSS aggressively | Fingerprint filenames (app.4f2a9c.js) so changes są picked up |
| Renders dla ~wszystkie strony, zwykle in seconds-to-minutes | No “two waves,” no render budget to ration |
Render-readiness audit checklist
A pass to confirm twój ważny treść actually survives renderowanie:
- Primary treść i main navigation links są present in the raw HTML odpowiedź (view źródło, nie DevTools’ inspected DOM) — nie injected tylko po JavaScript runs.
- każdy link wewnętrzny a czytelnik needs to follow jest a rzeczywisty
<a href="...">— nie a<div onclick>, a hash-tylko route (#/page), lub a button że pushes state client-side z no matching link. - No critical JS lub CSS files są blocked in
robots.txt(a blocked bundle może leave the WRS unable to zbuduj strona it needs to render). - treść że loads on scroll, hover, lub click również ma a path że renders bez dowolny interaction — the WRS doesn’t scroll, click, lub hover.
- Nothing ważny depends on
localStorage,sessionStorage, lub cookies persisting między żądania — the WRS jest stateless i clears wszystkie of że między strona loads. - Nothing ważny sits behind a geolocation, notification, lub camera permission prompt — the WRS declines tamte by domyślny.
- JS/CSS filenames są fingerprinted (
app.4f2a9c.js) so a treść change forces a fresh fetch zamiast getting served z the WRS’s aggressive pamięć podręczna. - URL Inspection’s wyrenderowany HTML/screenshot in Google Search Console pokazuje the same treść i links you see in twój own przeglądarka.
- The witryna isn’t używając dynamiczny renderowanie as jego answer to a CSR problem — the fix jest SSR, statyczny renderowanie, lub hydration, nie serving bots a różny version of the strona.
renderowanie mistakes że actually bite
Blocking the JS lub CSS the strona needs to render, in robots.txt.
If the WRS może’t fetch a script lub stylesheet the strona depends on, it może’t
build an accurate wyrenderowany DOM — you get a broken lub empty render zamiast
the strona you intended. robić instead: pozwalać crawling of twój JS/CSS assets;
robots.txt powinien zachować bots out of niski-wartość spaces, nie the zasoby twój
own strony need.
wysyłka treść-critical strony as pełny client-side renderowanie (CSR) z no fallback. CSR jest “the najbardziej problematic one … pełny client-side renderowanie gdzie wszystkie of the renderowanie happens in the przeglądarka” — it bets twój entire strona on the render succeeding, i it’s the slowest option to get zindeksowany. robić instead: reach dla SSR, statyczny generation/prerendering, lub hydration so treść jest in (lub bardzo quickly do) the raw HTML.
Relying on hash-oparty routes (#/product/123) as twój tylko navigation.
The WRS follows rzeczywisty <a href> links; a hash fragment że tylko changes
client-side state, z no serwer-wyrenderowany equivalent URL, gives the renderer
nothing to crawl onward to. robić instead: używać rzeczywisty paths the serwer może respond
to directly (/product/123), even in a client-heavy app.
Lazy-ładowanie treść z no non-interactive path to it. ponieważ the WRS “doesn’t scroll, click, or hover,” treść że tylko appears po one of tamte events jest invisible to it by domyślny. robić instead: load above-the-fold i reasonably-near-viewport treść bez requiring an interaction, i reserve prawdziwy lazy-ładowanie dla treść genuinely below the fold z a proper non-JS fallback.
Treating dynamiczny renderowanie as a long-term fix zamiast a workaround. Google jest explicit że “dynamiczny renderowanie jest a workaround i nie a recommended solution, ponieważ it creates additional complexities i zasób requirements” — i serving bots różny treść than użytkownicy sits uncomfortably close to cloaking. robić instead: fix the renderowanie mode itself (SSR/statyczny/hydration) zamiast building a bot-detection warstwa around a CSR problem.
walidacja tests
Pass/fail sprawdzenia to confirm a renderowanie fix actually took effect — run te po you ship the change, nie as an ongoing health metric.
Test: treść now appears in the wyrenderowany DOM
- Test to run — Submit the URL to Google Search Console’s URL Inspection narzędzie i używać “Test Live URL,” then otwarty the wyrenderowany HTML tab (lub run the strona przez the Render Gap narzędzie to diff raw vs. wyrenderowany HTML directly).
- Expected wynik — The treść you added lub fixed appears in the wyrenderowany HTML/DOM view, nie just in twój own przeglądarka’s dev narzędzia.
- awaria interpretation — If it’s nadal missing z the wyrenderowany HTML ale present gdy you view the strona normally, the WRS nadal może’t build it — sprawdzenie dla a blocked JS/CSS zasób, an interaction-tylko load, lub a client-storage dependency przed assuming the fix worked.
- monitorowanie window — Immediate; URL Inspection’s live test reflects the current state of the URL right away.
- Rollback trigger — The wyrenderowany HTML nadal doesn’t contain the treść po the fix, lub the live test throws a new crawl/render błąd it didn’t throw przed.
Test: ważny links survive the render
- Test to run — sprawdź wyrenderowany HTML (URL Inspection lub Render Gap)
dla rzeczywisty
<a href>znaczniki around każdy link a czytelnik needs to follow, nie just visible clickable elementy. - Expected wynik — każdy link in the wyrenderowany DOM ma a resolvable
hrefpointing at a rzeczywisty, crawlable URL. - awaria interpretation — A missing lub empty
hrefon co looks like a działający link zwykle means it’s a<div>/<button>z a client-side click handler i no serwer-renderable path — the WRS może’t follow it. - monitorowanie window — Immediate.
- Rollback trigger — Links że mattered przed the change są missing
hrefatrybuty lub point at a hash-tylko fragment in the wyrenderowany output.
Test: the fix doesn’t quietly regress on the następny deploy
- Test to run — Re-run the wyrenderowany-HTML sprawdzenie (URL Inspection live test lub Render Gap) po twój następny deploy że touches ten strona’s templates lub build pipeline.
- Expected wynik — The same treść i links są nadal present in the wyrenderowany DOM as gdy you pierwszy confirmed the fix.
- awaria interpretation — If treść że był present disappears again, a later change prawdopodobny reintroduced a client-tylko dependency lub broke a serwer-wyrenderowany path.
- monitorowanie window — Re-sprawdzenie po każdy deploy że touches the affected templates; nie a one-time sprawdzenie.
- Rollback trigger — treść lub links że były confirmed present drop out of the wyrenderowany DOM again.
zasoby worth twój time
My powiązany writing
- SEO JavaScript: A Definitive poradnik — my pełny poradnik to renderowanie, renderowanie modes, DOM parity, infinite scroll, i the two-strony-as-one problem.
- The Beginner’s poradnik to techniczne SEO — gdzie renderowanie fits między crawling i indeksowanie.
My speaking
- How Search działa (SlideShare) — my walkthrough of crawling, renderowanie (the WRS, stateless loads, no interaction), indeksowanie, i ranking. (My standing disclaimer applies: “This is my understanding of systems… not going to be 100% complete or accurate.”)
z others
- web.dev — renderowanie on the Web — the canonical explainer of CSR / SSR / SSG / hydration trade-offs z the Chrome zespół.
- Onely — Google’s Two Waves of indeksowanie — transcript-oparty coverage of Martin Splitt’s office-hours session explaining why the two-waves model jest fading; cited in the artykuł body.
- wyszukiwarka Roundtable — Google: No Per-strona Search Cost — Google rep clarifying there jest no per-strona crawl/render/index cost to ration.
- wyszukiwarka Journal — SEO JavaScript — industry coverage of JS SEO dobre praktyki, testing przepływy pracy, i framework considerations.
- Vercel — renderowanie Strategies — następny.js/edge renderowanie docs; użyteczny gdy choosing między CSR, SSR, SSG, ISR, i streaming SSR dla a rzeczywisty project.
- r/TechSEO — the community dla debugging render/index problems.
Videos
- Google Search Central (YouTube) — Martin Splitt’s SEO JavaScript series i the renderowanie explainers są the best official video walkthroughs of how the Web renderowanie Service handles twój JS. Channel
Stats worth citing
- Current official framing: no fixed opóźnienie. Google’s 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 dla the render queue.
- Historical data point (dated) — ~5 second median render opóźnienie. In earlier conference remarks, Google staff (Martin Splitt i Tom Greenaway) put strony reaching the renderer at a median of ~5 seconds, z the 90th percentile in minutes — nie the “weeks” the old two-waves fear implied. I cite ten in my SEO JavaScript poradnik, ale treat it as a historical data point, nie a current opublikowany metric — Google hasn’t republished it as an ongoing figure.
- Two waves of indeksowanie jest fading. Per Martin Splitt, the two-waves model plays mniej i mniej of a role as crawling, renderowanie, i indeksowanie converge — renderowanie now happens dla essentially wszystkie strony. Coverage
- No per-strona render budget. Google ma indicated it doesn’t track how expensive an individual strona jest to crawl, render, index, lub serve — so there’s no “render budget” to conserve the way budżet indeksowania gets discussed. Coverage
Test yourself: renderowanie
Five quick questions on how Google renders strony. Pick an answer dla każdy, then sprawdzenie.
Dziennik zmian
Zaktualizowano 28 lip 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Zaktualizowano 18 lip 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.
Zaktualizowano 17 lip 2026.
Podsumowanie redakcyjne i zapisane szczegóły zmian.Szczegóły zmian
-
Szczegółowe uwagi dotyczące zmian są obecnie dostępne po angielsku.
Pełne porównanie jest niedostępne — dla tej wersji nie zarchiwizowano wcześniejszej migawki.