3 wrz 2026

Zero na dziewięć: nasz darmowy checker był stroną-sierotą, a wyszukiwarki AI nie miały czego cytować

31 sierpnia 2026 trzy polskie sformułowania jednego zamiaru razy trzy silniki dały nam zero wzmianek i zero cytowań. Przyczyną nie była treść strony, tylko jej struktura: zero linków wewnętrznych, bo nasz komponent przycisku renderował przycisk, a nie link. Trzy naprawy tego samego dnia — i uczciwa granica: ponownego pomiaru jeszcze nie zrobiliśmy.

Zero na dziewięć: nasz darmowy checker był stroną-sierotą, a wyszukiwarki AI nie miały czego cytować

31 sierpnia 2026 nasz własny pomiar nie znalazł webappski.com w żadnej z dziewięciu odpowiedzi o darmowych checkerach widoczności w AI. Trzy polskie sformułowania, trzy silniki, zero wzmianek. Przyczyną nie była treść strony, tylko zero linków wewnętrznych do niej. Sprzedajemy audyty AEO i opisujemy tu własną stronę — konflikt interesów nazywamy na wstępie.

Rozwinięcie tego zastrzeżenia, zanim pójdą liczby. Webappski zarabia na audytach i wdrożeniach widoczności w wyszukiwarkach AI, a stroną, która w tym tekście okazuje się niewidoczna, jest nasz własny darmowy checker. Materiał o własnej porażce jest więc jednocześnie materiałem sprzedażowym. Dlatego trzymamy się wyłącznie liczb, które da się odtworzyć z zewnątrz, podajemy komendy do samodzielnego sprawdzenia i wprost oddzielamy to, co zmierzyliśmy, od tego, czego jeszcze nie wiemy.

Najważniejsza granica jest na początku, a nie w przypisie: nie twierdzimy, że po naprawach widoczność wróciła. Naprawy poszły 31 sierpnia 2026, ten tekst powstał kilka dni później i ponownego pomiaru tego samego klastra jeszcze nie wykonaliśmy. Historia kończy się na naprawie, nie na wyniku.


Co dokładnie pokazał pomiar z 31 sierpnia 2026?

Dziewięć komórek pomiaru — trzy polskie zapytania razy trzy silniki — dało zero wzmianek o marce Webappski i zero cytowań domeny webappski.com. To wycinek większego przebiegu: 50 pytań zakupowych razy trzy silniki, czyli 150 odpowiedzi, wykonanych naszym własnym narzędziem pomiarowym na naszych kluczach API.

Trzy zapytania klastra to jeden zamiar w dwóch kształtach. Pierwszy jest narzędziowy — „darmowy checker widoczności w AI”, czyli człowiek, który chce kliknąć i sprawdzić. Dwa pozostałe są przeglądowe — „najlepsze darmowe narzędzia do sprawdzenia widoczności marki w AI” oraz „topowe darmowe narzędzia do audytu widoczności firmy w ChatGPT” — czyli człowiek, który chce zestawienia. Silniki: ChatGPT w trybie z dostępem do sieci, Gemini w trybie z dostępem do sieci oraz Claude odpytywany ręcznie.

Klaster „darmowy checker widoczności w AI”, pomiar Webappski z 31 sierpnia 2026: 3 zapytania × 3 silniki = 9 odpowiedzi.
ZapytanieSilnikWzmianka o nasCytowań w odpowiedziKogo cytował (przykłady)
darmowy checker widoczności w AIChatGPTnie5evidio.pl, seohouse.pl/narzedzia/checker-llm, getattent.pl, superrank.pl, bitemediaseo.pl
darmowy checker widoczności w AIGemininie8ahrefs.com, frase.io, loamly.ai, meev.ai, seocrawl.ai, llmclicks.ai, widoczni.com
darmowy checker widoczności w AIClaude (ręcznie)nie0 wyłuskanychbrak adresów w treści; wymienione z nazwy m.in. Ahrefs, Semrush, Frase
najlepsze darmowe narzędzia do sprawdzenia widoczności marki w AIChatGPTnie0odpowiedź bez odsyłaczy
najlepsze darmowe narzędzia do sprawdzenia widoczności marki w AIGemininie20hubspot.com, frase.io, ahrefs.com, kamilslawinski.com, aleydasolis.com, wix.com
najlepsze darmowe narzędzia do sprawdzenia widoczności marki w AIClaude (ręcznie)nie0 wyłuskanychwymienione z nazwy m.in. HubSpot AI Search Grader, GetMentioned, AiVisible.pl
topowe darmowe narzędzia do audytu widoczności firmy w ChatGPTChatGPTnie5semrush.com/free-tools/ai-search-visibility-checker, ahrefs.com/ai-visibility-checker, openai.com/business/apps/conductor
topowe darmowe narzędzia do audytu widoczności firmy w ChatGPTGemininie19abcx.pl, kime.ai, arobis.ai, geoptie.com, diagnoseo.com, searchatlas.com
topowe darmowe narzędzia do audytu widoczności firmy w ChatGPTClaude (ręcznie)nie0 wyłuskanychwymienione z nazwy m.in. Otterly AI, Peec AI, AiVisible.pl

