GEO i AEO

Robots.txt dla AI-crawlerów: praktyczny przewodnik

5 min czytania·WeArkMedia·

W zeszłym miesiącu analizowałem logi serwera klienta z branży e-commerce i zobaczyłem coś zaskakującego: GPTBot wykonał 40 000 zapytań miesięcznie, ClaudeBot 12 000, a PerplexityBot zaglądał co kilka minut. Żaden z tych crawlerów nie był wymieniony w ich robots.txt. Zespół nawet nie wiedział, że takie boty istnieją — a co dopiero, żeby jakoś na nie reagować. To problem, z którym mierzy się teraz większość firm: Twój robots.txt jest prawdopodobnie nadal napisany z myślą o Googlebot i Bingbot, tymczasem zupełnie nowa armia crawlerów indeksuje Twoją stronę na potrzeby ChatGPT, Claude i Perplexity.

Ten artykuł to praktyczny przewodnik, nie teoria. Pokażemy Ci dokładnie, które user-agenty musisz znać i jak je skonfigurować, a do tego podzielimy się naszą własną implementacją (app/robots.ts), której używamy w projektach WeArkMedia.

Dlaczego robots.txt działa dziś inaczej niż pięć lat temu

Robots.txt istnieje od 1994 roku i zawsze robił jedno: mówił crawlerom, które ścieżki mogą odwiedzać, a które nie. Prosto, statycznie, przewidywalnie. Problem w tym, że założenia stojące za tym plikiem przestały się zgadzać.

Tradycyjne crawlery, takie jak Googlebot, indeksują Twoje strony, żeby uszeregować je na liście wyników. W zamian dostajesz ruch z kliknięć. AI-crawlery działają zupełnie inaczej: GPTBot, ClaudeBot i PerplexityBot pobierają treści, by przetworzyć je w danych treningowych albo wygenerować odpowiedź w czasie rzeczywistym w interfejsie czatu. Użytkownik może i zobaczy Twoją markę, ale często nigdy nie kliknie na Twoją stronę.

To całkowicie zmienia rachunek korzyści i strat. Jeśli zablokujesz te boty, Twoja firma po prostu przestanie istnieć w odpowiedzi, którą użytkownik dostaje, gdy pyta ChatGPT albo Perplexity o produkty w Twojej branży. Jeśli natomiast bez zastanowienia wpuścisz wszystkie, możesz oddać całą swoją bibliotekę treści bez żadnej kontroli nad tym, jak zostanie wykorzystana. Właściwa strategia leży gdzieś pośrodku i musisz wybrać ją świadomie — a nie pozwolić, żeby wydarzyła się przypadkiem, bo robots.txt nigdy nie był aktualizowany.

Jeśli chcesz zrozumieć, jak te crawlery dokładnie znajdują i przetwarzają Twoją stronę, ten przewodnik GEO o tym, jak ChatGPT znajduje strony internetowe będzie dobrym uzupełnieniem tego artykułu.

Najważniejsze AI-crawlery, które musisz znać

Zanim cokolwiek skonfigurujesz, musisz wiedzieć, kto dokładnie Cię odwiedza. Oto crawlery, które w 2026 roku mają największe znaczenie.

GPTBot (OpenAI)

GPTBot to crawler, którego OpenAI używa do zbierania treści na potrzeby treningu oraz generowania odpowiedzi w ChatGPT, w tym funkcji przeglądania. User-agent: GPTBot. OpenAI publikuje zakresy IP tego crawlera, co ułatwia weryfikację ruchu w logach.

ClaudeBot (Anthropic)

ClaudeBot indeksuje treści na potrzeby modeli Claude od Anthropic. Istnieje też wariant anthropic-ai, używany do pobierania treści podczas interakcji z użytkownikiem (np. wyszukiwanie w sieci w Claude). Oba user-agenty warto obsługiwać osobno, bo służą różnym celom.

PerplexityBot

