Renderowanie

Jak usługa renderowania Google uruchamia Twój JavaScript, aby zbudować stronę, którą indeksuje — oraz opcje renderowania (CSR, SSR, SSG, hydratacja, ISR, edge, dynamiczne) i ich kompromisy SEO.

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

Renderowanie to etap, w którym Google uruchamia Twój JavaScript w przeglądarce Chrome bez interfejsu — usługa Web Rendering Service — aby zbudować DOM, który indeksuje. Dzieje się to dla praktycznie każdej strony, zwykle w ciągu sekund do minut, więc stary model 'dwóch fal indeksowania' jest w dużej mierze przestarzały i nie ma budżetu renderowania na stronę. Renderer jest bezstanowy, nie wchodzi w interakcję ze stroną i agresywnie cache'uje. Twój wybór renderowania decyduje o ryzyku SEO: SSR, statyczne/pre-renderowanie i hydratacja są bezpieczne; pełne renderowanie po stronie klienta jest ryzykowne; dynamiczne renderowanie to obejście.

TL;DR — Google renderuje Twój JS w evergreen, headless Chromium — Web Rendering Service — aby zbudować DOM, który indeksuje. Dzieje się to dla praktycznie wszystkich stron, zwykle w ciągu sekund do minut, więc “dwie fale indeksowania” są w dużej mierze przestarzałe i nie ma budżetu renderowania na stronę. WRS jest bezstanowy, odrzuca prośby o uprawnienia, nie wchodzi w interakcje ze stroną i agresywnie buforuje. Twoja opcja renderowania decyduje o ryzyku SEO: SSR / statyczne / prerenderowanie / hydratacja są niskiego ryzyka; pełne CSR jest ryzykowne; dynamiczne renderowanie to obejście, którego Google odradza. Aby poznać praktyczne problemy z JS, które to tworzy, zobacz JavaScript SEO. Oficjalne ujęcie czasu brzmi: “may stay on this queue for a few seconds, but it can take longer than that” (tłumaczenie) „strona może pozostać w kolejce przez kilka sekund, ale czasem trwa to dłużej”.

Gdzie znajduje się renderowanie

Google jednoznacznie opisuje trzyetapową obsługę aplikacji JavaScript: najpierw pobieranie, następnie renderowanie, a na końcu indeksowanie. Dowód potwierdzający to twierdzenie Google documents crawling, rendering, and indexing as the three main phases for processing JavaScript web apps. Zakres: Google Search processing of JavaScript web applications; the phases can overlap operationally. Poziom ufności: wysoki · Zweryfikowano: Google Search Central: Understand the JavaScript SEO basics Renderowanie jest mostem. Crawling pobiera surowy HTML; renderowanie uruchamia JavaScript, aby zbudować gotowy DOM; indeksowanie czyta ten wyrenderowany DOM, a wszelkie nowe linki, które renderer znajdzie, są ponownie kierowane do crawlowania. Według słów Google: “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.” (tłumaczenie) „Podczas pobierania Google renderuje stronę i uruchamia znaleziony JavaScript w aktualnej wersji Chrome, podobnie jak przeglądarka renderuje odwiedzane strony.”

Renderowanie jest mostem między pobraniem adresu URL a indeksowaniem gotowego DOM; parzystość, interakcja, stan i czas mogą zerwać ten most. Źródło: JavaScript SEO

Google przeszukuje adres URL, renderuje jego JavaScript, aby zbudować DOM, i indeksuje wynik. Cztery praktyczne tryby awarii rozgałęziają się od renderowania: parzystość, gdy wyrenderowany DOM różni się od oczekiwań, interakcja, gdy treść wymaga przewinięcia lub kliknięcia, stan, gdy treść opiera się na wyczyszczonych plikach cookie lub pamięci, oraz czas, gdy treść jest opóźniona przez wolny JavaScript.

© Patrick Stox LLC · CC BY 4.0 ·

Usługa renderowania w sieci

Google renderuje w Web Rendering Service (WRS) — bezgłowym Chrome, który jest zawsze aktualny: “While Google Search runs JavaScript with an evergreen version of Chromium…” (tłumaczenie) „Wyszukiwarka Google uruchamia JavaScript w stale aktualizowanej wersji Chromium…” — dzięki temu WRS śledzi bieżący Chrome, więc nowoczesne funkcje JavaScript i CSS działają.

