← Wszystkie testy
AEOTypowa waga: Średni

Treść dostępna bez JavaScript

Wykrywa, czy Twoja strona to niemal pusta SPA bez JS, której crawlery AI nie mogą zaindeksować ani zacytować.

Co sprawdza

Ten skaner wykrywa, czy twoja strona to aplikacja jednostronicowa (SPA), która przychodzi niemal pusta, gdy ładowana jest bez uruchamiania JavaScriptu. Sprawdza, ile prawdziwej treści jest dostępne, zanim przeglądarka przetworzy kod.

Dlaczego to ważne

Wiele crawlerów AI i wyszukiwarek nie uruchamia JavaScriptu, więc jeśli twoja treść pojawia się dopiero po załadowaniu jej przez JS, dla nich twoja strona jest pusta i nie mogą jej zindeksować ani zacytować. Jest to bardzo częste na stronach budowanych nowoczesnymi frameworkami przez vibe coderów, którzy nawet o tym nie wiedzą.

Jak to naprawić

Użyj renderowania po stronie serwera (SSR) lub generowania statycznego (SSG), żeby HTML przychodził już z głównym tekstem i linkami. Większość nowoczesnych frameworków oferuje tę opcję; jej włączenie gwarantuje, że zarówno Google, jak i AI zobaczą twoją prawdziwą treść.

Jak działa ta kontrola

Scanaris pobiera HTML Twojej strony dokładnie tak, jak serwuje go serwer, bez uruchamiania JavaScriptu, usuwa z niego skrypty, style, znaczniki noscript, szablony i SVG, i mierzy, ile widocznego tekstu zostaje w body. Otwiera ustalenie, o średniej wadze, tylko gdy spełnione są dwa warunki naraz: ten tekst ma mniej niż 250 znaków, a HTML zawiera pusty kontener aplikacji jednostronicowej, czyli <div> z id root, app, __next, __nuxt lub q-app bez niczego w środku. Strona z renderowaniem po stronie serwera lub generowaniem statycznym ma tekst w początkowym HTML-u i nigdy nie jest oznaczana; strona z małą ilością treści, ale bez kontenera SPA, też nie. Próg jest celowo niski, żeby nie dawać fałszywych alarmów.

Dlaczego to ważne

Googlebot uruchamia JavaScript, ale w drugim przebiegu, który może trwać dniami i ma ograniczony budżet. Roboty asystentów AI (GPTBot, ClaudeBot, PerplexityBot) zasadniczo nie uruchamiają go wcale: czytają HTML, który dostają, i tyle. Jeśli Twój HTML to <div id="root"></div> i skrypt, dla nich Twoja strona jest pusta. Nie mogą indeksować tego, czego nie widzą, ani cytować tego, czego nie czytają, więc gdy ktoś pyta ChatGPT o Twoją kategorię produktu, nie istniejesz. To najczęstszy problem stron zrobionych narzędziami AI, które generują czysto kliencką aplikację React lub Vue, i najbardziej niewidoczny, bo w przeglądarce wszystko wygląda idealnie.

Jak to naprawić

  • Włącz renderowanie po stronie serwera. W Nuxt jest domyślnie włączone (ssr: true); jeśli je wyłączyłeś, włącz ponownie. W Next.js App Router renderuje na serwerze, chyba że oznaczysz komponent 'use client' na samej górze. W czystym Vite z Reactem lub Vue nie ma SSR: przejdź na Next.js, Remix, Nuxt lub Astro albo generuj publiczne strony jako statyczny HTML.
  • Jeśli migracja nie wchodzi w grę, prerenderuj: wygeneruj HTML publicznych ścieżek w czasie builda (Nuxt nitro.prerender, eksport statyczny Next.js, Astro domyślnie) albo użyj usługi prerenderingu, która serwuje botom wyrenderowany HTML.
  • Co najmniej umieść kluczową treść w HTML-u: nagłówek, opis tego, co robisz, i główne linki, nawet jeśli aplikacja zastąpi je przy ładowaniu. To właśnie zobaczą boty.
  • Sprawdź strony, które mają znaczenie, nie tylko główną: blog i strony produktów to te, które cytują asystenci.

Sprawdź, czy naprawione

curl -s https://twojadomena.pl | sed -e 's/<script[^>]*>.*<\/script>//g' -e 's/<[^>]*>/ /g' | tr -s ' \n' ' ' | wc -c

Jeśli wynik zatrzymuje się na kilkudziesięciu znakach, treść rysuje JavaScript. Powinno być ich tysiące. Inny sposób: w przeglądarce wyłącz JavaScript w narzędziach deweloperskich i odśwież; to, co widzisz, widzą boty.

Często zadawane pytania

Google indeksuje mnie dobrze. Dlaczego ma mnie to obchodzić?

Bo coraz więcej osób pyta asystenta zamiast szukać, a ci asystenci nie uruchamiają Twojego JavaScriptu. I bo nawet w Google opóźnione renderowanie o dni opóźnia indeksowanie Twoich zmian. Liczby i powody są w dlaczego aplikacje zbudowane z AI są niewidoczne dla AI.

Moja aplikacja to prywatny panel za logowaniem. Czy to mnie dotyczy?

Nie: to, co jest za uwierzytelnianiem, nie powinno być indeksowane. Ta kontrola ma znaczenie dla stron publicznych, tych, które chcesz pokazać. Jeśli Twoja strona to tylko panel plus landing, zrób z landingu HTML.

Mam SSR, a i tak wychodzi mało tekstu.

W takim razie HTML niesie strukturę, ale mało prawdziwej treści, i warto sprawdzić, czy landing w ogóle coś mówi. Nagłówki, które porządkują tę treść, sprawdza nagłówki.

Sprawdź to na swojej stronie

Przeskanuj swoją stronę za darmo i zobacz, czy ten i 44 inne testy przechodzą, z promptem naprawczym dla każdego problemu.

Przeskanuj moją stronę za darmo

Z bloga

Powiązane testy