GPTBot i PerplexityBot czytają Twój surowy HTML i całkowicie pomijają Twój JavaScript. Beacon renderuje Twoją stronę w prawdziwej przeglądarce headless i pokazuje dokładnie tę treść — i słowa kluczowe — których silniki AI nigdy nie widzą.
Crawlery AI takie jak GPTBot (OpenAI / ChatGPT), PerplexityBot, ClaudeBot i Amazonbot żądają Twojego URL i analizują surowy HTML, który wraca — te same bajty, które zobaczyłbyś przez „Pokaż źródło”. Nie uruchamiają silnika przeglądarki ani Twoich skryptów. Tak więc aplikacja jednostronicowa, która wysyła niemal pusty główny div i wstrzykuje całą swoją rzeczywistą treść JavaScriptem, wygląda kompletnie dla człowieka, a pusto dla bota. Możesz plasować się w Google, wyglądać idealnie dla odwiedzających, a mimo to być niewidoczny dla silników AI, o rekomendacje których pytają Twoi kupujący.
Pobieramy statyczny HTML Twojej strony tak, jak robi to nierenderujący crawler, ładujemy ten sam URL w prawdziwej przeglądarce headless, by uchwycić renderowany DOM, a następnie porównujemy oba — raportując odsetek treści, która istnieje dopiero po uruchomieniu JavaScriptu, dokładne słowa kluczowe brakujące w wersji statycznej oraz Twój tryb renderowania (renderowany po stronie serwera, hybrydowy lub renderowany po stronie klienta), abyś natychmiast wiedział, jak bardzo jesteś narażony.
Naprawa zawsze opiera się na tej samej zasadzie: umieść swoją ważną treść w kodzie HTML, który wysyła serwer, zanim uruchomi się jakikolwiek JavaScript — poprzez renderowanie po stronie serwera, generowanie statyczne lub dynamiczne renderowanie pod boty. Co najmniej upewnij się, że nagłówki, tekst główny, ceny i odpowiedzi FAQ są obecne w statycznym HTML, a nie pobierane i wstrzykiwane przez JavaScript po stronie klienta.
Niemal żaden tego nie robi. GPTBot (ChatGPT/OpenAI), PerplexityBot, ClaudeBot, Amazonbot i większość innych crawlerów AI pobiera Twój surowy HTML i analizuje go w stanie takim, w jakim jest. Nie uruchamiają silnika przeglądarki, by wykonać Twój JavaScript, więc każda treść wstrzyknięta przez JS po załadowaniu jest dla nich praktycznie niewidoczna.
Render Gap to różnica między Twoim statycznym HTML (tym, co pobierają crawlery AI) a Twoim renderowanym przez JavaScript DOM (tym, co widzi człowiek w przeglądarce). Beacon wyraża go jako odsetek widocznej treści oraz zbiór słów kluczowych istniejących dopiero po wykonaniu JavaScriptu. Duży Render Gap oznacza, że silniki AI czytają niemal pustą stronę.
To zależy od sposobu renderowania. Czysta aplikacja React renderowana po stronie klienta (np. SPA w Vite lub create-react-app) wysyła niemal pustą skorupę HTML i buduje wszystko za pomocą JS — to maksymalny Render Gap. Next.js, Remix, Astro i podobne frameworki potrafią renderować po stronie serwera lub generować strony statycznie, co zamyka lukę — ale tylko dla tras, które faktycznie tak skonfigurujesz. Beacon sprawdza rzeczywisty wynik, zamiast zakładać.
Przenieś swoją ważną treść do kodu HTML, który wysyła serwer. Główne opcje to renderowanie po stronie serwera (SSR), generowanie strony statycznej (SSG / prerenderowanie w czasie budowy) oraz renderowanie dynamiczne, w którym serwujesz prerenderowaną migawkę HTML botom. Co najmniej upewnij się, że nagłówki, tekst główny, ceny i odpowiedzi FAQ są obecne w statycznym HTML, a nie pobierane i wstrzykiwane przez JavaScript po stronie klienta.
Przeważnie tak — Googlebot uruchamia nowoczesny silnik renderowania i wykona Twój JavaScript w drugim przejściu, więc treść renderowana po stronie klienta wciąż może się plasować (choć renderowanie jest wolniejsze i może być odroczone). Krytyczna różnica dotyczy wyszukiwania AI: GPTBot, PerplexityBot i większość crawlerów LLM w ogóle nie renderuje JavaScriptu. Możesz więc przejść test JS-SEO Google, a mimo to być niewidoczny dla ChatGPT i Perplexity.
Darmowe konto — klasyfikacja trybu renderowania, słowa kluczowe pomijane przez boty oraz sposób zamknięcia luki.