Dwie rzeczy w tej tabeli wymagają komentarza, żeby nie znaczyła więcej, niż znaczy. Po pierwsze, część adresów cytowanych przez ChatGPT miała doklejony parametr ?utm_source=openai — to ślad stosu wyszukiwania OpenAI, niekoniecznie indeksu Google. Po drugie, zera w wierszach Claude'a to w dużej mierze artefakt naszego sposobu zbierania danych: to zapis ręcznego odpytania, a nasz wyłuskiwacz cytowań szuka w tekście dosłownych adresów, więc odpowiedź, która wymienia narzędzia z nazwy i nie podaje linków, wychodzi z pomiaru jako zero cytowań. Kolumna „wzmianka” jest tu wiarygodniejsza od kolumny „cytowań”.

Ważny kontrast z tego samego przebiegu: marka pojawiła się w 20 ze 150 odpowiedzi, ale osiemnaście z tych wystąpień padło przy pytaniach o agencje AEO, jedno przy pytaniu o ceny agencji, a jedno u Claude'a przy niemieckojęzycznym odpowiedniku pytania o darmowy checker. Czyli: jako firmę silniki nas znały, jako narzędzie — nie. To wyklucza najprostsze wyjaśnienie typu „domena jest ukarana” i przenosi pytanie na konkretną stronę.

Strona może być poprawna, szybka i sensownie napisana, a mimo to nie być dla silnika odpowiedzi żadnym źródłem — bo nie ma jej w indeksie, z którego ten silnik czerpie.


Czym jest strona-sierota i dlaczego decyduje o widoczności w AI?

Strona-sierota, po angielsku orphan page, to podstrona serwisu, do której nie prowadzi żaden link wewnętrzny z innych stron tego serwisu. Można na nią wejść z bezpośredniego adresu i można ją mieć w mapie strony, ale w grafie połączeń witryny jest wyspą.

Robot wyszukiwarki chodzi po krawędziach tego grafu. Adres z mapy strony potrafi odwiedzić, ale liczba i jakość prowadzących do niego linków wewnętrznych to jeden z sygnałów, którymi wyszukiwarka wycenia, czy dokument jest na tyle ważny, żeby trzymać go w indeksie. Strona bez takich krawędzi zbiera w tym rachunku zero.

„Przeskanowana, obecnie nieindeksowana” (w angielskim interfejsie „Crawled — currently not indexed”) to status w Google Search Console, który mówi dokładnie to: robot był, treść pobrał, do indeksu jej nie wstawił. Strona w tym statusie odpowiada użytkownikowi kodem 200 i wygląda całkowicie zdrowo w przeglądarce.

Konsekwencja dla wyszukiwarek AI jest bezpośrednia. ChatGPT i Gemini w trybie z dostępem do sieci nie „pamiętają” Twojej strony — one wykonują wyszukiwanie i cytują to, co wróciło z indeksu. Dokument spoza indeksu nie jest kandydatem do zacytowania, niezależnie od tego, jak dobrze jest napisany. To dlatego przepisywanie treści na takiej stronie może nie dawać żadnego efektu przez wiele tygodni.