Problem polega na tym, że WRS to osobliwa przeglądarka, a jej dziwactwa powodują większość prawdziwych problemów:

  • Jest bezstanowy. Jak ująłem to w moim przewodniku po JavaScript SEO, “Google loads each page stateless like it’s a fresh load.” (tłumaczenie) „Google ładuje każdą stronę bezstanowo, jak przy nowej wizycie.” Dokumentacja Google wyjaśnia szczegóły: “Local Storage and Session Storage data are cleared across page loads” (tłumaczenie) „Dane pamięci lokalnej i sesyjnej są czyszczone między ładowaniami stron” oraz “HTTP Cookies are cleared across page loads.” (tłumaczenie) „Pliki cookie HTTP są czyszczone między ładowaniami stron”. Nie polegaj na niczym zapisanym po stronie klienta, aby serwować treści.
  • Odmawia uprawnień. “Expect Googlebot to decline user permission requests.” Treści ukryte za geolokalizacją, powiadomieniami lub prośbą o dostęp do kamery nie zostaną wyrenderowane.
  • Nie wchodzi w interakcje. Brak przewijania, klikania lub najeżdżania — więc treści, które ładują się tylko po jednym z tych zdarzeń, są domyślnie niewidoczne. (To źródło większości błędów leniwego ładowania i nieskończonego przewijania; poprawki znajdują się na stronie JavaScript SEO.)
  • Agresywnie buforuje. “Googlebot caches aggressively in order to reduce network requests and resource usage. WRS may ignore caching headers.” (tłumaczenie) „Googlebot intensywnie buforuje, aby ograniczyć liczbę żądań sieciowych i zużycie zasobów. WRS może ignorować nagłówki buforowania.” To oznacza, że Google może uruchomić nieaktualną wersję Twojego JS lub CSS. Rozwiąż to za pomocą fingerprintingu plików — wersjonuj nazwy plików (app.4f2a9c.js), aby zmiana treści wymusiła świeże pobranie.

Eksperyment z 2026 roku: pięć sekund to nie twarda ściana wykonania

Eksperyment WRS przeprowadzony przez stronę trzecią, opisany w lipcu 2026 roku, testował opóźniony JavaScript i aktywność sieciową, zamiast zakładać pięciosekundowy limit czasu. Zaobserwowany renderer używał wirtualnego zegara i ukończył opóźnione żądania, które zajmowały około 6–12 sekund czasu rzeczywistego. Użyteczny wynik jest wąski: przeczy on powszechnej zasadzie audytowej, że wszystko, co dzieje się po dokładnie pięciu sekundach, jest automatycznie niewidoczne dla Google. Nie dowodzi on, że każde opóźnione zależności zostaną ukończone, że Google czeka w nieskończoność ani że wolne dostarczanie po stronie klienta jest bezpieczne.

Przeczytaj eksperyment i jego metodologię jako dowód od strony trzeciej, obok oficjalnego oświadczenia Google, że czas w kolejce renderowania nie ma opublikowanego stałego opóźnienia. W praktyce przetestuj końcowy DOM i żądane zasoby. Brak odpowiedzi API, wymóg interakcji, zablokowany skrypt lub zależność stanu pozostają prawdziwą awarią renderowania, nawet jeśli reguła „pięciu sekund” oparta na stoperze nie jest.

Czy „dwie fale indeksowania” nadal istnieją?

Przez lata modelem mentalnym były „dwie fale indeksowania”: Google najpierw indeksował surowy HTML, a następnie wracał po dniach lub tygodniach, aby wyrenderować i zaindeksować treści JavaScript. Ten model jest obecnie w dużej mierze przestarzały. Martin Splitt powiedział, że idea dwóch fal odgrywa coraz mniejszą rolę, że wiele stron przechodzi przez fazę renderowania nawet wtedy, gdy nie polega na JavaScript, oraz że crawling, renderowanie i indeksowanie z czasem się zbiegają.

