← Blog

Twoja strona może być świetna i całkowicie niewidzialna dla AI

Mateusz Rzetecki

Przez lata pracy nad widocznością organiczną nauczyłem się, że najdroższe problemy to zwykle te, których nikt nie sprawdza, bo wydają się zbyt podstawowe. Zespół pisze treści, dopracowuje strukturę, buduje autorytet - a potem okazuje się, że jedna linijka w konfiguracji serwera, ustawiona pięć lat temu przez osobę, której już nie ma w firmie, zamyka drzwi przed wszystkim.

Dziś cała branża rozmawia o tym, jak pisać treści pod wyszukiwanie AI. Prawie nikt nie zaczyna od pytania, czy AI ma do tych treści dostęp. To odwrócona kolejność. Optymalizacja treści dla systemu, który nie może jej pobrać, to najdroższy sposób na zmarnowanie kwartału.

Poniżej cztery miejsca, w których dostęp bywa zamknięty:

  • Trzy warstwy blokady - robots.txt, nagłówek X-Robots-Tag, znacznik meta robots
  • Ochrona przed botami - Cloudflare, WAF, reguły anty-scrapingowe
  • Treść dokładana JavaScriptem - bot dostaje pustą skorupę
  • Mapa strony i czas ładowania - nuda, która przesądza o pobraniu

Nie musisz mieć dostępu do serwera, żeby przejść tę listę. Wyjdziesz z niej z gotowymi pytaniami do działu IT.

To nie jedna blokada, tylko trzy warstwy

Każdy poradnik kończy się na robots.txt. Tymczasem informacja "nie indeksuj tego" może siedzieć w trzech niezależnych miejscach, a wystarczy jedno z nich, żeby strona zniknęła:

  • robots.txt - plik tekstowy w katalogu głównym domeny. Najbardziej znany i, wbrew pozorom, najrzadziej winny, bo jest widoczny i ktoś w końcu na niego patrzy.
  • Nagłówek HTTP X-Robots-Tag - ustawiany na poziomie serwera, CDN-a albo warstwy pośredniczącej. Nie widać go w kodzie strony i nie zobaczysz go, klikając "pokaż źródło". To najczęstszy powód sytuacji, w której robots.txt jest wzorowy, a strona i tak jest niewidzialna.
  • Znacznik meta robots w kodzie HTML - klasyczny scenariusz: środowisko testowe miało globalny noindex, żeby nie trafić do wyszukiwarek, po czym wraz z wdrożeniem pojechał on na produkcję i nikt tego nie wyłapał.

Te warstwy nie nadpisują się w intuicyjny sposób i nie ma między nimi hierarchii, na której można polegać. Trzeba sprawdzić wszystkie trzy, niezależnie od siebie.

Najczęstszy przebieg wygląda tak. Ktoś zgłasza, że firmy nie widać w odpowiedziach AI. Zespół otwiera robots.txt, widzi, że jest czysty, i zamyka temat, przechodząc do pracy nad treścią.

Przez kolejne miesiące powstają artykuły, których żaden bot nie pobiera, bo blokada siedzi piętro wyżej, w konfiguracji, do której nikt nie zajrzał. Koszt tej pomyłki to nie jedna linijka - to kwartał pracy zespołu.

Warto przy okazji sprawdzić, czy blokada nie dotyczy tylko części serwisu. Reguły potrafią obejmować konkretne katalogi i zdarza się, że wyłączony jest dokładnie ten, w którym mieszka blog albo baza wiedzy, czyli treść najbardziej wartościowa z punktu widzenia cytowania.

Nie każdy bot robi to samo, i to jest sedno sprawy

Tu popełnia się najwięcej błędów, więc zatrzymam się dłużej.

Pięć systemów, o które toczy się dziś gra - ChatGPT, Gemini, Claude, Perplexity i Google AI Overviews - nie oznacza pięciu botów w relacji jeden do jednego. Każdy dostawca wysyła kilka różnych, o różnych nazwach i całkiem różnych zadaniach:

  • OpenAI - GPTBot zbiera treści, które mogą posłużyć do trenowania modeli; OAI-SearchBot odpowiada za pokazywanie stron w wynikach wyszukiwania wewnątrz ChatGPT; ChatGPT-User wchodzi na stronę na żywo, gdy użytkownik zadał pytanie.
  • Anthropic - ClaudeBot zbiera dane treningowe; Claude-SearchBot buduje indeks wyszukiwania; Claude-User odwiedza stronę w reakcji na konkretne pytanie użytkownika.
  • Perplexity - PerplexityBot indeksuje strony po to, żeby móc je pokazać i podlinkować w odpowiedziach; Perplexity-User wchodzi na stronę na żywo. Perplexity zaznacza wprost, że żaden z tych dwóch nie zbiera treści do trenowania modeli.
  • Google - token Google-Extended w robots.txt decyduje o tym, czy treść może zostać użyta do trenowania modeli Gemini i do uzupełniania odpowiedzi.