Stąd rozróżnienie, które okazało się u nas kluczowe: widoczność dla człowieka to przycisk w interfejsie, a widoczność dla robota to atrybut href w wygenerowanym HTML. Te dwie rzeczy potrafią się rozjechać do zera bez żadnego ostrzeżenia.


Dlaczego nasza strona była sierotą, mimo że przycisk do niej stał na stronie głównej?

Bo komponent przycisku renderował element <button>, a nie <a>, a dyrektywa routerLink w Angularze wystawia atrybut href wyłącznie na <a> i <area>. Przycisk działał dla człowieka: klik, nawigacja, checker. Dla robota nie było tam żadnej krawędzi, bo nie było żadnego adresu.

<!-- Widoczne dla człowieka, niewidoczne dla robota -->
<app-button [routerLink]="freeCheckLink()">Darmowy checker</app-button>
<!-- render: <button class="app-button">Darmowy checker</button>  ->  brak href -->

<!-- Widoczne dla obu -->
<a [routerLink]="freeCheckLink()">Darmowy checker</a>
<!-- render: <a href="/pl/aeo-audit">Darmowy checker</a> -->

Skala tego jednego szczegółu implementacyjnego: 31 sierpnia 2026, przed naprawą, do /pl/aeo-audit nie prowadził ani jeden link ze strony głównej, ze strony usług AEO, z cennika, z case studies, ze strony „o nas” ani z listy wpisów. Po jednym linku dawały tylko strona kontaktu i strona naszego narzędzia CLI — te dwie liczby zmierzyliśmy na wersji polskiej. Ten sam brak linków wewnętrznych dotyczył wersji angielskiej, niemieckiej i rosyjskiej tej samej strony.

To jest pułapka niezależna od frameworka. Wszędzie tam, gdzie „przycisk” jest komponentem, a nawigacja dzieje się w JavaScripcie, element może nie być linkiem w sensie HTML. Przycisk nie jest krawędzią w grafie witryny nawet wtedy, gdy robot uruchomi JavaScript — bo po wykonaniu skryptu nadal nie ma tam adresu do pójścia dalej. Dlatego audyt linkowania wewnętrznego robi się na HTML zwróconym przez serwer, a nie na wyglądzie strony.


Skąd wiemy, że przyczyną nie była treść strony?

Bo treść tej strony poprawialiśmy trzy razy bez żadnego efektu, a niezależny sygnał od samego Google wskazywał na indeksację, nie na słowa. To jest ta część diagnozy, którą łatwo pominąć: zanim uznasz przyczynę, sprawdź, czy hipoteza nie została już wcześniej obalona przez własną historię zmian.

Sygnał był zresztą starszy niż sierpniowy pomiar. Ten sam klaster — trzy polskie pytania o darmowe narzędzia razy trzy silniki, w nieco innym brzmieniu pytań — mierzyliśmy już 31 lipca 2026 i opublikowaliśmy wynik razem z własnym zerem: Webappski nie pojawiło się ani razu w dziewięciu odpowiedziach, a najczęściej wskazywanym źródłem było aivisible.pl z sześcioma wskazaniami. Poprawki treści z 2 sierpnia były właśnie odpowiedzią na tamto zero. Sierpniowy pomiar pokazał, że nie zadziałały — i dopiero to przesunęło diagnozę z tekstu na strukturę.

  • Trzy rundy poprawek tekstu bez efektu. 2 sierpnia 2026 przepisaliśmy nagłówek otwierający, tego samego dnia sekcję FAQ, a 31 sierpnia meta-opis. Pomiar z 31 sierpnia nadal dawał zero na dziewięć.
  • Własny eksport z Google Search Console z 17 sierpnia 2026 (dane Google z 10 sierpnia) wymieniał /pl/aeo-audit wprost na liście stron w statusie „Przeskanowana, obecnie nieindeksowana”. To nie jest nasza interpretacja, tylko odczyt z narzędzia Google.
  • To nie była wada jednej strony. W tym samym eksporcie w statusie „przeskanowana, nieindeksowana” siedziało 61 adresów, z czego 39 to realnie żywe strony z treścią, a 11 z nich to strony polskiej wersji serwisu. Czyli słabość indeksacji całego serwisu, w której nasz checker był jednym z przypadków — a nie jego osobisty defekt.
  • Test różnicujący. Wzięliśmy jedną stronę pewnie zaindeksowaną (nasza strona kontaktu) i jedną z listy „nieindeksowanych” (checker), po czym odpytaliśmy o nie wyszukiwarkę w czterech identycznych formach. Kontakt znajdował się za każdym razem, checker ani razu. Zastrzeżenie, które trzeba postawić przy tej metodzie: backend wyszukiwania nie honoruje operatora site: dosłownie, więc jest to wsparcie hipotezy, a nie dowód — rozstrzyga wyłącznie narzędzie sprawdzania adresu URL w Search Console.
  • Wykluczenie kary. W tym samym przebiegu, przy pytaniach o agencje AEO w Polsce, wszystkie trzy silniki wymieniały nas w części odpowiedzi. Domena nie była wyciszona jako całość.

