Sunucu Loglarında AI Botları: Grep ile Pratik Log Analizi

GA4 size AI botlarını göstermez, çünkü botlar JavaScript çalıştırmaz ve analitik etiketini tetiklemez. AI araçlarının sitenizle gerçekte ne yaptığını gösteren tek dürüst kaynak, sunucunuzun erişim logları. Orada her satır bir ziyaret: kim geldi, hangi sayfayı istedi, sunucu ne cevap verdi. Bu yazıda log dosyanızı açıp AI botlarını tek tek ayıklayacağız — hangi user-agent'ları arayacağınız, eğitim taraması ile kullanıcı tetikli çekimi nasıl ayıracağınız, sahte botları nasıl eleyeceğiniz ve bütün bunları birkaç satır grep ile nasıl yapacağınız. Terminal korkusu olanlar için de not: komutların hepsi kopyala-yapıştır çalışır.

AI bot log analizi hangi user-agent'ları arar?

AI şirketlerinin botları kendilerini user-agent dizesiyle tanıtır ve iyi haber şu: büyük oyuncuların hepsi bunu açıkça yapıyor. Loglarınızda arayacağınız isimler:

  • GPTBot — OpenAI'ın eğitim verisi tarayıcısı. Sitenizi gelecekteki modellerin eğitimi için tarar.
  • OAI-SearchBot — OpenAI'ın arama dizini tarayıcısı. ChatGPT'nin arama özelliğinde görünmenizi bu bot besler.
  • ChatGPT-User — bir kullanıcı ChatGPT'ye sizinle ilgili bir şey sorduğunda ve model sayfanızı o anda çektiğinde görünen imza. Tarama değil, anlık ziyaret.
  • PerplexityBot ve Perplexity-User — aynı ikili mantık Perplexity için: ilki dizin taraması, ikincisi kullanıcı sorusu üzerine anlık çekim.
  • ClaudeBot — Anthropic'in tarayıcısı. Ayrıca kullanıcı tetikli çekimler için Claude-User ve arama için Claude-SearchBot imzaları var.
  • Bytespider — ByteDance'in tarayıcısı. Agresif tarama temposuyla ve robots.txt kurallarını her zaman saymamasıyla biliniyor; loglarda görürseniz şaşırmayın.
  • CCBot — Common Crawl'un botu. Doğrudan bir AI şirketi değil ama topladığı arşiv birçok modelin eğitim setine girdi; bu yüzden AI görünürlük tartışmasının parçası.

Bir de sık yapılan bir hata var: Google-Extended loglarınızda asla görünmez. O bir bot değil, robots.txt içinde kullanılan bir izin anahtarı — Google'ın topladığı veriyi Gemini eğitiminde kullanmasını kontrol eder. Taramayı yapan yine bildiğiniz Googlebot'tur. "Loglarda Google-Extended aradım, bulamadım" diye endişelenen çok kişi gördüm; bulamamanız normal, orada olması zaten mümkün değil. Hangi bota robots.txt'de nasıl davranacağınızı robots.txt rehberi yazısında ayrıntılı anlattık.

Eğitim taraması ile kullanıcı tetikli çekim aynı şey değil

Yukarıdaki listeyi ikiye bölmek, log analizinin en kritik adımı. Çünkü iki tür ziyaretin anlamı taban tabana farklı.

Eğitim taraması — GPTBot, ClaudeBot, CCBot, Bytespider — sitenizi ileride kullanılmak üzere topluyor. Bu ziyaretlerin bugünkü görünürlüğünüze doğrudan etkisi yok; etki, aylar sonra çıkacak model sürümlerinde ortaya çıkabilir. Yoğun eğitim taraması "içeriğiniz toplanıyor" demek, "içeriğiniz öneriliyor" demek değil.

Kullanıcı tetikli çekim — ChatGPT-User, Perplexity-User, Claude-User — ise bambaşka bir sinyal. O satır, gerçek bir insanın gerçek bir sorusuna cevap verilirken sayfanızın o saniye okunduğunu gösterir. Bu, AI görünürlüğünün log tarafındaki en değerli izi: hangi sayfalarınızın cevaplara kaynaklık ettiğini gösteren canlı bir liste. ChatGPT-User trafiğiniz artıyorsa, cevaplarda daha sık kullanılıyorsunuz demektir — kullanıcı linke hiç tıklamasa bile.

Arama dizini botları — OAI-SearchBot, Claude-SearchBot — ikisinin arasında durur: bugünkü arama tabanlı cevaplar için dizin oluştururlar. Bunların düzenli uğraması, arama modlu cevaplarda bulunabilir olduğunuzun ön koşulu.

Pratik çıkarım şu: robots.txt kararlarınızı da bu ayrıma göre verin. Eğitim botunu engellemek bir tercih; kullanıcı tetikli çekimi engellemek ise "cevaplarda kaynak olarak kullanılmayayım" demek. İkisini aynı kefeye koyup toptan engelleyen siteler, farkında olmadan görünürlüklerini kapatıyor.

