Analiza logów crawlerów AI

Jak analizować logi serwera, aby zweryfikować crawlery AI, mierzyć ich aktywność i odróżniać pobranie od cytowania.

Opublikowano po raz pierwszy: 3 lip 2026 · Ostatnia aktualizacja: 6 sie 2026 · Advanced
Języki
1 sygnał dowodowy na tej stronie

Analiza logów crawlerów AI pokazuje, które boty AI rzeczywiście odwiedziły witrynę, jak często i co pobrały. Weryfikuj user-agenta oraz źródłowe IP, ponieważ sama nazwa bota może być podrobiona.

TL;DR — Pobierz logi dostępu Apache/Nginx lub CDN-u, a następnie wykonaj cztery czynności: zweryfikuj (dopasuj user-agenta i potwierdź IP na opublikowanej liście każdego operatora — wskaźniki podszywania się wynoszą od 5,7% w badaniu HUMAN Security do samodzielnie sprawdzonych przez Duane’a Forrestera 81,8%); wybierz narzędzie według skali (grep → Screaming Frog Log File Analyser → ELK/Splunk → BigQuery/Cloudflare); mierz częstotliwość crawlowania według bota, odwiedzane strony, crawl-vs-render i kody statusu; oraz interpretuj uczciwie — pobranie jest konieczne, ale niewystarczające, więc teza „więcej crawlowania = więcej cytowań” nie jest potwierdzona. To metoda siostrzana wobec AI crawlers (który opisuje czym są boty), AI traffic attribution (strona kliknięć) i LLM visibility (obserwowane tu ramy pobrano → wspomniano → zacytowano, dotyczące pierwszego etapu).

Co obejmuje ten artykuł — a czego nie

Logi pokazują żądania, ale nie to, czy treść została użyta do treningu, pobrania albo odpowiedzi. Evidence for this claim Server access logs record requests and can include fields such as request path, status, referrer, and user agent. Scope: Apache HTTP Server logging; available fields depend on server configuration. Confidence: high · Verified: Apache: Log files Weryfikuj boty za pomocą mechanizmów publikowanych przez dostawców, gdy są dostępne, i traktuj atrybucję jako ograniczony dowód. Evidence for this claim OpenAI publishes user-agent tokens and controls for several of its crawlers. Scope: OpenAI's documented crawlers; a user-agent string is not proof of downstream training, retrieval, citation, or use. Confidence: high · Verified: OpenAI: Crawlers

Siostrzany artykuł AI crawlers zawiera już tabelę bot po bocie, trójdzielną taksonomię (trening / wyszukiwanie AI / pobranie wywołane przez użytkownika), rozróżnienie „Google-Extended to token, nie bot” oraz przepisy robots.txt. Nie odtwarzam tego tutaj. AI traffic attribution obejmuje stronę GA4/referrera — to, co bot odesłał. Ten artykuł opisuje przeciwną stronę lejka: co bot pobrał. Z kolei LLM visibility opisuje ramy pobrano → wspomniano → zacytowano; analiza logów pozwala obserwować konkretnie etap pobrano i nic później.

To kontynuacja klasycznej analizy plików logów SEO w erze AI. Gdy przeglądałem artykuł Ahrefs How to Do an SEO Log File Analysis, analizowane wymiary obejmowały częstotliwość crawlowania, crawlowane adresy URL, kody statusu i weryfikację botów względem opublikowanych adresów IP Google. Szkielet jest ten sam, ale tutaj dotyczy populacji botów, które najczęściej nie renderują JavaScriptu, są stale naśladowane i crawlują nieregularnymi falami zamiast równym strumieniem.

Krok 1 — Zdobądź logi

Logi znajdują się w jednym z dwóch miejsc albo w obu:

  • Logi serwera źródłowego. Apache (access.log), Nginx (access.log) albo serwer aplikacji. Każdy wiersz zawiera co najmniej: znacznik czasu, IP klienta, metodę i ścieżkę żądania, kod statusu, liczbę bajtów, referrer i user-agenta.
  • Logi CDN-u / krawędzi. Jeśli korzystasz z Cloudflare, Fastly, Akamai itd., wiele żądań botów jest obsługiwanych na krawędzi i może nigdy nie dotrzeć do źródła — dlatego log krawędzi jest pełniejszym zapisem. Cloudflare udostępnia go przez Logpush (oraz API GraphQL), a Fastly przez strumieniowanie logów w czasie rzeczywistym.