W praktyce renderowanie odbywa się dla praktycznie każdej strony i zwykle jest szybkie. Obecna dokumentacja Google mówi, że przeszukana strona “może pozostać w tej kolejce przez kilka sekund, ale może to potrwać dłużej” — nie ma opublikowanego stałego opóźnienia ani limitu czasu. Dowód potwierdzający to twierdzenie Google says a crawled page may stay on the rendering queue for a few seconds, but it can take longer than that. Zakres: 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. Poziom ufności: wysoki · Zweryfikowano: Google Search Central: rendering-queue duration Potwierdza: A page may remain on the rendering queue for a few seconds or longer. Jako historyczny punkt odniesienia, pracownicy Google (Martin Splitt i Tom Greenaway) raz podali medianę około pięciu sekund, z 90. percentylem w minutach — a nie “tygodnie”, które sugerował stary strach. Cytuję tę liczbę w moim przewodniku po JavaScript SEO, ale traktuję ją jako przestarzały punkt danych z konferencji, a nie aktualną opublikowaną metrykę — Google nie opublikował jej ponownie jako bieżącej liczby, a powyższy cytat o czasie oczekiwania w kolejce jest obecnym oficjalnym ujęciem.

I nie ma budżetu renderowania w takim sensie, w jakim ludzie to sobie wyobrażają. Google nie śledzi per-stronowego wyniku “jak kosztowne było renderowanie”, który trzeba oszczędzać. Renderowanie jest tanie w skali Google — optymalizuj pod kątem użytkowników i wydajności, a nie widmowego budżetu renderowania.

Opcje renderowania

“Gdzie budowany jest HTML?” — to pytanie decyduje o ryzyku SEO. Pełna lista:

Przydatne rozróżnienie polega na tym, gdzie generowany jest początkowy HTML i jaka praca pozostaje dla przeglądarki. Źródło: Rendering

Generowanie statyczne tworzy HTML w czasie budowania. Renderowanie po stronie serwera tworzy go na każde żądanie. Renderowanie po stronie klienta opiera się na JavaScripcie przeglądarki. Hydratacja dołącza zachowanie klienta do HTML z serwera lub statycznego. Renderowanie dynamiczne zmienia wynik w zależności od osoby żądającej i jest traktowane jako obejście.

© Patrick Stox LLC · CC BY 4.0 ·

  • Renderowanie po stronie klienta (CSR). Serwer wysyła prawie pustą powłokę; przeglądarka (lub WRS) uruchamia JavaScript, aby zbudować wszystko. To jest “The most problematic one is going to be full client-side rendering where all of the rendering happens in the browser.” (tłumaczenie) „Najbardziej problematyczne będzie pełne renderowanie po stronie klienta, w którym całość odbywa się w przeglądarce.” Może działać, ale stawiasz wszystko na to, że renderowanie się powiedzie, i jest to najwolniejsza opcja do zaindeksowania.
  • Renderowanie po stronie serwera (SSR). Serwer buduje pełny HTML dla każdego żądania. Treść jest w surowym HTML, więc ryzyko dla wyszukiwarek jest niskie.
  • Generowanie statycznych stron (SSG) / prerenderowanie. HTML jest budowany raz podczas wdrożenia. Najniższe ryzyko — treść jest w surowym HTML i jest szybka.
  • Hydratacja (izomorficzna / uniwersalna). Robisz SSR lub SSG dla pierwszego renderowania, a następnie JavaScript “hydratuje” je w przeglądarce, aby dodać interaktywność. To robi większość nowoczesnych frameworków i jest niskim ryzykiem dla treści — tylko uważaj na niezgodności hydratacji, które mogą wyczyścić lub zastąpić treść.
  • Incremental Static Regeneration (ISR). Statyczne strony regenerowane według harmonogramu lub na żądanie. Jak SSG, z świeższą treścią — dobre dla dużych katalogów.
  • Renderowanie na brzegu sieci (Edge rendering). SSR uruchamiany na węzłach brzegowych CDN — takie samo niskie ryzyko jak SSR, z szybszym czasem do pierwszego bajtu dla globalnej publiczności.
  • Strumieniowe SSR. HTML strumieniowany do przeglądarki w częściach, gdy jest gotowy. Niskie ryzyko, ale upewnij się, że treść do indeksowania nie jest uwięziona tylko w późnej lub opóźnionej części.

Moje podsumowanie z mojego przewodnika po JavaScript SEO: “Każdy rodzaj SSR, renderowania statycznego i prerenderowania będzie odpowiedni dla wyszukiwarek. Gatsby, Next, Nuxt itd. są świetne.” Framework ma mniejsze znaczenie niż tryb renderowania, który dostarczasz — ta sama aplikacja Next.js jest bezpieczna lub ryzykowna w zależności od tego, czy serwujesz SSR/SSG, czy pełne CSR.

