7 wrz 2026

Na jaki rynek mierzy Cię darmowy audyt widoczności w AI? Nasz pierwszy domyślny wybór podpowiadał Polskę i wypadł przed wdrożeniem

Opcja „rynek docelowy” na /pl/aeo-audit zmienia regionalne słownictwo pytań testowych, a nie ich język — język bierze się z atrybutu lang Twojej strony. Pierwsza wersja tego przełącznika po cichu podstawiała Polskę na /pl i Niemcy na /de; niezależny przegląd złapał ją przed jakimkolwiek wdrożeniem, a od commitu z błędem do commitu z poprawką minęły 2 godziny i 17 minut. Zapis tego, co ten przełącznik naprawdę robi.

Na jaki rynek mierzy Cię darmowy audyt widoczności w AI? Nasz pierwszy domyślny wybór podpowiadał Polskę i wypadł przed wdrożeniem

Wybór rynku w darmowym audycie Webappski zmienia regionalne słownictwo pytań testowych, a nie ich język. Język pytań bierze się wyłącznie z atrybutu lang Twojej strony. Pierwsza wersja tego przełącznika podstawiała Polskę na /pl bez pytania — usunęliśmy ją tego samego dnia, zanim cokolwiek trafiło na produkcję.

Zastrzeżenie na wstępie, a nie w przypisie. Webappski zarabia na audytach i wdrożeniach widoczności w wyszukiwarkach AI, a narzędziem opisywanym w tym tekście jest nasz własny darmowy checker. Materiał o jego wewnętrznej mechanice jest więc jednocześnie materiałem sprzedażowym. Dlatego trzymamy się rzeczy sprawdzalnych z zewnątrz: cytujemy dosłowne linie kodu z naszego publicznego pakietu npm, podajemy komendy, którymi sprawdzisz nasze twierdzenia na żywo, i osobno oznaczamy to, co pochodzi wyłącznie z naszego wewnętrznego zapisu.

Druga granica jest równie ważna. Ta poprawka nie dotyczy widoczności ani cytowań — nie twierdzimy, że po niej ktokolwiek jest częściej cytowany przez ChatGPT czy Gemini, i nie ma tu żadnego pomiaru „przed i po”. Zmieniliśmy domyślne ustawienie formularza i treść trzech komunikatów, czyli uczciwość interfejsu wobec tego, co silnik naprawdę robi. To inna kategoria pracy niż odzyskiwanie widoczności i mieszanie ich byłoby nadużyciem.

Trzecia granica dotyczy skali. Wersja z domyślnym wyborem rynku nigdy nie została wdrożona: żyła 2 godziny i 17 minut na niewypchniętej gałęzi roboczej, między commitem o 15:15 a poprawką o 17:32 4 września 2026. Ostatnie wdrożenie przed tym oknem poszło 3 września o 13:28, najbliższe następne — 5 września o 10:40 i zawierało już poprawkę (wszystkie godziny w tym tekście podajemy czasu polskiego). Żaden odwiedzający nie zobaczył tamtej wersji. Opisujemy wewnętrzne potknięcie złapane przez przegląd, nie incydent produkcyjny.


Co dokładnie zmienia opcja „rynek docelowy” w darmowym audycie?

Zmienia jedną linijkę w podpowiedzi, z której model wymyśla pytania zakupowe: listę sygnałów geograficznych. Nic poza nią. Nie zmienia języka pytań, nie zmienia doboru silników, nie zmienia kategorii produktu odczytanej z Twojej strony.

Rynek docelowy w audycie widoczności w AI to deklaracja, którego kupującego symulujemy podczas wymyślania pytań. Sprawdzenie polega na tym, że zadajemy silnikom pytania, które realnie zadaje człowiek szukający produktu z Twojej kategorii, i patrzymy, czy w odpowiedzi pada nazwa Twojej marki. Pytanie „najlepszy CRM dla małej firmy” brzmi w Niemczech i w Polsce inaczej nie tylko językowo — inne są nazwy kategorii, inne skróty, inne punkty odniesienia. Rynek docelowy wybiera ten zestaw przyzwyczajeń.