Evidence for this claim Server access logs record requests and can include fields such as request path, status, referrer, and user agent. Scope: Apache HTTP Server logging; available fields depend on server configuration. Confidence: high · Verified: Apache: Log files

Pola faktycznie potrzebne do analizy botów AI to: znacznik czasu, IP klienta, user-agent, ścieżka żądania, kod statusu, a najlepiej także liczba bajtów i referrer.

Praktycznym problemem jest retencja. Wiele hostów przechowuje logi tylko przez kilka dni. Artykuł Lauren Busby w Search Engine Land wskazuje bezpośrednie rozwiązanie — zaplanowane pobieranie zmienia krótki okres w dane, które można analizować w czasie: zaplanowane zadanie SFTP, zbudowane w narzędziu workflow takim jak n8n albo oskryptowane, wystarczy, aby zamienić krótki okres retencji w historię możliwą do analizy (Busby, SEL). Skonfiguruj to zanim dane będą potrzebne.

Od początku pamiętaj o jednym uczciwym ograniczeniu, które podkreśla Busby: pliki logów pokazują, co dotarło do witryny, ale nie zawsze pokazują, co próbowało dotrzeć (SEL) — zablokowane żądania lub żądania obsłużone upstream mogą w ogóle nie pojawić się w logach.

Krok 2 — Zweryfikuj user-agenta, zanim mu zaufasz

To etap odróżniający analizę logów botów AI od wersji klasycznej i taki, który pomija większość konkurencyjnych poradników. Ciągi user-agent można banalnie podrobić. Dwa niezależne punkty danych pokazują skalę problemu:

  • HUMAN Security przeanalizowało dwa tygodnie ruchu podającego się za jeden z 16 znanych crawlerów AI i stwierdziło, że 5,7% ruchu było podszyciem się — mniej więcej 1 na 18 żądań (opis przez SEJ).
  • Duane Forrester wykonał ten sam test na własnych logach i uzyskał znacznie gorszy wynik. Spośród 33 żądań z nazwą pobierania na żądanie sześć pochodziło z IP publikowanego przez dostawcę, a 27 nie — wskaźnik podszywania wyniósł 81,8% wśród sprawdzonych żądań (SEJ). Jego wynik dla Googlebota był jeszcze gorszy: z 799 żądań z nazwą Googlebota tylko 107 pochodziło ze zweryfikowanego adresu Google — pozostałe około 87% nie pochodziło od Google (SEJ).

Traktuj te liczby jako kierunkowe wyniki różnych próbek i metod, a nie jedną uniwersalną wartość. Co ważniejsze, nie uogólniaj metody weryfikacji jednego dostawcy na każdego bota. Niektórzy operatorzy publikują zakresy adresów, inni dokumentują tokeny user-agent bez aktualnego publicznego zakresu albo procedury weryfikacji DNS (SEJ).

Metoda weryfikacji:

  1. Dopasuj ciąg user-agenta. GPTBot identyfikuje się jako Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.3; +https://openai.com/gptbot; OAI-SearchBot i ChatGPT-User mają własne tokeny (dokumentacja botów OpenAI).
  2. Użyj aktualnej oficjalnej metody weryfikacji dostawcy, jeśli istnieje. OpenAI publikuje openai.com/gptbot.json, searchbot.json i chatgpt-user.json. Aktualna dokumentacja crawlerów Anthropic mówi, że adres znajdujący się na opublikowanej liście oznacza crawlera pochodzącego od Anthropic. Używaj bieżącej metody właściwej dla dostawcy; nie zamieniaj jej w uniwersalną regułę weryfikacji botów.
  3. Nie wymyślaj rozwiązania zastępczego. Odwrotne i następnie forward DNS jest poprawne dla dostawcy tylko wtedy, gdy publikuje on oczekiwany wzorzec hosta i procedurę weryfikacji. Ogólne dopasowanie PTR dowodzi kontroli nad DNS, a nie tożsamości deklarowanego bota. Screaming Frog Log File Analyser może stosować publicznie potwierdzone listy tam, gdzie są dostępne; funkcja weryfikacji przy imporcie wykonuje zapytanie do publicznych list IP, aby potwierdzić autentyczność botów (Screaming Frog).

