← Powrót do bloga
AEOScanaris Team · 5 min czytania · October 04, 2026

Dlaczego aplikacje tworzone przez AI są niewidoczne dla AI (i jak to naprawić)

Coraz więcej osób pyta ChatGPT, Claude'a czy Perplexity „jakie jest najlepsze narzędzie do X?", zamiast szukać w Google. Jeśli Twój produkt nie pojawia się w tych odpowiedziach, dla tej grupy odbiorców nie istniejesz. To nazywa się AEO (Answer Engine Optimization), a aplikacje tworzone przez AI startują z handicapem: przez sposób, w jaki generują je narzędzia, większość z nich pokazuje botom AI pustą stronę. Ten przewodnik wyjaśnia, dlaczego dotyka to właśnie tych aplikacji, jak to sprawdzić w dwie minuty i co naprawić w zależności od narzędzia, w którym budowałeś.

Dlaczego dotyka to właśnie aplikacji tworzonych przez AI

Lovable, Bolt, v0 i większość szablonów, z których korzysta Cursor, generują domyślnie SPA: aplikację jednostronicową na Vite i React, w której HTML docierający do przeglądarki jest niemal pusty, a JavaScript rysuje wszystko później. To właściwa architektura dla panelu za logowaniem, ale te narzędzia używają jej też do landinga, strony z cennikiem i bloga. Trzy konsekwencje:

  • Treści nie ma w HTML-u. Serwer wysyła <div id="root"></div> i niewiele więcej. To, co widzisz, buduje przeglądarka.
  • Metadanych też nie. Tytuł, opis i tagi do udostępniania są ustawiane z JavaScriptu, więc bot, który go nie wykonuje, widzi generyczny tytuł szablonu.
  • Jedna domena do wszystkiego. Część publiczna i prywatna dzielą kod i nikt nie zastanawia się, co powinno być czytelne z zewnątrz.

Pułapka polega na tym, że wiele crawlerów AI nie wykonuje JavaScriptu albo robi to z ograniczeniami. Googlebot renderuje, choć z opóźnieniem i ograniczonym budżetem; boty OpenAI, Anthropic czy Perplexity czytają przede wszystkim HTML taki, jaki przychodzi. Dla nich Twoja aplikacja to pusta kartka: nie mogą zrozumieć, co robisz, ani Cię zacytować.

Co bot widzi na Twojej stronie

To jest, niemal dosłownie, to, co crawler dostaje od aplikacji wygenerowanej jednym z tych narzędzi:

<!doctype html>
<html>
  <head>
    <title>Vite + React</title>
    <script type="module" src="/assets/index-a1b2c3.js"></script>
  </head>
  <body>
    <div id="root"></div>
  </body>
</html>

Ani jednego zdania o Twoim produkcie. Jeśli do tego szablon ma robots.txt, który blokuje crawlery, albo Twój CDN ma włączony tryb anty-botowy, drzwi są zamknięte podwójnie.

Jak sprawdzić, czy Cię to dotyczy (dwie minuty)

  • Pokaż źródło strony. Otwórz swoją stronę, prawy przycisk, „Pokaż źródło strony" (nie „Zbadaj", bo to pokazuje już wyrenderowany wynik). Poszukaj swojego nagłówka i akapitu. Jeśli ich nie ma, boty też ich nie widzą.
  • Bez JavaScriptu. Wyłącz go w przeglądarce i odśwież. To, co zostanie, widzi podstawowy bot.
  • Jako bot ChatGPT. Z terminala pobierz stronę z jego user agentem i policz słowa, które docierają:
curl -s -A "GPTBot" https://twojadomena.com/ | sed 's/<[^>]*>//g' | wc -w

Kilkadziesiąt oznacza, że treść żyje w JavaScripcie. Kilkaset oznacza, że dociera w HTML-u. Szczegóły, który bot co robi, znajdziesz w jak sprawdzić, czy ChatGPT widzi Twoją stronę.

Pięć rzeczy, które to naprawiają

1. Publiczna treść, która dociera w HTML-u

Nie musisz renderować po stronie serwera całej aplikacji; wystarczą strony, które AI ma zrozumieć: główna, produkt, cennik, blog, FAQ. Trzy drogi, od najmniej do najbardziej pracochłonnej:

  • Prerendering przy buildzie. Wtyczka prerender do Vite generuje pełny HTML dla każdej publicznej ścieżki w momencie budowania. Działa dobrze dla stron, które nie zmieniają się przy każdej wizycie.
  • Rozdzielenie strony i produktu. Landing, cennik i blog na stronie statycznej (Astro, Webflow, Framer, nawet Nuxt czy Next w trybie statycznym) pod twojadomena.com, a aplikacja jako SPA pod app.twojadomena.com. To najzdrowsza architektura i najbliższa temu, co robią dojrzałe produkty.
  • Migracja części publicznej do frameworka z SSR (Next.js, Nuxt, SvelteKit). Więcej pracy, ale problem znika na dobre.