Grep ve awk ile AI bot log analizi akışı

Gelelim işin mutfağına. Örnekler nginx'in varsayılan access.log biçimine göre; Apache'de alan sıraları çok benzer, mantık aynı. Önce genel resim — hangi botlar, kaçar istek:

grep -iE 'gptbot|oai-searchbot|chatgpt-user|perplexitybot|perplexity-user|claudebot|claude-user|bytespider|ccbot' access.log \
  | grep -oiE 'gptbot|oai-searchbot|chatgpt-user|perplexitybot|perplexity-user|claudebot|claude-user|bytespider|ccbot' \
  | sort | uniq -c | sort -rn

Çıktı size bot başına istek sayısını verir. İkinci adım: belirli bir botun en çok hangi sayfaları çektiği. Nginx'in varsayılan log biçiminde istek yolu 7. alandadır:

grep -i 'chatgpt-user' access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

Bu liste altın değerinde: ChatGPT'nin kullanıcı sorularına cevap verirken sitenizden en çok okuduğu 20 sayfa. Üçüncü adım, zaman içindeki seyir — günlük istek sayısı:

grep -i 'gptbot' access.log | awk -F'[' '{print substr($2,1,11)}' | sort | uniq -c

Dördüncü adım, botların aldığı HTTP durum kodları. Botlara 403 veya 429 döndürüyorsanız bunu çoğu zaman siz değil, CDN'iniz veya bot koruma katmanınız yapıyordur:

grep -iE 'gptbot|claudebot|perplexitybot' access.log | awk '{print $9}' | sort | uniq -c | sort -rn

Durum kodu sütununda bol miktarda 403 görüyorsanız kritik bir bulgu yakaladınız: robots.txt'niz izin verse bile botlar içeriğe ulaşamıyor olabilir. Cloudflare ve benzeri katmanların varsayılan bot kuralları AI tarayıcılarını sessizce engelleyebiliyor; loglar bunu görmenin en kestirme yolu.

Loglarınız gzip'liyse zgrep aynı komutlarla çalışır; birden çok günü zgrep -i 'gptbot' access.log* diye tek seferde tarayabilirsiniz.

Bu noktada iki altyapı notu düşeyim. Birincisi, log saklama süresi: birçok sunucuda logrotate iki hafta sonra dosyaları siliyor. AI bot analizi trend işidir; saklama süresini en az üç aya çıkarın, yoksa kıyaslayacak geçmişiniz olmaz. Diskten tasarruf gerekiyorsa yalnızca bot satırlarını ayrı bir dosyaya süzüp arşivlemek da bir çözüm — yukarıdaki ilk grep'i bir cron görevine bağlayıp günlük özet üretmek on dakikalık iş. İkincisi, CDN kullanıyorsanız origin sunucunuzun logları eksik anlatır: CDN önbelleğinden dönen bot istekleri origin'e hiç düşmez. Bu durumda analizin doğru adresi CDN'in kendi log veya analitik ekranıdır; oradan user-agent bazlı döküm alabilirsiniz.

Gerçek bot mu taklitçi mi — IP ile doğrulama

Bir user-agent dizesi yazmak bedava — herhangi bir kazıyıcı kendini "GPTBot" diye tanıtabilir. Loglarınızda GPTBot imzalı ama OpenAI ile ilgisi olmayan istekler görme ihtimaliniz gerçek. Bu yüzden ciddi bir analiz, imzayı IP ile doğrular.

Büyük oyuncular tarayıcılarının çıkış IP aralıklarını yayınlıyor: OpenAI, GPTBot ve diğer botları için JSON biçiminde güncel IP listeleri sunuyor; Perplexity ve Anthropic de kendi botları için aynısını yapıyor. Doğrulamanın mantığı basit: şüpheli isteğin IP'sini alın, yayınlanan aralıklarda var mı bakın. Hızlı bir el yordamı için önce IP'leri toplayın:

grep -i 'gptbot' access.log | awk '{print $1}' | sort -u

Sonra bu IP'leri sağlayıcının yayınladığı listeyle karşılaştırın. Ters DNS de ikinci bir kontrol katmanı olarak iş görür: host <ip> komutunun döndürdüğü alan adı, iddia edilen şirketle uyumlu mu? Googlebot doğrulamasında yıllardır standart olan bu yöntem, AI botlarında da geçerli — ama tek başına yetmez, çünkü ters DNS kaydı da manipüle edilebilir; ileri doğrulama için dönen alan adını tekrar IP'ye çözüp eşleştiğini kontrol edin.

Ne kadar taklitçi görürsünüz? Siteden siteye değişir ama içerik ağırlıklı sitelerde bot imzalı trafiğin gözle görülür bir bölümünün yayınlanan aralıklardan gelmediğini görmek olağan. Özellikle "GPTBot" ve "ClaudeBot" isimleri, kendi kazıyıcısına saygın görünüm vermek isteyenlerin favori kılığı; bu isimlerin robots.txt'lerde yaygın biçimde izinli olması, taklidin işine yarıyor.

