69% botów AI nie potrafi uruchomić JavaScriptu. Jeśli Twoja strona ładuje treść po stronie przeglądarki (client-side rendering), to dla ChatGPT, Claude i Perplexity jest pusta – widzi ją tylko Googlebot. To nie jest teoretyczny problem: dane seoClarity pokazują, że na stronach SPA opartych o client-side rendering od 50% do 80% treści jest niewidoczne dla botów AI. Rendering readiness to druga z 8 warstw audytu widoczności w AI i pozycjonowania w AI – warstwa, która decyduje, czy boty AI widzą to samo co Twoi użytkownicy.
W skrócie – rendering readiness w 5 punktach:
- 69% botów AI nie renderuje JavaScript – analiza searchVIU na 32 crawlerach i 1,3 mld requestów. Tylko Googlebot, Google-Extended (Gemini) i Applebot potrafią uruchomić JS, reszta (GPTBot, ClaudeBot, PerplexityBot) czyta wyłącznie surowy HTML
- Na stronach SPA z client-side rendering 50–80% treści jest niewidoczne dla AI – dane wewnętrzne seoClarity
- Test „View Source” (Ctrl+U) to najszybszy sposób na sprawdzenie rendering readiness – jeśli treść nie jest widoczna w źródle strony, nie istnieje dla AI
- SSR (server-side rendering) i SSG (static site generation) to złoty standard – Search Engine Land potwierdza: SSR i SSG gwarantują, że zarówno użytkownicy, jak i systemy AI widzą tę samą treść
- WordPress, Astro, Next.js i inne frameworki z SSR/SSG nie mają tego problemu – rendering readiness dotyczy głównie SPA opartych o React CSR, Angular CSR i Vue CSR
Czym jest rendering readiness i dlaczego to osobna warstwa audytu?
Rendering readiness to gotowość strony do pokazania pełnej treści bez uruchamiania JavaScriptu po stronie przeglądarki. W klasycznym SEO rendering był problemem Googlebota – ale Googlebot od lat ma silnik renderujący oparty o Chromium, więc większość stron JS-owych widzi poprawnie. W AI Search sytuacja jest fundamentalnie inna.
Search Engine Journal pisze wprost: przez lata SEO-wcy byli zachęceni postępami Googlebota w renderowaniu JavaScript, ale z nowymi crawlerami AI sytuacja się odwróciła. GPTBot, ClaudeBot, PerplexityBot – żaden z nich nie uruchamia kodu JavaScript tak jak przeglądarka. Pobierają surowy HTML i idą dalej.
Efekt jest dramatyczny. Jak opisuje Search Engine Land: większość crawlerów AI pobiera pliki JavaScript jako tekst, ale ich nie uruchamia. Treść generowana dynamicznie po załadowaniu strony – karuzele produktów, opisy ładowane przez AJAX, ceny wyliczane przez JS – jest dla nich niewidoczna.
Dlatego rendering readiness w Semgence audytujemy jako drugą warstwę audytu widoczności w AI – zaraz po crawlability (czy boty mają dostęp do strony). Crawlability sprawdza, czy bot w ogóle może wejść. Rendering readiness sprawdza, czy po wejściu widzi treść.
Które boty AI renderują JavaScript, a które nie?
Badanie searchVIU – analiza 32 crawlerów na 1,3 miliarda requestów – daje jednoznaczny obraz:
| Bot | JavaScript rendering | Uwagi |
| Googlebot | tak (Chromium) | Jedyny masowo crawlujący bot z pełnym renderingiem JS |
| Google-Extended (Gemini) | tak | Dzieli infrastrukturę z Googlebot |
| Applebot (Siri, Apple Intelligence) | tak | Renderuje JS, CSS, AJAX |
| GPTBot (OpenAI) | nie | 569 mln requestów/miesiąc, pobiera .js ale nie uruchamia |
| ClaudeBot (Anthropic) | nie | Czyta surowy HTML |
| PerplexityBot | nie | Czyta surowy HTML |
| OAI-SearchBot (ChatGPT Search) | nie | Korzysta z indeksu Bing (ograniczone renderowanie) |
| Meta-ExternalAgent | nie | Czyta surowy HTML |
| Amazonbot | nie | Czyta surowy HTML |
| Bytespider (TikTok/ByteDance) | nie | Czyta surowy HTML |
Kluczowy wniosek: Googlebot to jedyny masowy crawler z pełnym renderingiem JS. Strona React SPA może być na pozycji #1 w Google i jednocześnie być całkowicie pusta dla ChatGPT, Claude, Perplexity, Copilota i Google AI Mode (który korzysta z Gemini, ale nie zawsze renderuje na żywo).
Co dokładnie widzą boty AI na stronie z client-side rendering?
Gdy bot AI wchodzi na stronę SPA (Single Page Application), widzi to, co zwraca serwer w pierwszym response HTTP – zwykle jest to pusty szkielet HTML: nagłówek, stopka, puste `<div>`, skrypty do załadowania. Cała treść – teksty, opisy produktów, ceny, opinie – ładuje się dopiero po uruchomieniu JavaScriptu w przeglądarce.
Search Engine Land opisuje to jako „split visibility problem”: strony oparte o JavaScript płacą 9-krotny „podatek renderingowy” na crawl budget w Google. A większość botów AI w ogóle nie renderuje JS – pobierają surowy HTML i idą dalej. Jeśli polegasz na CSR, tracisz widoczność dwukrotnie: wolniej się indeksujesz w Google i jesteś niewidoczny w AI Search.
Writesonic przeprowadził test 62 elementów na 6 systemach AI (ChatGPT, Claude, Gemini, DeepSeek, Grok, Copilot) w marcu 2026. Kluczowe wyniki:
- Treść ukryta CSS-em (display:none, visibility:hidden, opacity:0) – AI ją widzi. Crawlery czytają HTML, nie renderują CSS. `display:none` to instrukcja stylowania, której nie wykonują – tekst jest w HTML, więc go widzą
- Treść generowana przez CSS (::before, ::after) – AI jej nie widzi. Te treści istnieją dopiero po przetworzeniu arkuszy stylów. Crawlery tam nie docierają
- Lazy loading na scrollu (IntersectionObserver) – 0 z 6 systemów widzi treść. Żaden AI nie scrolluje strony. Treść ładowana po przewinięciu jest niewidoczna dla każdego AI
- JavaScript wykonywany z opóźnieniem (setTimeout) – 0 z 6. Nawet delay 0ms nie pomaga – AI nie uruchamia timera
Ten test potwierdza fundamentalną zasadę: jeśli treść nie jest w surowym HTML (View Source), to dla AI nie istnieje.
Jak sprawdzić rendering readiness swojej strony?
Test 1: „View Source” (Ctrl+U)
Otwórz stronę w przeglądarce → Ctrl+U (lub Cmd+U na Mac) → szukaj swoich kluczowych treści (nagłówki, opisy, ceny). Jeśli ich tam nie ma – masz problem z rendering readiness. Search Engine Journal rekomenduje ten test jako pierwszy krok diagnostyczny.
Test 2: curl w terminalu
`curl -s https://twoja-strona.pl/ | head -200` – pokaże to, co widzi bot AI. Porównaj z tym, co widzisz w przeglądarce.
Test 3: Screaming Frog z/bez JS
Search Engine Land rekomenduje Screaming Frog z włączonym i wyłączonym renderingiem JS. Crawl bez JS pokaże to, co widzą boty AI. Crawl z JS pokaże to, co widzi Googlebot. Różnica = luka rendering readiness.
Test 4: Zapytaj AI
Jak sugeruje Glenn Gabe (cytowany przez Search Engine Journal): poproś ChatGPT lub Claude o przeczytanie konkretnej strony. Jeśli AI odpowie, że nie może odczytać treści lub zwróci ogólnikową odpowiedź zamiast konkretów z Twojej strony – masz problem z renderingiem.
Test 5: Google Search Console – URL Inspection
Narzędzie URL Inspection w Search Console pokazuje trzy widoki: crawlowany HTML, screenshot renderowania Googlebot i szczegóły zasobów. Jeśli widzisz znaczącą różnicę między tym, co w przeglądarce, a tym, co renderuje Googlebot – boty AI prawdopodobnie też tracą tę treść.
Dlaczego WordPress i CMS-y serwerowe nie mają tego problemu?
WordPress, Joomla, Drupal i inne klasyczne CMS-y generują HTML po stronie serwera (SSR) – przeglądarka i bot dostają gotową stronę z pełną treścią w pierwszym response HTTP. Dlatego semgence.pl (WordPress + Kadence) nie ma problemu z rendering readiness – cała treść, schema JSON-LD, nagłówki, linki wewnętrzne są widoczne w View Source.
Problem dotyczy głównie:
- SPA (Single Page Applications) – React CSR, Angular CSR, Vue CSR
- Strony e-commerce na nowoczesnych frameworkach – headless commerce (np. Shopify Hydrogen, Next.js Commerce bez SSR)
- Dynamicznie ładowane sekcje – karuzele produktów, filtry, opinie ładowane przez AJAX, cenniki generowane przez JS
- Lazy-loaded content – treść ładowana po scrollowaniu (IntersectionObserver)
Search Engine Land podkreśla: Google złagodził język wokół JavaScript i potwierdza, że renderuje JS od lat. Ale w tym samym artykule ostrzega: inne crawlery, zwłaszcza AI, często w ogóle nie renderują JS. Potrzeba fallbacków HTML nie zniknęła – zmieniła kształt.
Jak naprawić problemy z rendering readiness?
Rozwiązanie 1: Server-Side Rendering (SSR)
Najlepsza opcja. Frameworki: Next.js (React), Nuxt (Vue), Angular Universal. Treść renderuje się na serwerze i jest dostarczana jako gotowy HTML – boty AI i użytkownicy widzą to samo. Search Engine Land nazywa SSR i SSG „złotym standardem JavaScript SEO”.
Rozwiązanie 2: Static Site Generation (SSG)
Dla treści, która nie zmienia się często (blog, dokumentacja, landing pages). Frameworki: Astro, Hugo, Gatsby, Next.js (tryb SSG). Strony generowane w build-time jako statyczny HTML.
Rozwiązanie 3: Pre-rendering
Dla zespołów, które nie mogą przebudować architektury na SSR. Serwisy takie jak Prerender.io generują statyczne snapshoty HTML stron SPA i serwują je botom, podczas gdy użytkownicy dostają wersję JS. Po włączeniu pre-renderingu na jednej stronie SPA, boty AI odpowiadały za 48% wszystkich requestów – pokazując, jak szybko crawlery AI zaczynają konsumować nowo dostępną treść.
Rozwiązanie 4: Hybrid rendering
Krytyczna treść (nagłówki, opisy, ceny, schema) renderowana po stronie serwera. Interaktywne elementy (filtry, karuzele, animacje) ładowane po stronie klienta. To podejście łączy SEO/AI readiness z doświadczeniem użytkownika.
Czego unikać: Dynamic rendering (serwowanie innej treści botom niż użytkownikom) – Google uważa to za workaround, nie best practice, a w kontekście AI budzi ryzyko cloakingu.
Jak rendering readiness wpływa na inne warstwy audytu widoczności w AI?
Rendering readiness nie działa w izolacji. To warstwa, która warunkowo odblokowuje wszystkie kolejne:
- Bez rendering readiness – extractability nie ma sensu, bo AI nie widzi treści, którą mogłaby wyciągnąć
- Bez rendering readiness – schema markup generowany przez JS jest niewidoczny. Search Engine Land ostrzega: JSON-LD generowany client-side nie dotrze do botów AI, które nie renderują JavaScript. Schema musi być w statycznym HTML
- Bez rendering readiness – authority signals (Person schema, Organization, sameAs) znikają, bo są częścią JSON-LD w `<head>`
- Rendering readiness jest warunkiem observed visibility – jeśli bot nie widzi treści, nie może jej zacytować
Jakie błędy najczęściej powodują problemy z rendering readiness?
Błąd 1: Zakładanie, że „skoro Google widzi, to AI też widzi.” To najczęstszy i najdroższy błąd. Googlebot ma silnik Chromium – reszta botów AI nie. Strona na pozycji #1 w Google może być pusta dla ChatGPT.
Błąd 2: Schema JSON-LD generowany przez JavaScript. Pluginy e-commerce i frameworki często generują schema dynamicznie. Jeśli JSON-LD pojawia się dopiero po uruchomieniu JS – boty AI go nie widzą. Search Engine Land rekomenduje: wstawiaj JSON-LD bezpośrednio w HTML template, nie generuj go client-side.
Błąd 3: Lazy loading na krytycznej treści. Obrazy z `loading=”lazy”` są OK – URL jest w HTML. Ale treść ładowana przez IntersectionObserver (tekst, opisy, ceny widoczne dopiero po scrollu) jest niewidoczna dla AI – żaden z 6 testowanych systemów AI nie scrolluje strony (Writesonic, marzec 2026).
Błąd 4: Nawigacja oparta wyłącznie o JavaScript. Search Engine Land ostrzega: linki nawigacyjne powinny być standardowymi tagami `<a>` z atrybutem `href`. Linki oparte na `<button onclick=”…”>` nie są widoczne dla crawlerów, które nie uruchamiają JS.
Błąd 5: Treść za tabami/akordeonami ładowana on-click. Jeśli treść jest w DOM-ie, ale ukryta CSS-em (display:none) – boty AI ją widzą (bo czytają HTML, nie CSS). Ale jeśli treść jest ładowana dopiero po kliknięciu przez JavaScript – jest niewidoczna.
☑ Checklista: czy Twoja strona ma rendering readiness pod AI Search?
- ☑ Kluczowa treść (nagłówki, opisy, ceny) widoczna w View Source (Ctrl+U)
- ☑ JSON-LD schema w statycznym HTML, nie generowany przez JavaScript
- ☑ Meta tagi (title, description, canonical) w `<head>` w statycznym HTML
- ☑ Linki nawigacyjne jako `<a href=”…”>`, nie `<button onclick=”…”>`
- ☑ Treść w tabach/akordeonach obecna w DOM (nie ładowana on-click przez JS)
- ☑ Brak krytycznej treści za lazy loadingiem (IntersectionObserver)
- ☑ SSR lub SSG dla frameworków JS (Next.js, Nuxt, Angular Universal)
- ☑ Porównanie crawl Screaming Frog z JS i bez JS – brak istotnych różnic
- ☑ Test: poproś ChatGPT/Claude o odczytanie Twojej strony – czy widzi treść?
- ☑ Google Search Console → URL Inspection → porównaj crawled HTML z rendered
FAQ
Czy strony na WordPressie mają problem z rendering readiness?
Nie – WordPress generuje HTML po stronie serwera (SSR), więc boty AI widzą pełną treść w pierwszym response HTTP. Problem dotyczy SPA (React CSR, Angular CSR, Vue CSR) i dynamicznie ładowanych sekcji na stronach e-commerce. Jeśli Twoja strona jest na WordPressie z klasycznym motywem – rendering readiness masz z automatu.
Skoro Google renderuje JavaScript, to dlaczego rendering readiness jest problemem?
Bo Google to jedyny masowy crawler z pełnym renderingiem JS. ChatGPT, Claude, Perplexity, Copilot, Google AI Mode (Gemini) – wszystkie te systemy korzystają z crawlerów, które nie renderują JavaScript lub robią to w ograniczonym zakresie. Strona widoczna w Google może być pusta w AI Search.
Jak szybko mogę sprawdzić, czy moja strona ma problem z renderingiem?
Ctrl+U (View Source) i szukaj swoich kluczowych treści. Jeśli ich nie ma w surowym HTML – masz problem. Zajmuje to 30 sekund. Dla pełniejszej diagnozy: Screaming Frog z/bez JS, Google Search Console URL Inspection lub po prostu poproś ChatGPT o odczytanie Twojej strony.
Czy pre-rendering (np. Prerender.io) rozwiązuje problem rendering readiness?
Tak – pre-rendering serwuje botom gotowy HTML, podczas gdy użytkownicy dostają wersję JavaScript. To rozwiązanie dla zespołów, które nie mogą przebudować architektury na SSR. Natomiast Google traktuje pre-rendering jako workaround, nie docelowe rozwiązanie – długoterminowo SSR lub SSG jest lepszym wyborem.
Rendering readiness to druga z 8 warstw audytu widoczności w AI. Sprawdź, czy Twoja strona spełnia poprzedni warunek: Crawlability AI – jak sprawdzić, czy boty AI mają dostęp do strony
Następna warstwa: Extractability – jak pisać treści, które AI łatwo cytuje?
Sprawdź też: Schema markup – które dane strukturalne pomagają w cytowaniach AI?, Authority signals – jak budować wiarygodność marki, którą AI chce cytować, Observed visibility – jak zmierzyć obecność marki w AI, Narrative control – kto kontroluje to, co AI mówi o Twojej marce?, Confidence – jak ocenić, czy wyniki audytu AI są wiarygodne?