Dlaczego to takie ważne? Bo blokada GPTBot i ClaudeBot nie usuwa cię z odpowiedzi ChatGPT ani Claude. To crawlery treningowe. Wydawcy, którzy zablokowali je z powodów licencyjnych, często myślą, że tym samym zniknęli z wyszukiwania AI - a nie zniknęli.

Działa też odwrotnie i to jest znacznie groźniejsze: firma, która chce być cytowana i sprawdziła tylko GPTBot, może mieć zamknięte drzwi przed dokładnie tymi botami, które odpowiadają za obecność w odpowiedziach.

Przy Google warto dodać jedno. Google podaje wprost, że Google-Extended nie wpływa ani na obecność strony w klasycznych wynikach wyszukiwania, ani na pozycje - nie jest sygnałem rankingowym. To o tyle istotne, że blokada tego tokenu bywa opisywana jako ryzykowna dla SEO. Nie jest. Jest natomiast decyzją dotyczącą Gemini i warto ją podjąć świadomie, a nie przy okazji.

To sprawdza za ciebie raport w pakiecie Pro. W ramach audytu GEO przechodzimy crawlery jeden po drugim i rozdzielamy je na dwie grupy: te odpowiedzialne za twoją widoczność w odpowiedziach (OAI-SearchBot, Claude-SearchBot, PerplexityBot, ChatGPT-User, Claude-User) i te treningowe (GPTBot, ClaudeBot, Google-Extended). Dostajesz nazwa po nazwie: kto ma wstęp, kto jest zablokowany i w której z trzech warstw siedzi blokada.

Nie zgaduj, które boty mają wstęp

W raporcie Pro przechodzimy wszystkie crawlery AI nazwa po nazwie - widocznościowe i treningowe - i pokazujemy, w której z trzech warstw siedzi blokada.

Sprawdź swoją domenę

Wniosek praktyczny jest prosty. Zanim zablokujesz albo odblokujesz cokolwiek, ustal, czego właściwie chcesz - nie brać udziału w trenowaniu modeli to jedna decyzja, a być cytowanym w odpowiedziach to zupełnie inna:

  • Nie chcesz zasilać zbiorów treningowych, ale chcesz być cytowany - blokujesz wyłącznie crawlery treningowe (kod niżej), a te odpowiadające za wyszukiwanie i pobieranie na żywo zostawiasz otwarte.
  • Zależy ci przede wszystkim na obecności w odpowiedziach - odblokowane muszą być OAI-SearchBot, Claude-SearchBot, PerplexityBot, ChatGPT-User i Claude-User. To je sprawdzaj w pierwszej kolejności, a nie GPTBot.

Pierwszy scenariusz w praktyce wygląda tak:

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Google-Extended
Disallow: /

Reszta, czyli między innymi OAI-SearchBot, Claude-SearchBot, PerplexityBot, ChatGPT-User i Claude-User, pozostaje wtedy nietknięta.

Jedno zastrzeżenie, o którym warto wiedzieć: Perplexity zaznacza, że Perplexity-User zwykle nie stosuje się do reguł z robots.txt, ponieważ jego wizyta jest inicjowana bezpośrednio przez użytkownika, który zadał pytanie. Boty działające na żądanie użytkownika bywają traktowane inaczej niż crawlery działające z własnej inicjatywy - nie zakładaj, że jeden wpis w pliku załatwia sprawę u wszystkich dostawców.

Nazwy botów zmieniają się częściej, niż zmienia się cokolwiek innego w tym temacie: dochodzą nowe, zmienia się ich rola. To nie jest konfiguracja, którą ustawia się raz.

Blokada, której nikt świadomie nie zakładał

Drugi po X-Robots-Tag powód cichej niewidzialności to ochrona przed botami:

  • Cloudflare i podobne warstwy ochronne
  • WAF i reguły anty-scrapingowe
  • limity ruchu, czyli rate limiting

Nikt nie konfiguruje tego z myślą o AI. Konfiguruje się to przeciwko scraperom i nadużyciom, a systemy AI wpadają w tę samą sieć, bo z perspektywy reguły wyglądają identycznie: automat, nietypowy user-agent, dużo żądań.

Objaw jest charakterystyczny: strona działa bez zarzutu w przeglądarce, ale nie da się jej pobrać programowo. Jeśli ktokolwiek w firmie mówił kiedyś "narzędzie nie może się dobić do naszej strony, ale u nas wszystko działa", to jest dokładnie ten przypadek.

To akurat sprawdzamy przy okazji każdego raportu - kiedy nasz crawler nie może pobrać strony, wskazujemy ochronę przed botami jako pierwszego podejrzanego, bo w praktyce najczęściej to właśnie ona.

Co bot widzi, zanim strona się złoży

Nowoczesne strony często dosyłają treść JavaScriptem już po wczytaniu szkieletu. Użytkownik nie widzi różnicy. Bot bywa, że widzi pustą skorupę.

Warto myśleć o tym jak o dwóch różnych wersjach tej samej strony: surowy HTML, który przychodzi z serwera, oraz HTML po wykonaniu skryptów, który ogląda człowiek. Im większa różnica między nimi, tym więcej treści jest poza zasięgiem części botów.

