AI SEO

Slik finner du AI-crawlere i serverloggene dine

Se hvordan du leser serverloggen for å finne ut hvilke AI-crawlere som faktisk besøker siden din — og hvorfor user-agent-strengen alene ikke er nok å stole på.

Kort svar: Grep serverloggen din etter user-agent-navnene til de AI-crawlerne som betyr noe (GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot og de andre), tell hvor mange treff hver av dem har, og verifiser at treffene er ekte via IP-adressen — ikke bare user-agent-teksten, som kan forfalskes. Er siden statisk og hostet hos en leverandør som Cloudflare, finnes det ingen tradisjonell access-logg uten at du har satt opp historisk logging på forhånd.

Hvorfor dette ikke bør være en gjetning

En robots.txt sier hvem du har tillatt å hente siden din. Den sier ingenting om hvem som faktisk gjør det. De to spriker ofte: en crawler kan være tillatt uten noen gang å dukke opp, eller besøke deg langt sjeldnere enn du tror. Skal du gjøre noe fornuftig med AI-crawler-oppsettet — endre robots.txt, prioritere hvilke sider som bør være raskest å hente, eller bare forstå hvor du faktisk står — er loggen den eneste kilden som svarer på hva som faktisk skjer, framfor hva som i teorien er lov.

Steg 1: finn feltet som betyr noe

De fleste servere logger i Combined Log Format eller en variant av det. En rå loggrad ser omtrent slik ut:

203.0.113.42 - - [07/Sep/2026:08:12:03 +0000] "GET /ai-seo/ai-crawlere/ HTTP/1.1" 200 8421 "-" "Mozilla/5.0 (compatible; GPTBot/1.1; +https://openai.com/gptbot)"

Feltet du bryr deg om her er det siste, i anførselstegn: user-agent-strengen. IP-adressen (første felt) er det du trenger i steg 3, for å bekrefte at treffet er ekte.

Steg 2: grep etter navnene, tell treffene

Med tilgang til en rå loggfil er dette to kommandoer. Først, se hvilke AI-crawlere som i det hele tatt dukker opp:

grep -iE "GPTBot|ChatGPT-User|OAI-SearchBot|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Google-Extended|Applebot-Extended|Meta-ExternalAgent|CCBot|Amazonbot" access.log

Deretter, tell treff per bot i stedet for å bla gjennom alt manuelt:

grep -ioE "GPTBot|ChatGPT-User|OAI-SearchBot|ClaudeBot|Claude-User|Claude-SearchBot|PerplexityBot|Perplexity-User|Google-Extended|Applebot-Extended|Meta-ExternalAgent|CCBot|Amazonbot" access.log \
  | sort | uniq -c | sort -rn

Resultatet er en ranert liste: hvilken crawler besøker deg oftest, og hvilke av de tolv-tretten navnene som faktisk betyr noe som aldri dukker opp i det hele tatt. Et navn som mangler helt er like informativt som et navn med mange treff — det kan bety at boten ikke prioriterer domenet ditt, eller at noe utilsiktet stenger den ute.

Steg 3: ikke stol blindt på user-agent-strengen

En user-agent er tekst klienten selv velger å sende. Ingenting teknisk hindrer et vilkårlig script i å sette User-Agent: GPTBot/1.1 og late som det er OpenAIs crawler. Før du trekker en konklusjon som faktisk fører til en endring — for eksempel å stole på at et høyt treffantall betyr reell interesse fra den crawleren — bør treffene verifiseres på én av to måter:

  • Leverandørens offisielle IP-liste, der den finnes (flere leverandører publiserer IP-områder for sine crawlere i egen dokumentasjon).
  • Reverse DNS-oppslag på IP-adressen fra loggraden, og deretter et forward-oppslag på navnet som kommer tilbake, for å bekrefte at det faktisk peker til leverandørens eget domene. Dette er samme verifiseringsmetode søkemotorer har brukt for å bekrefte ekte Googlebot-trafikk i årevis.

Hopper du over dette steget, risikerer du å måle scraping-verktøy som later som de er GPTBot, ikke GPTBot selv.

Særtilfellet: statisk side uten egen server