Taklitçiyi ayırmak neden umurunuzda olsun? İki sebep. Birincisi, ölçüm temizliği: sahte GPTBot trafiği, "AI'lar bizi tarıyor" grafiğinizi şişirir ve yanlış karar verdirir. İkincisi, güvenlik ve maliyet: taklitçiler çoğu zaman içerik hırsızlığı yapan kazıyıcılardır. Gerçek botlara tanıdığınız ayrıcalıklardan — mesela hız limiti muafiyetinden — faydalanmaya çalışırlar. Doğrulanmış aralıklar dışından gelen "bot" imzalı trafiği normal ziyaretçi kurallarına tabi tutmak en temiz yaklaşım.

Log verisi AI görünürlük stratejisine nasıl bağlanır?

Varsayımsal ama tipik bir vaka üzerinden bağlayalım. Bir B2B yazılım firması aylık loglarını ilk kez bu gözle tarıyor. Tablo şöyle çıkıyor: GPTBot binlerce istek atmış, neredeyse tüm siteyi gezmiş; ChatGPT-User ise birkaç yüz istek atmış ama bunların çoğu üç sayfada yoğunlaşmış — bir karşılaştırma yazısı, fiyatlandırma sayfası ve bir kurulum rehberi. Bytespider her şeyi taramış, üstelik robots.txt'de engelli olmasına rağmen. PerplexityBot ise hiç uğramamış.

Bu tablodan dört eylem çıkıyor. Bir: ChatGPT kullanıcılarına en çok okutulan üç sayfa, sitenin AI cephesindeki vitrini — bu sayfaların güncelliği ve netliği artık öncelik. İki: Perplexity'nin hiç gelmemesi bir soru işareti; robots.txt, CDN kuralları ve sayfa erişilebilirliği kontrol listesine giriyor. Üç: Bytespider'ın kural tanımazlığı belgelenmiş durumda; istenirse sunucu veya CDN katmanında IP bazlı engel gündeme alınıyor. Dört: GPTBot'un yoğun ilgisi, eğitim verisine girme/girmeme kararının artık teorik değil güncel bir karar olduğunu gösteriyor.

Aynı ekipte yapılabilecek bir işbirliği notu: bu log dökümünü içerik ekibiyle paylaşın. ChatGPT-User'ın en çok okuduğu sayfalar listesi, "hangi içeriği güncelleyelim" toplantısının en somut girdisidir ve çoğu içerik ekibi böyle bir verinin var olduğunu bilmez bile.

Bu analizi ayda bir tekrarlamak yeterli; kritik olan trendi izlemek. Kullanıcı tetikli çekimler artıyor mu, hangi yeni sayfalar listeye giriyor, durum kodları temiz mi? Log tarafı hikayenin arz cephesini gösterir — botlar neyi okuyor. Talep cephesini, yani bu okumaların kaç ziyaretçiye dönüştüğünü görmek için madalyonun öbür yüzüne bakmak gerekiyor: sitenizin AI kaynaklı yönlendirme trafiğini AI referral kontrolü ile iki dakikada, ücretsiz görebilirsiniz.

Bu, tam AI görünürlük ölçüm rehberindeki sekiz metrikten biri.

rankzupAI panelinde motor bazında görünürlük skorları
Log satırları burada motor bazlı skora bağlanır; tablo kendi markamızın panelinden alındı.
Kendi markanı ücretsiz ölç

Sıkça sorulan sorular

Loglarimda hangi AI bot kullanici ajanlarini aramaliyim?
2026'da onemli olanlar: GPTBot, OAI-SearchBot ve ChatGPT-User (OpenAI), PerplexityBot ve Perplexity-User, ClaudeBot, Claude-User ve Claude-SearchBot (Anthropic), Bytespider (ByteDance) ve CCBot (Common Crawl). Bir tuzak: Google-Extended bir tarayici degil, robots.txt etiketidir; onu aramak hicbir sey dondurmez.
Loglarimda GPTBot ile ChatGPT-User arasindaki fark ne?
GPTBot bir egitim ve dizin tarayicisi - genis taramalar, arkasinda canli kullanici yok; yuksek hacim yalnizca OpenAI'nin icerigini almaya deger buldugunu gosterir. ChatGPT-User ise gercek bir kisinin sorusu asistana sayfani su an actirdiginda tetiklenir. Ikincisi, AI aramasinin sana verdigi gercek zamanli talep verisine en yakin sey.
Gercek bir AI botunu sahte kullanici ajanindan nasil ayirt ederim?
Kullanici ajani metnine guvenme - herkes GPTBot'un adini takabilir. Isletmecinin yayimladigi IP araliklariyla dogrula ya da kaynak IP'de ters DNS yapip gercek sahibe geri cozuldugunu teyit et. ClaudeBot oldugunu iddia edip Anthropic'e ait olmayan bir IP'den gelen istek, kostum giymis bir kazicidir.