W kodzie jest to zamknięty słownik: kod rynku z formularza mapuje się na jedną nazwę kraju po angielsku, tę samą, której używa automatyczne wykrywanie.

Opcje selektora rynku na /aeo-audit i sygnał, który trafia do podpowiedzi silnika (stan na 7 września 2026).
Opcja w formularzuKod na łączuSygnał podany modelowi
Wykryj automatyczniepole w ogóle nie jest wysyłaneto, co wykryje automat z Twojej domeny i treści
PolskaPLPoland
NiemcyDEGermany
AustriaATAustria
SzwajcariaCHSwitzerland
Wielka BrytaniaUKUnited Kingdom
Stany ZjednoczoneUSUnited States
Bez jednego rynku (globalnie)GLOBALpusta lista — sygnał geograficzny nie pojawia się w podpowiedzi wcale

Dwie pozycje z tej tabeli wyglądają podobnie i znaczą co innego. „Bez jednego rynku” to twierdzenie pozytywne — „oceń mnie tak, jak oceniłby kupujący międzynarodowy, bez regionalnego przechyłu”. „Wykryj automatycznie” to brak twierdzenia: pole nie jest wysyłane, więc serwer robi dokładnie to, co robił przed dodaniem tego przełącznika. Formularz na automacie nie wysyła pustej wartości ani zera — po prostu nie ma w nim tego klucza.

Wybór z listy jest zamknięty nie dla wygody, tylko dla bezpieczeństwa. Wartość ląduje w podpowiedzi dla modelu językowego, więc gdyby przechodziła z przeglądarki jako dowolny tekst, byłoby to wstrzykiwanie instrukcji do promptu okrężną drogą. Przeglądarka wysyła krótki kod, a widoczną w podpowiedzi angielską nazwę kraju wybiera serwer z własnej tabeli. Kodu spoza listy serwer nie odrzuca z hukiem — po prostu traktuje zapytanie tak, jakby rynku nie wybrano.

Tak wygląda fragment podpowiedzi, do którego to wszystko prowadzi. Obie linie pochodzą z publicznego pakietu npm aeo-platform w wersji 1.7.1, czyli tej, która stoi w naszych funkcjach. Możesz je odczytać sam: npm pack aeo-platform@1.7.1.

// lib/init/research/brainstorm.js — sygnał geograficzny
Geographic signals: ${geoTags.join(', ')}. Consider region-specific terminology where relevant.

// lib/init/research/brainstorm.js — język, osobna linia tej samej podpowiedzi
LANGUAGE: ${site.lang || 'en'}

// lib/init/fetch-site.js — skąd bierze się site.lang
const lang = get(/<html[^>]*\blang=["']([^"']+)["']/i) || 'en';

W jakim języku audyt zadaje pytania o Twoją markę?

W języku, który Twoja strona deklaruje w atrybucie lang znacznika <html>. Gdy tego atrybutu nie ma, silnik przyjmuje angielski. Wybór rynku nie ma na to żadnego wpływu — to dwie niezależne linie tej samej podpowiedzi.

Praktyczna konsekwencja bywa zaskakująca. Strona z lang="en", dla której wybierzesz rynek Polska, dostanie pytania po angielsku, ale ułożone pod polskie realia zakupowe. To nie jest usterka — to dokładnie to, co robi zdanie „Consider region-specific terminology”. Jeśli chcesz pytań po polsku, decyduje deklaracja języka Twojej strony, a nie ten przełącznik.

Właśnie tu popełniliśmy drugi błąd, mniej widoczny od domyślnego wyboru i dłużej żyjący w tekście. Pierwsza wersja podpowiedzi pod selektorem brzmiała: „W języku tego rynku zadamy pytania zakupowe”. To była obietnica, której silnik nie realizuje. Poprawiliśmy ją w czterech wersjach językowych na opis tego, co dzieje się naprawdę.