Dynamiczne renderowanie — obejście, nie strategia

Dynamiczne renderowanie oznacza wykrywanie botów i serwowanie im wstępnie wyrenderowanej, pozbawionej JavaScript wersji, podczas gdy użytkownicy otrzymują wersję po stronie klienta. Google jest teraz w tej sprawie bezpośredni: “Dynamic rendering was a workaround and not a long-term solution for problems with JavaScript-generated content in search engines.” (tłumaczenie) „Renderowanie dynamiczne było obejściem, a nie długoterminowym rozwiązaniem problemów z treścią generowaną przez JavaScript w wyszukiwarkach” oraz “Dynamic rendering is a workaround and not a recommended solution, because it creates additional complexities and resource requirements.” (tłumaczenie) „Renderowanie dynamiczne jest obejściem, a nie zalecanym rozwiązaniem, ponieważ tworzy dodatkowe komplikacje i wymagania dotyczące zasobów.” Dowód potwierdzający to twierdzenie Google describes dynamic rendering as a workaround and does not recommend it as a long-term solution. Zakres: Google Search guidance for JavaScript-generated content; server-side rendering, static rendering, or hydration are the recommended alternatives. Poziom ufności: wysoki · Zweryfikowano: Google Search Central: Dynamic rendering as a workaround Zgadzam się z tym i zawsze się zgadzałem — szczerze mówiąc, nigdy tego nie polecałem i cieszę się, że Google teraz też to odradza. To serwowanie różnych treści botom i użytkownikom, co jest bardzo blisko cloakingu. Sięgnij po SSR, statyczne lub hydratację.

Jedna uwaga: Bing nadal sugeruje renderowanie dynamiczne. Microsoft twierdzi, że “bingbot is generally able to render JavaScript” (tłumaczenie) „Bingbot zazwyczaj potrafi renderować JavaScript”, ale że robienie tego na dużą skalę jest trudne, więc “we recommend dynamic rendering as a great alternative for websites relying heavily on JavaScript.” (tłumaczenie) „zalecamy renderowanie dynamiczne jako dobrą alternatywę dla witryn w dużym stopniu opartych na JavaScript”. Praktyczny wniosek: SSR/SSG zadowala obie wyszukiwarki i omija całą debatę.

Co to oznacza dla Twoich treści

Renderowanie decyduje o tym, czy Google kiedykolwiek zobaczy Twoje treści JavaScript — ale zobaczenie ich to tylko połowa zadania. Gdy strona jest wyrenderowana, praktyczne kwestie to prawdziwe linki <a href>, parzystość pól między surowym a wyrenderowanym HTML, kolejność etapów dyrektyw robots, leniwe treści, nieskończone przewijanie i miękkie błędy braku strony. Wszystko to znajduje się na stronie JavaScript SEO, wraz z przepływem testowania (wyrenderowany HTML w URL Inspection, zrzut ekranu i konsola).

To jest etap renderowania w wyszukiwarkowym potoku. Dla etapów wokół niego zobacz crawling (jak strony są pobierane) i indexing (co dzieje się z wyrenderowaną stroną następnie), lub centrum How Search Works dla całej podróży.

Jedna zasada audytu jest tutaj warta zapamiętania: wyrenderowany to stan, a nie uniwersalny zwycięzca. Dla treści ciała i linków do przeszukania, wyrenderowany DOM pokazuje, co udany JavaScript dodał lub usunął. Dla tytułów i opisów pokazuje dodatkowe dane wejściowe, podczas gdy Google może nadal generować link do tytułu lub snippet z innych źródeł. Dla dyrektyw robots, surowy noindex może zapobiec renderowaniu, więc usuwanie JavaScript jest asymetryczne. Dla kanonicznych, Google zaleca użycie jednego źródła lub jednej wartości ustawionej przez JavaScript, zamiast zmieniania istniejącej wartości. A JavaScript nie może zmienić już otrzymanego statusu odpowiedzi HTTP. Trzymaj te kolumny osobno w dowodach i korzystaj z aktualnych wytycznych JavaScript SEO Google dla zachowania specyficznego dla pól.

Dodaj notatkę eksperta

Przypnij cytat eksperta

Nowa osoba? Najpierw utwórz jej nieprzejęty profil na /admin/experts/ → Przypnij cytat eksperta .