Weryfikacja powinna pomagać w ustalaniu precyzyjnej polityki i reakcji na incydenty. Do polityki crawlowania preferuj udokumentowany token robots dostawcy; kontrole sieciowe zostaw dla przypadków nadużyć lub bezpieczeństwa i oznaczaj je osobno od zgodności z robots.

Krok 3 — Wybierz narzędzie

Dopasuj je do skali zadania, mniej więcej od bezpłatnych do płatnych oraz od źródła prawdy do usług zarządzanych:

  • grep / PowerShell — szybkie jednorazowe zliczanie i filtr uwzględniający weryfikację. Artykuł AI crawlers zawiera podstawowy fragment zliczający boty; karta Scripts rozszerza go o weryfikację IP, podział kodów statusu i wykrywanie crawl-vs-render.
  • Screaming Frog Log File Analyser — desktopowy importer z wbudowanymi presetami botów AI (GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, Claude-User, PerplexityBot, Perplexity-User, CCBot) oraz przełącznikiem „Verify Bots When Importing”. Karta Response Codes dzieli 2XX/3XX/4XX/5XX według adresu URL, karta User Agents pokazuje żądania i wskaźniki błędów według bota, karta URLs sortuje adresy według Num Events (najczęściej pobierane strony), a karta IPs pozwala zbadać podejrzane źródła (tutorial).
  • ELK Stack (Elasticsearch / Logstash / Kibana) lub Splunk — ciągłe pobieranie na większą skalę z pulpitami i alertami, gdy pojedynczy importer desktopowy staje się zbyt wolny albo potrzebujesz stałego monitoringu zamiast okresowych eksportów.
  • BigQuery — do długiej retencji i zapytań SQL na dużą skalę, zwykle zasilany przez Cloudflare Logpush albo zaplanowane pobieranie GraphQL ze zbioru httpRequestsAdaptiveGroups, aby analizować aktywność botów według strony, daty i kodu statusu bez ponownego importowania płaskich plików.
  • Cloudflare AI Crawl Control (dla witryn za Cloudflare) — zarządzany pulpit aktywności crawlerów i wzorców żądań, weryfikacji botów oraz zgodności z dyrektywami, bez budowania własnego potoku (docs).

Krok 4 — Co mierzyć i jak to odczytywać

Częstotliwość crawlowania według bota. Liczba trafień dziennie lub tygodniowo dla każdej nazwy bota. Boty AI crawlują falami, a nie równym strumieniem. W 48-dniowym studium logów CDN WISLR GPTBot był nieobecny przez tygodnie, po czym wykonał 187 żądań w jednym tygodniu — 152 z nich w trzyminutowej fali, z maksimum 114 żądań na minutę (WISLR). Odczytuj częstotliwość jako wzorzec, nie tylko sumę.

Które strony są odwiedzane — a które ważne strony nie są. Sortuj według liczby żądań. Busby zauważa, że crawlery AI często pozostają płytko — często ograniczają się do stron najwyższego poziomu: strony głównej, głównej nawigacji i niewielkiej liczby ważnych adresów URL (SEL) — po czym liczba wizyt gwałtownie spada dla głębokich stron, nawet gdy właśnie one są najważniejsze dla cytowań. Głębokiej strony, która nigdy nie pojawia się w logach, nie da się pobrać.