Podpowiedź pod selektorem rynku na /pl/aeo-audit: przed i po poprawce z 4 września 2026.
WersjaTreśćDlaczego
pierwsza, nigdy niewdrożona„W języku tego rynku zadamy pytania zakupowe. Na automacie odczytamy rynek z Twojej strony — wybierz sam, jeśli domena go nie zdradza.”obiecywała zmianę języka, której ta opcja nie robi
obecna, na żywo„Nakierowuje pytania testowe na jeden rynek — na regionalne sformułowania, których kupujący tam faktycznie używają. Język pytań pozostaje taki, jak na Twojej stronie. Na automacie odczytamy rynek z Twojej strony.”opisuje sygnał geograficzny i wprost oddaje język stronie

Tę zmianę sprawdzisz jedną komendą, bez zaglądania w nasz kod: curl -s https://webappski.com/pl/aeo-audit | grep -o 'id="freeMarketHint"[^<]*<\/p>'. Wersja z obietnicą języka nie istnieje na żadnym adresie — została zastąpiona przed wdrożeniem.

Co wybór rynku zmienia, a czego nie zmienia w darmowym audycie.
Element pomiaruZależy od wyboru rynku?Od czego zależy naprawdę
Regionalne słownictwo pytańtaklista sygnałów geograficznych w podpowiedzi
Język pytańnielang w znaczniku <html> Twojej strony, domyślnie angielski
Kategoria produktuniepubliczna treść Twojej strony, odczytana osobnym krokiem
Zestaw silnikówniestały: ChatGPT i Gemini w trybie z dostępem do sieci
Wynik zapisany wcześniej dla tej domenynielimit powtórzeń liczony po samej domenie — patrz sekcja o wyniku z pamięci

Przełącznik w interfejsie jest obietnicą. Jeśli obiecuje więcej, niż robi silnik pod spodem, to nie jest funkcja — to jest zobowiązanie, którego nikt nie spłaci.


Skąd audyt wie, na jaki rynek patrzeć, gdy nic nie wybierasz?

Czyta to z badanej domeny, nigdy z Twojej lokalizacji ani z języka strony, na której akurat jesteś. Odwiedzający /pl/aeo-audit i odwiedzający /en/aeo-audit dostają dla tej samej domeny ten sam sygnał geograficzny.

Automat składa go z dwóch źródeł. Pierwsze to końcówka domeny — słownik obejmuje 26 krajowych rozszerzeń, w tym .pl, .de, .at, .ch. Drugie to treść strony: silnik szuka angielskich nazw tych samych krajów w tytule, w opisie meta i w pierwszych 1500 znakach tekstu strony głównej, a trzynastu nazw miast (między innymi Warsaw, Krakow, Gdynia, Berlin, Vienna) — w opisie meta i w tym samym fragmencie tekstu. Wszystko, co znajdzie, trafia na listę.

Z tego wynikają dwa realne przypadki brzegowe, i to one są powodem istnienia całego przełącznika. Pierwszy: polska firma na domenie .com, z angielską stroną i bez ani jednej nazwy kraju w pierwszych 1500 znakach — automat nie znajduje niczego, lista sygnałów jest pusta, a pytania powstają tak, jak ułożyłby je kupujący międzynarodowy. Drugi: strona, która w nagłówku wymienia obsługiwane rynki — „Berlin, Vienna, Warsaw” — i dostaje trzy sygnały naraz, choć realnie sprzedaje w jednym.

Ręczny wybór rynku zastępuje automat, a nie dokłada się do niego. To decyzja z jednego powodu: cała przesłanka tej opcji brzmi „automat odczytał moją stronę źle”. Sklejenie obu list dałoby modelowi Geographic signals: Germany, Poland, czyli sprzeczność zamiast odpowiedzi.


Dlaczego usunęliśmy domyślny wybór Polski na /pl?

Bo przy zasadzie „ręczny wybór zastępuje automat” domyślny wybór przestaje być podpowiedzią i staje się cichym nadpisaniem. Pierwsza wersja ustawiała PL na /pl/aeo-audit i DE na /de/aeo-audit — więc Polak sprawdzający niemiecką lub amerykańską domenę dostawał polskie realia zakupowe, a poprawnie wykryta geografia badanej strony była wyrzucana.