Dodatkowo znaleźliśmy różnicę wobec konkurencji, która nie tłumaczy zera, ale osłabiała stronę na własny sposób. U polskiego konkurenta seohouse.pl/narzedzia/checker-llm fraza zamiaru stoi w tytule strony i w samym adresie — sprawdziliśmy to na żywo 3 września 2026 (tytuł: „Czy Twoja marka pojawia się w ChatGPT? – darmowy checker widoczności w LLM”). U nas fraza „checker widoczności marki w AI” była wtedy obecna wyłącznie w treści strony i w FAQ, ale nie było jej ani w tytule, ani w nagłówku H1, ani w adresie.


Co naprawiliśmy tego samego dnia?

Trzy rzeczy, wszystkie 31 sierpnia 2026: linki wewnętrzne do strony, fraza zamiaru w tytule i H1 oraz świeża data modyfikacji w mapie strony. Każdą z nich da się sprawdzić z zewnątrz jedną komendą — poniżej wersje gotowe do wklejenia.

Trzy naprawy z 31 sierpnia 2026 i sposób ich zewnętrznej weryfikacji.
NaprawaStan przedStan poJak sprawdzić samemu
Linki wewnętrzne do /xx/aeo-audit0 linków ze strony głównej, usług AEO, cennika, case studies, „o nas” i listy wpisównatywne <a> w stopce (obecnej na każdej stronie), na stronie głównej i na stronie usług AEO, we wszystkich czterech językachcurl -s https://webappski.com/pl | grep -o 'href="[^"]*aeo-audit[^"]*"'
Tytuł i nagłówek H1„Czy ChatGPT poleca Twoją markę? Darmowy audyt AEO” / H1 „Google Cię znajduje. A wyszukiwarki AI?”„Darmowy checker widoczności marki w AI — ChatGPT i Gemini” / H1 „Darmowy checker widoczności marki w AI. Czy zna Cię ChatGPT?”curl -s https://webappski.com/pl/aeo-audit | grep -o '<title>[^<]*'
Data modyfikacji w mapie stronylastmod = 2026-04-09, mimo zmian z 2 i 31 sierpnialastmod = 2026-08-31 dla czterech adresów /xx/aeo-auditcurl -s https://webappski.com/sitemap.xml | grep -A1 'pl/aeo-audit'

Naprawa linków jest celowo wąska. Nie przepisaliśmy komponentu przycisku w całym serwisie — to dotknęłoby dziesiątek powierzchni konwersji naraz i byłoby zmianą wysokiego ryzyka wykonaną przy okazji. Zamiast tego doszły trzy prawdziwe znaczniki <a> w miejscach, które i tak zapowiadały darmowe sprawdzenie: w stopce, pod sekcją usług na stronie głównej i przy zajawce cennika na stronie usług AEO. Szersza przebudowa komponentu została zapisana jako osobne zadanie, nie zrobiona.

Mapa strony też dostała mniej, niż mogłoby się wydawać. Nasz sitemap.xml jest utrzymywany ręcznie — nie ma generatora, który wiązałby datę modyfikacji ze zmianą kodu — więc dopisaliśmy test automatyczny pilnujący akurat tych czterech adresów. To jest podpórka, nie rozwiązanie; prawdziwy generator dat pozostaje otwartym zadaniem i mówimy o tym wprost, żeby nikt nie przeczytał tego akapitu jako „mamy to załatwione”.