Et nettsted som serveres statisk fra en leverandør som Cloudflare, slik dette domenet gjør, har ingen server du logger inn på og en access.log som ligger og venter. Historiske treff må hentes via plattformens egne verktøy:

  • Logpush (eller tilsvarende) sender rådata til et lagringsmål du selv definerer — men bare fra det tidspunktet det er satt opp. Det finnes ingen historikk før konfigurasjonen er på plass.
  • Plattformens egen bot-analyse i dashbordet gir ofte et aggregert bilde uten at du trenger å sette opp noe selv, men typisk med mindre detaljnivå enn en rå logg.
  • Sanntidsverktøy som wrangler tail viser trafikk som skjer akkurat nå, og er nyttig for å bekrefte at en bestemt bot faktisk kommer inn mens du ser på, men er ubrukelig for å svare på hvor mye som har skjedd i forrige måned.

Poenget som gjelder uansett hostingform: skal spørsmålet «hvem besøker meg faktisk» kunne besvares om tre måneder, må logging av det være slått på i dag — det kan ikke hentes ut i etterkant av data som aldri ble lagret.

Hva loggen ikke kan fortelle deg

Et treff i loggen beviser at en crawler har hentet siden. Det beviser ikke at innholdet ble forstått riktig, at det ble lagt til grunn i et svar, eller at det noen gang blir SiteringEn sitering er når en AI-tjeneste oppgir kilden bak et svar, som regel med lenke. Sitering er noe annet enn omtale: du kan bli nevnt uten å bli lenket til, og lenket til uten å bli nevnt ved navn.Se i ordlisten. Loggen svarer på spørsmålet «blir jeg besøkt», ikke «blir jeg sitert» — de to henger sammen (du kan ikke bli sitert uten først å bli besøkt), men det ene garanterer ikke det andre.

Vil du gå videre fra «blir jeg besøkt» til «blir jeg faktisk sitert», er det et separat spørsmål som krever å måle selve AI-svarene, ikke bare trafikken inn. Det er nøyaktig det AI SEO Analyse er bygget for å kartlegge.

Ofte stilte spørsmål

Holder det å se på user-agent-strengen for å vite at det er GPTBot?

Nei. User-agent er en tekststreng klienten selv oppgir, og ingenting hindrer et vanlig script i å late som det er GPTBot eller ClaudeBot. Seriøse AI-leverandører publiserer enten IP-adresseområder eller støtter reverse DNS-verifisering av sine crawlere. Stol på user-agent for en rask oversikt, men verifiser med IP eller reverse DNS før du trekker konklusjoner som faktisk betyr noe — for eksempel om du skal endre robots.txt basert på funnet.

Hvordan gjør jeg dette hvis siden er statisk og hostet på Cloudflare, uten egen server?

En statisk side på Cloudflare Pages eller Workers har ingen tradisjonell access.log på en server du logger inn på. Historiske treff må hentes via Cloudflares egne verktøy — Logpush til et lagringsmål, eller bot-analysen i dashbordet — mens `wrangler tail` kun viser trafikk som skjer akkurat nå, ikke historikk. Har du ikke satt opp Logpush på forhånd, finnes det ingen logg å analysere i etterkant.

Hva ser jeg etter i selve loggraden?

I et vanlig Combined Log Format-oppsett er user-agent siste felt i raden, omsluttet av anførselstegn. Det er feltet du grepper mot. IP-adressen (første felt) er det du slår opp mot leverandørens offisielle liste eller reverse-DNS for å bekrefte at treffet er ekte.

Betyr mange treff fra en crawler at jeg blir sitert ofte?

Nei, de er to forskjellige ting. Loggen viser bare at en crawler har hentet siden — ikke om, eller hvor ofte, den siden faktisk brukes som kilde i et AI-svar. Mange treff fra en treningscrawler sier for eksempel ingenting om sitering i dag, siden treningsdata først får effekt i en fremtidig modellversjon. Loggen svarer på «blir jeg besøkt», ikke på «blir jeg sitert».

  • logfil-analyse
  • ai-crawlere
  • teknisk seo
  • cloudflare

Ordforklaringer

Begrepene som brukes i denne artikkelen.

Sitering
En sitering er når en AI-tjeneste oppgir kilden bak et svar, som regel med lenke. Sitering er noe annet enn omtale: du kan bli nevnt uten å bli lenket til, og lenket til uten å bli nevnt ved navn.

Se hele ordlisten

Få det jeg lærer om AI-søk

Egne tester og analyser av hvordan språkmodellene velger kilder. Ingen fast frekvens — jeg sender når jeg faktisk har noe å si.

Relaterte artikler

Mer om samme tema.

Du vil også like

Er du synlig når kundene spør en AI?

Vi tar en uforpliktende prat på 30 minutter. Du får en konkret vurdering av hvor du står i AI-søk — og hva som er første steg. Ingen presentasjon, ingen forpliktelse.