To jest lustrzane odbicie problemu, dla którego ta opcja powstała. Miała dać głos przypadkom, w których automat czyta stronę źle; w tamtej wersji sama zaczęła czytać źle, tyle że po cichu i bez ostrzeżenia, na nietkniętym formularzu.

Kluczowa jest tu asymetria, którą łatwo przeoczyć przy planowaniu takiej „życzliwej” wartości domyślnej. Dla jednoznacznie polskiej strony domyślne PL nie zmieniało nic — automat i tak wykrywał Polskę z końcówki .pl albo z treści. Jedyne przypadki, w których cokolwiek zmieniało, to domeny niejednoznaczne, czyli dokładnie te, w których wpisanie Polski na sztywno było zgadywaniem. Zysk zerowy tam, gdzie wiadomo; szkoda tam, gdzie nie wiadomo.

Przy okazji zniknęła druga usterka, którą przegląd zauważył osobno: migotanie formularza. Serwer renderował statyczny HTML z wartością „Wykryj automatycznie”, a po uruchomieniu skryptu w przeglądarce aplikacja przestawiała pole na „Polska”. Użytkownik widział, jak jego formularz sam się zmienia. Dziś statyczny HTML i formularz po hydratacji pokazują to samo.

Przebieg z 4 września 2026, według naszego wewnętrznego zapisu commitów i historii wdrożeń (godziny czasu polskiego).
GodzinaZdarzenie
3 września, 13:28ostatnie wdrożenie produkcyjne przed całą tą historią
4 września, 15:15commit z selektorem rynku — wraz z domyślnym PL/DE i podpowiedzią obiecującą język, na gałęzi roboczej
4 września, między jednym commitem a drugimniezależny przegląd kodu zgłasza domyślny wybór jako lustrzane odbicie błędu, który ta funkcja naprawia, i odnotowuje brak testu na ten przypadek
4 września, 17:32commit naprawczy: automat domyślnie na wszystkich czterech wersjach językowych, uczciwa podpowiedź, komunikat o wyniku z pamięci
5 września, 10:40pierwsze wdrożenie produkcyjne zawierające tę funkcję — od razu w wersji poprawionej

Znalazł to przegląd, nie autor. U nas obowiązuje prosta zasada: kto pisze zmianę, ten jej nie ocenia — diff czyta niezależny recenzent, na innym modelu, bez dostępu do samooceny autora. W tym wypadku recenzent nazwał dwie rzeczy naraz: cichy override oraz to, że żaden test nie sprawdzał przypadku „nieautomatyczna wartość domyślna plus niepasująca domena”. Druga uwaga jest tu ważniejsza od pierwszej, bo tłumaczy, dlaczego zielony zestaw testów nie chronił przed tym błędem.

Poprawka domyka to testami: zestaw dla selektora urósł z 7 do 11 przypadków. Nowe sprawdzają, że żadna z czterech wersji językowych nie podstawia rynku, że komunikat o wyniku z pamięci pojawia się wyłącznie przy ręcznym wyborze, i że podpowiedź nie obiecuje zmiany języka pytań. Każdy z nowych testów został wcześniej sprawdzony na czerwono — najpierw przywróciliśmy błąd, żeby zobaczyć, że test upada, i dopiero potem uznaliśmy go za wartościowy. Test, którego nikt nie widział czerwonego, nie jest dowodem niczego.


Co się dzieje, gdy Twoja domena była już wcześniej sprawdzana?

Dostajesz zapisany wynik poprzedniego sprawdzenia, a wybrany przed chwilą rynek nie został w nim użyty — i interfejs mówi to wprost. Limit powtórzeń liczymy po samej domenie; rynek nie wchodzi do klucza.

Bez tego komunikatu powstawałaby cicha nieprawda. Odwiedzający wybiera „Niemcy”, dostaje liczby policzone wczoraj na automacie i ma pełne prawo sądzić, że patrzy na wynik dla rynku niemieckiego. Dlatego na wyniku z pamięci — i tylko wtedy, gdy ktoś rzeczywiście ruszył selektor — pojawia się dodatkowa linia: „To zapisany wynik wcześniejszego sprawdzenia, więc ustawienie «Niemcy» nie zostało w nim użyte. Zastosujemy je przy kolejnym sprawdzeniu tej domeny”.