Cała paczka to sześć commitów — pięć 31 sierpnia i jeden nazajutrz, po rundzie poprawek z przeglądu — przepuszczonych przez cztery niezależne przeglądy: przegląd kodu, przegląd wpływu na konwersję, przegląd spójności językowej czterech wersji i weryfikację końcową, która ponownie uruchomiła budowanie i testy na czystym katalogu. Dwie ich obserwacje warto wymienić, bo pokazują, jak łatwo taka zmiana wygląda na zrobioną, nie będąc zrobioną: dane strukturalne strony nadal niosły stary, wycofany tytuł, a istniejący test, który rzekomo pilnował widocznego nagłówka H1, przechodził w rzeczywistości przez pole w tych danych strukturalnych i nie sprawdzał nagłówka w ogóle. Obie rzeczy poprawiliśmy w tej samej rundzie.


Czego ta historia jeszcze nie dowodzi?

Nie wiemy, czy widoczność wróciła — od napraw z 31 sierpnia nie powtórzyliśmy pomiaru tego klastra. Poniżej pełna lista rzeczy, których ten tekst nie rozstrzyga.

  1. Brak ponownego pomiaru. Właściwy test to te same trzy zapytania na tych samych trzech silnikach po ponownym zaindeksowaniu strony. Powtórzymy go i zaktualizujemy ten wpis wraz z datą, także jeśli wynik będzie nadal zerowy.
  2. Gałąź ChatGPT może w ogóle nie zależeć od indeksu Google. Parametr ?utm_source=openai w cytowanych adresach wskazuje na własny stos wyszukiwania OpenAI. Naprawa indeksacji w Google nie musi jej dotyczyć — indeksacji w Bing (od której pochodne stosy bywają zależne) w tej sesji nie sprawdzaliśmy.
  3. Gałąź Claude'a nie jest rozstrzygnięta. Nasz sposób zbierania cytowań nie wyłapuje źródeł, gdy w odpowiedzi nie ma dosłownych adresów, więc dla tej gałęzi mamy wiarygodną informację o wzmiance i niewiarygodną o cytowaniach.
  4. Status indeksacji potwierdza wyłącznie Search Console. Test wyszukiwarką różnicuje poprawnie parę „strona zaindeksowana kontra nieindeksowana”, ale nie zastępuje narzędzia sprawdzania adresu URL.
  5. Linki wewnętrzne to warunek konieczny, nie wystarczający. Żadna z co najmniej piętnastu polskich stron, które w tym momencie realnie wyświetlały się na te zapytania — redakcyjnych zestawień agencyjnych i lądowań konkurencyjnych narzędzi — nie wspomina o nas ani razu. To osobna praca i osobny problem: sygnały zewnętrzne.

Jak sprawdzić u siebie, czy ważna strona nie jest sierotą?

Pięć kroków, wszystkie do wykonania z zewnątrz, bez dostępu do kodu serwisu poza ostatnim. Zajmują kilkanaście minut i wymagają wyłącznie terminala oraz konta w Search Console.

  1. Wypisz adresy, na których naprawdę zarabiasz — narzędzie, cennik, formularz kontaktu, strony usług. Sierota na blogu kosztuje mało; sierota na stronie produktu kosztuje wszystko.
  2. Policz linki prowadzące do każdego z nich z HTML zwróconego przez serwer, nie z widoku w przeglądarce: curl -s https://twojadomena.pl/ | grep -o 'href="[^"]*twoj-slug[^"]*"' | wc -l. Powtórz dla strony głównej, strony usług i cennika. Zero to sierota — nawet jeśli na każdej z tych stron widzisz przycisk.
  3. Sprawdź status w Google Search Console narzędziem sprawdzania adresu URL. To jedyne autorytatywne źródło informacji, czy strona jest w indeksie. „Przeskanowana, obecnie nieindeksowana” przy stronie z linkami zerowymi to niemal zawsze ta sama historia.
  4. Porównaj lastmod w mapie strony z realną datą ostatniej edycji. Data sprzed pół roku przy stronie zmienianej w zeszłym tygodniu mówi robotowi, że nie ma po co wracać.
  5. Sprawdź, czy fraza zamiaru stoi w tytule i w H1, a nie tylko w treści. Otwórz dwie karty: swoją stronę i stronę konkurenta, który wychodzi w odpowiedziach AI na to zapytanie. Porównaj tytuły, nagłówki H1 i adresy — u nas różnica była we wszystkich trzech miejscach naraz.