Perplexity to dziś poważne źródło ruchu z AI — przede wszystkim dlatego, że odpowiada z bezpośrednim podaniem źródeł, często z klikalnym linkiem do Twojej strony. Dzięki temu PerplexityBot to jeden z niewielu AI-crawlerów, których wpuszczenie prawie zawsze się opłaca, bo realnie generuje ruch polecający, a nie tylko ekstrakcję treści.

Pozostałe istotne crawlery

  • Google-Extended — decyduje o tym, czy Google może wykorzystywać Twoje treści w Gemini i AI Overviews, niezależnie od zwykłego indeksowania przez Googlebot.
  • CCBot — crawler Common Crawl, którego zbiór danych wykorzystują liczne laboratoria AI do trenowania modeli.
  • Applebot-Extended — reguluje wykorzystanie Twoich treści przez Apple Intelligence.
  • Bytespider — powiązany z ByteDance (TikTok), agresywny w crawlrowaniu i często powód do niepokoju o obciążenie serwera.

Każdy crawler ma inny cel i inny model biznesowy za sobą. Dlatego jedna uniwersalna reguła „allow all” albo „disallow all” prawie zawsze będzie błędem.

Praktyczna implementacja: nasz własny robots.ts

W projektach WeArkMedia opartych na Next.js używamy dynamicznie generowanego pliku robots.txt przez app/robots.ts, zamiast statycznego pliku w katalogu public. Daje nam to elastyczność: reguły dla poszczególnych crawlerów definiujemy i zmieniamy bez wymuszania wdrożenia przy każdej modyfikacji.

import type { MetadataRoute } from 'next'

export default function robots(): MetadataRoute.Robots {
  return {
    rules: [
      {
        userAgent: '*',
        allow: '/',
        disallow: ['/admin/', '/api/', '/_next/'],
      },
      {
        userAgent: 'GPTBot',
        allow: '/',
        disallow: ['/admin/', '/api/'],
      },
      {
        userAgent: 'ClaudeBot',
        allow: '/',
        disallow: ['/admin/', '/api/'],
      },
      {
        userAgent: 'PerplexityBot',
        allow: '/',
      },
      {
        userAgent: 'Google-Extended',
        allow: '/',
      },
      {
        userAgent: 'Bytespider',
        disallow: '/',
      },
      {
        userAgent: 'CCBot',
        disallow: '/',
      },
    ],
    sitemap: 'https://wearkmedia.com/sitemap.xml',
  }
}

Dlaczego takie wybory

Świadomie wpuszczamy GPTBot, ClaudeBot i PerplexityBot na wszystkie publiczne treści, bo nasi klienci właśnie chcą być widoczni w odpowiedziach AI — to sedno pracy GEO/AEO. Bytespider blokujemy domyślnie, bo ten crawler słynie z agresywnego zachowania bez wyraźnej wartości dla większości europejskich firm. CCBot również często blokujemy, chyba że klient chce świadomie dokładać się do otwartych zbiorów treningowych — bo nie jest jasne, który model finalnie skorzysta z tych danych, a bezpośredniej atrybucji nie ma.

Ważny szczegół: robots.txt to prośba, a nie zamek w drzwiach. Poważne crawlery, takie jak GPTBot i ClaudeBot, z reguły respektują reguły, ale istnieją też mniej skrupulatne scrapery, które podszywają się pod user-agenta albo ignorują plik. Do realnej ochrony wrażliwych treści potrzebujesz rate limitingu po stronie serwera albo WAF — robots.txt reguluje wyłącznie zachowanie botów, które uczciwie się identyfikują.

Strategia: kiedy blokowanie naprawdę ma sens

Nie każda sytuacja wymaga pełnej otwartości. Są trzy scenariusze, w których blokowanie AI-crawlerów jest lepszym wyborem.

Treści za paywallem lub logowaniem