Ostatnie zdanie tego komunikatu jest obietnicą, więc sprawdziliśmy je w kodzie przed napisaniem, zamiast założyć. Po wygaśnięciu okna limitu zapytanie przechodzi dalej jak zwykłe, a wybrany rynek jedzie razem z nim do kroku wymyślania pytań. Kto nie ruszył selektora, nie zobaczy tej linii w ogóle — dokładanie komunikatu komuś, kto nie ma tego problemu, to wymyślanie problemu.


Jak sprawdzić, jaki rynek i język odczyta z Twojej strony dowolne narzędzie?

Cztery kroki, wszystkie do wykonania z zewnątrz, na cudzej i własnej domenie. Zajmują kilka minut i wymagają wyłącznie terminala. Warto je zrobić, zanim uwierzysz w jakikolwiek wynik „widoczności w AI” — nie tylko nasz.

  1. Sprawdź, jaki język deklaruje Twoja strona. curl -s https://twojadomena.pl/ | grep -o '<html[^>]*lang="[^"]*"'. Brak wyniku oznacza, że narzędzie przyjmie angielski — a Ty zobaczysz angielskie pytania o polską firmę i nie będziesz wiedział dlaczego.
  2. Policz, ile sygnałów geograficznych da się wyczytać z pierwszego ekranu. Otwórz źródło strony i przeczytaj tytuł, opis meta i pierwsze 1500 znaków tekstu tak, jak czyta je automat: same nazwy krajów i miast. Zero nazw przy domenie .com znaczy „brak rynku”. Trzy nazwy znaczą trzy rynki naraz — dla modelu to nie jest to samo co jeden.
  3. Zobacz, co narzędzie ustawia domyślnie. W naszym przypadku: curl -s https://webappski.com/pl/aeo-audit | grep -o '<option[^>]*value="[A-Za-z]*"'. Pierwsza pozycja listy jest wartością domyślną — u nas to „Wykryj automatycznie” na wszystkich czterech wersjach językowych.
  4. Przeczytaj, co narzędzie obiecuje przy tej opcji, i porównaj z wynikiem. Jeśli podpowiedź mówi o „pytaniach w języku rynku”, a w wyniku widzisz pytania po angielsku, to nie jest drobiazg redakcyjny — to znaczy, że interfejs opisuje inny silnik niż ten, który liczył Twój wynik.

Jeśli po tych czterech krokach okaże się, że automat czyta Twoją stronę inaczej, niż sprzedajesz — kolejność napraw jest odwrotna do intuicyjnej. Najpierw popraw to, co czyta robot: deklarację języka i obecność nazwy rynku w tytule, opisie meta i pierwszym ekranie. Ręczny wybór rynku w cudzym narzędziu zmienia tylko jeden pomiar; sygnał na Twojej stronie zmienia wszystkie, łącznie z tymi, których nigdy nie zobaczysz.


Czego ten tekst nie dowodzi?

Opisaliśmy mechanikę i jedną poprawioną nieuczciwość interfejsu. Poniżej lista rzeczy, których ten materiał nie rozstrzyga — żeby nie znaczył więcej, niż znaczy.

  1. Nic o widoczności. Ta zmiana nie poprawiła i nie pogorszyła niczyjej obecności w odpowiedziach AI. Nie ma tu pomiaru „przed i po”, bo nie ma czego mierzyć: zmieniło się ustawienie domyślne formularza i treść komunikatów.
  2. Nic o jakości wykrywania rynku. Nie mierzyliśmy, jak często automat trafia, a jak często się myli. Wiemy, z czego korzysta (końcówka domeny, nazwy krajów i miast w pierwszych 1500 znakach) i jakie ma przypadki brzegowe — to nie to samo co statystyka skuteczności.
  3. Nic o tym, czy regionalne słownictwo zmienia wynik pomiaru. Wiemy, że zmienia treść pytań, bo zmienia sygnał w podpowiedzi. Czy przez to Twoja marka pada w odpowiedziach częściej lub rzadziej — to osobne pytanie i osobny pomiar, którego nie wykonaliśmy.
  4. Język pytań pozostaje osobną, nieruszoną osią. Świadomie nie podpięliśmy do tego przełącznika wyboru języka; leży to u nas jako odłożone zadanie, nie jako rzecz zrobiona.
  5. Zapis wewnętrzny nie jest sprawdzalny z zewnątrz. Godziny commitów, treść przeglądu i liczba testów pochodzą z naszej historii repozytorium, która nie jest publiczna. Sprawdzalne z zewnątrz są: obecna treść podpowiedzi, lista opcji, wartość domyślna i cytowane linie pakietu aeo-platform na npm.