Kolejność ma znaczenie i wynika z naszej pomyłki. Zgłoszenie strony do ponownego zaindeksowania przed dodaniem linków wewnętrznych zwykle kończy się powrotem do tego samego statusu — najpierw krawędzie w grafie, potem prośba o indeksację.


Najczęściej zadawane pytania

Czy brak linków wewnętrznych naprawdę może wyłączyć stronę z odpowiedzi AI?

Pośrednio, przez indeks. ChatGPT i Gemini w trybie z dostępem do sieci cytują to, co wraca z wyszukiwania, więc strona spoza indeksu nie jest kandydatem do zacytowania. Brak linków wewnętrznych to jedna z częstych przyczyn statusu „przeskanowana, nieindeksowana”, a nie bezpośredni sygnał dla modelu.

Co dokładnie znaczy status „Przeskanowana, obecnie nieindeksowana”?

Że robot Google pobrał treść strony i zdecydował jej nie umieszczać w indeksie. Strona żyje, zwraca kod 200 i wygląda normalnie w przeglądarce — nie da się tego zobaczyć bez Search Console.

Czy przycisk z routerLink to link dla robota?

Nie. routerLink w Angularze wystawia atrybut href tylko na <a> i <area>. Przycisk nawiguje przez JavaScript i nie tworzy krawędzi, po której robot mógłby pójść dalej. Ten sam problem dotyczy każdego frameworka, w którym CTA jest komponentem przycisku.

Czy po tych naprawach widoczność wróciła?

Nie wiemy i nie twierdzimy, że tak. Naprawy poszły 31 sierpnia 2026, ponownego pomiaru jeszcze nie wykonaliśmy. Kiedy go zrobimy, dopiszemy wynik do tego tekstu razem z datą — również w wersji negatywnej.

Czy sama zmiana tytułu i H1 wystarczy, żeby AI zaczęło cytować stronę?

Nie. U nas kolejność przyczyn wygląda odwrotnie: dopóki strona nie jest w indeksie, treść nagłówków nie ma jak zadziałać. Fraza zamiaru w tytule i H1 pomaga dopasować stronę do pytania, ale dopiero wtedy, gdy strona jest w ogóle dostępna jako źródło.

Ile linków wewnętrznych powinno prowadzić do ważnej strony?

Nie znamy progowej liczby i nie będziemy jej zmyślać. Praktyczna zasada, którą zastosowaliśmy u siebie: jeden link ze stopki, czyli obecny na każdej stronie serwisu, plus po jednym z dwóch najważniejszych stron w tej ścieżce zakupowej — u nas strony głównej i strony usług.

Czy ta historia dotyczy tylko serwisów w Angularze?

Nie. Mechanizm jest wspólny dla każdej aplikacji jednostronicowej, w której nawigację obsługuje JavaScript, a przyciski są komponentami. Sprawdzian jest zawsze ten sam: obejrzyj HTML zwrócony przez serwer i policz w nim atrybuty href.


Co możesz zrobić teraz?

Stroną z tej historii jest nasz darmowy checker widoczności marki w AI: wpisujesz domenę i sprawdzasz, czy ChatGPT i Gemini znają Twoją markę. Bez zakładania konta. Uczciwe zastrzeżenie do tego akapitu: odsyłacz, który właśnie przeczytałeś, jest kolejnym linkiem wewnętrznym do tej samej strony, czyli dokładnie tym rodzajem sygnału, którego jej brakowało. Mówimy o tym wprost, bo materiał o linkowaniu wewnętrznym, który po cichu robi linkowanie wewnętrzne, zasługuje na przypis.

Szerszy kontekst tej samej pracy jest w dwóch innych tekstach: w przeglądzie czternastu darmowych narzędzi do sprawdzania widoczności marki w AI oraz w pełnym raporcie z naszego pomiaru 50 pytań na trzech silnikach. Pełną ofertę audytu i wdrożenia trzymamy na stronie usług AEO.

← Powrót do wszystkich wpisów