2. Metadane w HTML-u, nie w JavaScripcie

Tytuł, opis i tagi Open Graph muszą być w początkowym HTML-u. Jeśli prerenderujesz albo rozdzielasz stronę, dostajesz to za darmo. Jeśli nie, przynajmniej wstaw do index.html prawdziwy tytuł i opis zamiast tych z szablonu.

3. Dane strukturalne, które mówią, czym jesteś

Blok JSON-LD z Organization i SoftwareApplication daje modelowi jednoznaczne fakty: nazwę, co robi, cenę, gdzie jest. Jeśli masz często zadawane pytania, oznacz je jako FAQPage. Jak to zrobić, przeczytasz w dane strukturalne: dlaczego AI cytuje jedne strony, a innych nie.

4. Plik llms.txt

Plik tekstowy w katalogu głównym domeny, który w jednym zdaniu streszcza, czym jesteś, i wymienia Twoje ważne strony. Nie jest obowiązkowy ani magiczny, ale to czysty punkt wejścia i zmusza Cię do napisania zdania, które definiuje Twój produkt. Masz do dyspozycji darmowy generator llms.txt.

5. Nieblokowanie botów przez przypadek

Sprawdź robots.txt: skopiowany szablon albo Disallow: / z fazy testów zamykają drzwi GPTBotowi, ClaudeBotowi i spółce. Sprawdź też tryb anty-botowy swojego CDN-a. Które crawlery AI dopuszczasz, zobaczysz w narzędziu do sprawdzania botów AI.

Czego nie potrzebujesz

Nie potrzebujesz, żeby AI widziała Twój prywatny panel: tego, co jest za logowaniem, nikt nie czyta, i tak ma być. Nie musisz też przepisywać aplikacji. Celem jest, żeby cztery czy pięć stron, które wyjaśniają, co robisz, były czytelne bez JavaScriptu, nic więcej.

Jak to mierzyć w czasie

Dwa sygnały. W logach serwera lub CDN-a filtruj po user agentach botów AI i sprawdzaj, jakich stron żądają; jeśli nie pojawia się żaden, najpierw sprawdź robots.txt. I raz w miesiącu pytaj ChatGPT, Claude'a i Perplexity o swoją kategorię i markę, a potem zapisuj, czy Cię wymieniają i czy dobrze Cię opisują. Ta runda to Twój punkt odniesienia; reszta to domysły.

Scanaris sprawdza to w 30 sekund

Filar widoczności dla AI w Scanaris sprawdza, czy Twoja treść jest czytelna bez JavaScriptu, czy metadane docierają w HTML-u, czy masz dane strukturalne i llms.txt oraz czy blokujesz boty AI w robots.txt. Dla każdego błędu dostajesz fix prompt do wklejenia w Lovable, Bolt lub Cursor z dokładną poprawką. A tracker widoczności codziennie pilnuje, czy pojawiasz się, gdy ktoś prosi o rekomendację w Twojej kategorii. Żeby zrozumieć pełny kontekst, zacznij od czym jest AEO.

Często zadawane pytania

Czy Google też widzi moją aplikację jako pustą?

Google renderuje JavaScript, ale w drugim przebiegu, który może trwać dni, i z ograniczonym budżetem na stronę. Aplikacja, która dociera pusta, indeksuje się gorzej i później. Naprawienie tego dla AI poprawia też Twoje SEO.

Czy Lovable, Bolt lub v0 mogą renderować po stronie serwera?

Domyślnie generują SPA. Praktyczne rozwiązanie to prerendering stron publicznych albo wyniesienie strony marketingowej na osobną stronę statyczną i zostawienie aplikacji na subdomenie.

Czy wystarczy opublikować llms.txt?

Nie. To przydatne uzupełnienie, ale jeśli HTML dociera pusty, bot nadal nie może przeczytać Twoich stron. Najpierw treść w HTML-u, potem reszta.

Jak radzi sobie twoja strona?

Pozwól Scanaris ją sprawdzić w 30 sekund, za darmo.

Przeskanuj moją stronę

Powiązane testy