Najczęściej zadawane pytania

Czy muszę wybierać rynek, żeby sprawdzenie miało sens?

Nie. Automat jest wartością domyślną i dla jednoznacznej domeny — polskiej firmy na .pl z polską stroną — daje dokładnie ten sam sygnał, co ręczny wybór Polski. Rynek warto ustawić wtedy, gdy domena nie zdradza rynku: .com, strona po angielsku, brak nazw krajów w pierwszym ekranie.

Czy wybór rynku sprawi, że pytania będą po polsku?

Nie. Język pytań bierze się z atrybutu lang Twojej strony, a przy jego braku silnik przyjmuje angielski. Wybór rynku steruje wyłącznie regionalnym słownictwem. Na stronie z lang="en" wybór Polski daje angielskie pytania ułożone pod polskie realia zakupowe.

Czym różni się „Bez jednego rynku” od „Wykryj automatycznie”?

„Bez jednego rynku” to świadoma deklaracja: nie chcę żadnego regionalnego przechyłu. „Wykryj automatycznie” to brak deklaracji: pole nie jest wysyłane, a serwer czyta rynek z badanej domeny. Dla strony bez czytelnych sygnałów geograficznych obie opcje dadzą podobny efekt, ale znaczą co innego.

Czy narzędzie bierze pod uwagę, że jestem na polskiej wersji strony?

Nie i jest to celowe. Wersja językowa naszego serwisu nigdy nie ustawia rynku za Ciebie — sprawdzany jest Twój adres, a nie to, skąd na nas trafiłeś. Pierwsza wersja tej funkcji robiła inaczej i dlatego ją poprawiliśmy przed wdrożeniem.

Dlaczego wybrany rynek nie zadziałał na moim wyniku?

Bo to był wynik zapisany z wcześniejszego sprawdzenia tej samej domeny — limit powtórzeń liczymy po samej domenie, bez uwzględnienia rynku. Interfejs mówi to wprost w osobnej linii pod wynikiem. Przy kolejnym pełnym sprawdzeniu tej domeny wybrany rynek zostanie użyty.

Czy mogę wpisać własny rynek, którego nie ma na liście?

Nie, lista jest zamknięta. Wartość trafia do podpowiedzi dla modelu językowego, więc dowolny tekst z przeglądarki byłby wstrzykiwaniem instrukcji do promptu. Przeglądarka wysyła krótki kod, a nazwę kraju podstawia serwer z własnej tabeli.


Co możesz zrobić teraz?

Narzędziem z tej historii jest nasz darmowy audyt widoczności marki w AI: podajesz domenę i nazwę marki, a my pytamy ChatGPT i Gemini o Twoją kategorię i pokazujemy, czy w odpowiedzi pada Twoja nazwa. Bez zakładania konta. Rynek możesz zostawić na automacie — a jeśli Twoja domena nie zdradza rynku, wskaż go ręcznie i to będzie Twoja decyzja, nie nasza.

Dwa sąsiednie teksty dotyczą innych spraw i celowo ich tu nie mieszamy. O tym, jak nasz własny darmowy checker okazał się stroną-sierotą bez linków wewnętrznych, piszemy osobno — to problem indeksacji, nie ustawień formularza. O tym, jak zmiana modelu potrafi udawać spadek widoczności, też osobno — tam osią był przyrząd, tu jest nią rynek. Zakres stałej pracy opisuje strona usług AEO.

← Powrót do wszystkich wpisów