Najczęstsze ofiary to:

  • opisy produktów doładowywane asynchronicznie
  • treść ukryta w zakładkach
  • opinie i recenzje
  • cenniki
  • wszystko, co pojawia się dopiero po kliknięciu

Sprawdzisz to bez dostępu do serwera. Otwórz podgląd źródła strony - nie inspektora, tylko źródło - i poszukaj w nim swojego kluczowego akapitu. Jeśli go tam nie ma, to znaczy, że nie ma go też w wersji, którą dostaje bot.

To rozróżnienie bywa mylące, bo inspektor w przeglądarce pokazuje stronę już po wykonaniu skryptów i wszystko w nim wygląda poprawnie. Dlatego tak wiele zespołów jest przekonanych, że treść jest na miejscu.

Nie znaczy to, że trzeba przepisywać serwis. Wystarczy, żeby najważniejsze podstrony oddawały swoją zasadniczą treść od razu z serwera. Reszta może się doładowywać.

I to również jest częścią raportu Pro. Ręczny podgląd źródła odpowiada na pytanie "jest czy nie ma", ale nie mówi, ile treści właściwie ubywa. Dlatego pokazujemy obie wersje strony obok siebie: ile tekstu widać przed wykonaniem JavaScriptu, a ile po. Do tego dokładamy fragment tego, co realnie dostaje bot - surowy HTML, tak jak wygląda, zanim strona się złoży. To bywa moment, w którym dyskusja się kończy, bo zamiast rozmawiać o procentach, wszyscy patrzą na pustą skorupę i widzą dokładnie to samo, co widzi robot.

Mapa strony, czyli nuda, która działa

Cztery warunki, wszystkie banalne:

  • mapa strony istnieje
  • jest wskazana w robots.txt
  • jest aktualna
  • nie jest pusta

Nie ma tu nic ciekawego do opowiedzenia i właśnie dlatego ten punkt bywa pomijany latami. Przejście go zajmuje kwadrans i nie wymaga niczyjej zgody.

Szybkość, czyli powiedzmy sobie szczerze

Core Web Vitals - LCP, CLS, INP - to najsłabsze ogniwo tej listy i nie będę udawał inaczej.

Związek szybkości strony z cytowalnością w AI jest znacznie luźniejszy niż w klasycznym SEO. Cała branża sprzedaje dziś każdy stary punkt z audytów SEO jako "krytyczny dla AI" i czytelnicy zaczynają to wyczuwać.

Realny mechanizm jest inny i węższy: bot pobierający stronę na żywo, żeby odpowiedzieć na pytanie użytkownika, ma ograniczony czas. Strona, która ładuje się zbyt wolno, po prostu się w nim nie mieści. To wystarczający powód, żeby o szybkość zadbać, ale nie mylmy go z sygnałem rankingowym.

Lista do wysłania do IT

Skopiuj i wyślij jako pytania, nie jako polecenia:

  1. Czy w robots.txt blokujemy któregokolwiek z botów AI? Których dokładnie, po nazwie?
  2. Czy serwer, CDN albo warstwa pośrednicząca dokładają gdzieś nagłówek X-Robots-Tag?
  3. Czy któraś sekcja serwisu ma w kodzie meta robots z noindex, który został po środowisku testowym?
  4. Czy nasza ochrona przed botami odrzuca żądania po user-agencie? Co dokładnie jest na liście blokad?
  5. Czy kluczowa treść jest w surowym HTML, czy dokładana JavaScriptem?
  6. Czy mapa strony jest aktualna i wskazana w robots.txt?

Jeśli chcesz przejść to samodzielnie, powyższa lista wystarczy - to kwestia kilku godzin pracy i zero budżetu.

Jeśli wolisz mieć to sprawdzone od razu, robimy dokładnie taki audyt w pakiecie Pro (i w Premium, które go zawiera). Audyt GEO to 22 sprawdzenia, a wśród nich każdy punkt z powyższej listy:

  • które boty mają wstęp, a które są zablokowane i w której z trzech warstw
  • ile treści zostaje z twojej strony po odjęciu JavaScriptu wraz z fragmentem tego, co dostaje bot
  • czy ochrona przed botami nie odcina crawlerów AI
  • czy mapa strony jest na miejscu i czy strona mieści się w czasie

Osobno mierzymy realną obecność marki w ChatGPT, Gemini, Claude, Perplexity i Google AI Overviews - i pokazujemy, jak na tym tle wypada konkurencja.

Zobacz, co AI mówi o Twojej marce

Audyt GEO plus realny pomiar obecności w ChatGPT, Gemini, Claude, Perplexity i Google AI Overviews - z porównaniem do konkurencji.

Zamów raport widoczności

Ale nawet jeśli nic z nami nie zrobisz, przejdź tę listę. To najtańszy punkt w całym GEO i jedyny, w którym da się stracić wszystko przez jedną linijkę konfiguracji.

Mateusz Rzetecki

Brings over 16 years of experience in crafting and executing innovative SEO and content marketing strategies to enhance brand visibility and drive organic growth across diverse industries.