Jeśli masz treści premium, materiały kursowe albo portale klienta, nie chcesz, żeby GPTBot zgarniał je bez tego, by ktokolwiek za nie zapłacił. Zablokuj te ścieżki konkretnie w regułach disallow dla poszczególnych crawlerów, zamiast zamykać całą domenę.

Strony utrzymujące się wyłącznie z reklam

Dla wydawców i serwisów contentowych, które żyją z odsłon i impresji reklamowych, wyciek treści do odpowiedzi AI może oznaczać realną utratę przychodu. Tu potrzebna jest świadoma decyzja: widoczność w odpowiedziach AI kontra bezpośrednie przychody z odwiedzin.

Obciążenie serwera przy mniejszych pakietach hostingowych

Niektóre AI-crawlery, zwłaszcza te mniej znane, indeksują nieefektywnie i potrafią mocno obciążyć środowiska shared hostingu. Jeśli widzisz, że koszty serwera rosną przez ruch botów, a nie widać z tego tytułu korzyści, selektywne blokowanie jest uzasadnionym wyborem.

Dla większości MŚP i firm usługowych obowiązuje jednak odwrotność: wpuszczanie to norma, bo widoczność w odpowiedziach AI jest właśnie celem nowoczesnych strategii AEO. Zabetonowany robots.txt to wtedy strzał we własną widoczność — niezależnie od tego, jak dobre masz treści.

Więcej na ten temat

Najczęstsze pytania

Czy robots.txt automatycznie blokuje AI-crawlery, jeśli nic nie zrobię?
Nie. Bez konkretnych reguł większość botów AI indeksuje Twoją stronę domyślnie, tak jakby żadne ograniczenia z robots.txt nie obowiązywały. Niektóre crawlery, np. GPTBot, aktywnie sprawdzają reguły, ale jeśli Twój user-agent nie jest wymieniony, zwykle podlega ogólnej regule `*` albo dostęp jest domyślnie dozwolony.
Czy mogę wpuścić GPTBot, a zablokować ClaudeBot?
Tak — i dokładnie dlatego crawlery definiuje się per user-agent, zamiast używać jednej ogólnej reguły. W przykładzie robots.ts powyżej widzisz, jak ustawić osobne ścieżki allow i disallow dla każdego bota, dzięki czemu masz pełną kontrolę nad tym, która usługa AI dostaje dostęp.
Czy AI-crawlery naprawdę respektują robots.txt, czy robią po swojemu?
Duże, renomowane crawlery, takie jak GPTBot i ClaudeBot, generalnie respektują reguły robots.txt, bo zależy im na reputacji i chcą unikać ryzyka prawnego. Mniej przejrzyste scrapery czasem reguły ignorują. Dla dodatkowego bezpieczeństwa połącz robots.txt z monitorowaniem user-agentów i zakresów IP po stronie serwera.
Czy muszę zmieniać robots.txt, jeśli dopiero zaczynam z AEO?
Tak, to jeden z pierwszych kroków technicznych. Zanim zaczniesz optymalizować treści, musisz mieć pewność, że AI-crawlery w ogóle mają dostęp do Twoich stron. Traktuj to jak fundament: bez dostępu wszystkie działania GEO, które podejmiesz później — opisane w [skutecznych strategiach GEO](/blog/effectieve-strategieen-generative-engine-optimization) — po prostu nie przełożą się na odpowiedzi AI.
Jak sprawdzić, które AI-crawlery już odwiedzają moją stronę?
Zajrzyj do logów serwera lub CDN, do nagłówka user-agent, i przefiltruj znane nazwy, takie jak GPTBot, ClaudeBot, PerplexityBot i CCBot. Narzędzia takie jak Cloudflare często pokazują ten ruch już skategoryzowany w sekcji „AI crawlers” w panelu analityki, co znacznie ułatwia przegląd niż ręczne przeszukiwanie logów.

Gotowy na start z GEO?

Skontaktuj się z nami, aby otrzymać bezpłatny audyt strony.

Rozpocznij rozmowę