Zależność od surowego HTML — mierz ją, nie uogólniaj. Dokumentacja dostawców nie definiuje jednego wspólnego kontraktu renderowania JavaScriptu dla GPTBot, OAI-SearchBot, ChatGPT-User, ClaudeBot, PerplexityBot i innych agentów. Jedna zaobserwowana cecha nadal jest użyteczna: w próbie WISLR ChatGPT-User pobierał wyłącznie HTML — zero żądań obrazów, CSS i plików JS — podczas gdy Googlebot i OAI-SearchBot pobierały także obrazy (WISLR). Jeśli logi pokazują boty AI obciążające strony, których surowy HTML jest niemal pustą powłoką JS, to sprawdzalne ryzyko zależności, a nie dowód, że każdy dostawca zawsze działa tak samo. Porównaj dostarczony HTML z wynikami albo wykonaj testy pobierania właściwe dla dostawcy. (Podstawy renderowania opisuje JavaScript SEO.)

Podział kodów statusu i blokad. Obserwuj: 200 (sukces), 304 (niezmienione — dobre, wydajne ponowne crawlowanie), 404 (uszkodzone linki, za którymi podążył bot) oraz 403/429 (zablokowane / ograniczone). Busby szczególnie wskazuje, że pliki logów ujawniają miejsca, w których crawlery napotykają problemy, w tym odpowiedzi 403 (zablokowane żądania) i 429 (ograniczenie szybkości) (SEL). Sprawdź, czy blokada była zamierzona, czy przypadkowa.

Żądania robots.txt i llms.txt jako osobny sygnał. Sprawdź, które boty w ogóle żądają /robots.txt przed rozpoczęciem crawlowania — w próbie WISLR GPTBot i Meta-WebIndexer nie sprawdzały go przez 48 dni — oraz czy mimo to odwiedzają niedozwolone ścieżki. WISLR odnotował także zero żądań /llms.txt od dowolnego bota AI przez te 48 dni (WISLR), co jest zgodne z opisanym w artykule AI crawlers wynikiem około 97% nieodczytywania. Nie oczekuj żądań llms.txt w logach jako dowodu, że plik „działa”.

Czy więcej crawlowania oznacza więcej cytowań? Bądź uczciwy.

Żadne uznane dane nie potwierdzają tezy „crawluj więcej, a będziesz częściej cytowany”. Pobranie jest koniecznym warunkiem cytowania, ale zdecydowanie nie wystarczającym — strony mogą być stale crawlowane i nigdy niecytowane z powodu renderowania po stronie klienta, płatnych zapór, ubogiej lub zduplikowanej treści albo po prostu przegranej z lepszym źródłem na etapie pobierania/rankingu modelu. Kluczowe ramy opisuje artykuł LLM visibility: pobrano → wspomniano → zacytowano, a analiza logów obserwuje tylko pierwszy etap.

Uczciwe domknięcie pętli polega na połączeniu strony wejściowej crawlowania (logów) ze stroną wyjściową cytowania. Raport AI Performance w Bing (publiczna wersja preview, luty 2026) jest pierwszym oficjalnym narzędziem pokazującym dane o cytowaniach obok zapytań uziemiających — kluczowych fraz użytych przez AI podczas pobierania treści, do której odwołano się w odpowiedziach generowanych przez AI (Bing Webmaster Blog). Logi mówią, co pobrano; zapytania uziemiające i liczby cytowań mówią, jaki był rezultat. Żadne z tych źródeł osobno nie daje pełnego obrazu — zobacz centrum pomiarów i raportowania, aby zrozumieć, jak układają się te warstwy.

Zagadnienie skrytego crawlowania

Weryfikacja nie jest jednorazowym audytem. Według Clinta Spauldinga z Seer Interactive, po zablokowaniu crawlery skryte mogą wrócić z ogólnymi nagłówkami przeglądarki i niezwiązanymi adresami IP — takie sesje wyglądają w logach jak ludzkie, przez co liczba sesji rośnie sztucznie, ruch botów jest zaniżany, a segmentacja GEO staje się mniej wiarygodna (Seer). Jego bezpośredni wniosek brzmi: jeśli nie widzisz tych crawlerów skrytych, nie możesz mierzyć ich wpływu. Właśnie dlatego analiza logów wymaga okresowej ponownej weryfikacji i ustalania nowej bazy, a nie jednego przebiegu.

Add an expert note

Pin an expert quote

New person? Create their unclaimed profile at /admin/experts/ → Pin a quote first.