Dlaczego boty AI widzą stronę bez JavaScriptu

GPTBot, ClaudeBot i PerplexityBot pobierają pliki JavaScript, ale ich nie wykonują. Tak wynika z analizy ruchu robotów, którą Vercel i MERJ opublikowali w grudniu 2024 r. Dostają więc tylko to, co serwer wysłał w HTML. Googlebot i Applebot wykonują JavaScript, dlatego strona może być dobrze widoczna w Google i jednocześnie pusta dla ChatGPT albo Claude.

Narzędzie pobiera stronę dokładnie tak: wysyła zapytanie z user-agentem wybranego bota i analizuje HTML bez uruchamiania skryptów. Jeśli treść pojawia się dopiero po wczytaniu aplikacji w React, Vue albo Angularze, zobaczysz tu pustą stronę albo sam komunikat o włączeniu JavaScriptu.

Jak czytać wynik

  • Słowa bez JS to liczba słów treści, które bot dostaje w HTML. Poniżej 50 słów strona jest dla niego praktycznie pusta.
  • Udział treści to stosunek wagi treści w Markdown do wagi całego HTML. Im niższy, tym więcej kodu bot musi pobrać i odsiać, żeby dotrzeć do treści. To szacunek kosztu pobrania, a nie wskaźnik, którego używa Google.
  • Treść w Markdown pokazuje stronę po odrzuceniu menu, stopki i kodu. Jeśli czytając ją, nie wiesz, czego dotyczy strona i dla kogo jest oferta, model też tego nie wyczyta.
  • Nagłówki i dane strukturalne pokazują szkielet strony. Jeden H1 i logiczna kolejność H2 i H3 ułatwiają podzielenie treści na fragmenty, które model może zacytować.

Czego narzędzie nie sprawdzi

Nie porównuje strony z wersją po wykonaniu JavaScriptu, bo do tego potrzebna jest przeglądarka uruchomiona na serwerze. Jeśli treść jest w HTML, ten wynik wystarczy. Jeśli jej nie ma, sprawdź w przeglądarce, ile treści pojawia się po wczytaniu skryptów, i porozmawiaj z programistami o renderowaniu po stronie serwera.

Zapytanie wychodzi z serwera bajsarowicz.pl. Zapora, która weryfikuje boty po adresie IP, może odrzucić test, choć wpuszcza prawdziwego GPTBota. Wtedy wybierz „Przeglądarka (Chrome)”, żeby zobaczyć treść, a dostęp botów sprawdź w testerze robots.txt i botów AI.