İçeriğe geç
İletişim

YazılarRehber

AI botları sunucu günlüğünüzde: gerçek OAI-SearchBot'u ayırma

tarafından · Yayın: · Güncelleme:

Kaynaklar tarihinde kontrol edildi

"OAI-SearchBot sitemi ziyaret etti mi?" sorusunun cevabı sunucu günlüğündedir. Ama günlükteki ad tek başına yetmez. Bu yazı, bir satırın gerçek bota ait olup olmadığını IP listesiyle nasıl denetleyeceğinizi gösteriyor.

Neden ad yetmez?

Bir bot kendini User-Agent başlığıyla tanıtır. Bu başlık düz metindir; herhangi bir program istediği adı yazabilir. Bu yüzden günlükte OAI-SearchBot görmek, ziyaretin OpenAI'den geldiğini göstermez. Bunu belgelerdeki bir cümleye dayandırmıyoruz; HTTP'nin işleyişidir. Şirketlerin IP listesi yayımlamasının nedeni de bu.

Hangi şirket neyi yayımlıyor?

OpenAI botlarını ve her biri için IP listesini belgesinde sıralıyor (okuma tarihi 16 Ekim 2026):

BotNe içinIP listesi
OAI-SearchBotChatGPT arama özelliklerinde siteleri göstermekopenai.com/searchbot.json
GPTBotOpenAI'nin temel modellerini eğitmek için içerik taramakopenai.com/gptbot.json
ChatGPT-UserKullanıcının ChatGPT ya da özel GPT içinde başlattığı işlemleropenai.com/chatgpt-user.json

OpenAI, OAI-SearchBot için "yayımladığımız IP aralıklarından gelen isteklere izin vermenizi" öneriyor. Belge, bunun dışında ayrı bir doğrulama yöntemi (ters DNS gibi) anlatmıyor; biz de yalnızca IP listesini kullanıyoruz.

Diğerleri:

  • Perplexity: PerplexityBot ve Perplexity-User için ayrı listeler var (perplexity.com/perplexitybot.json, perplexity.com/perplexity-user.json). Belge, kullanıcı adı eşleştirmesi ile IP doğrulamasını birlikte kullanmayı öneriyor.
  • Anthropic: ClaudeBot, Claude-User ve Claude-SearchBot için IP adresleri claude.com/crawling/bots.json adresinde. Anthropic IP ile engellemeyi önermiyor: bunun kalıcı bir vazgeçme sağlamayabileceğini ve botların robots.txt'inizi okumasını da engelleyebileceğini yazıyor. IP listesini engellemek için değil, günlükte tanımak için kullanın.
  • Google: Googlebot için iki yol var: ters DNS sorgusu ve sonra ileri DNS sorgusuyla eşleştirme (alan adı googlebot.com, google.com ya da googleusercontent.com olmalı) ya da common-crawlers.json gibi IP aralığı dosyaları. Bu yazı AI botlarına odaklandığı için ayrıntısına girmiyoruz.

Adım adım doğrulama

  1. Satırları ayıklayın. Erişim günlüğünüzde bot adını arayın: grep OAI-SearchBot access.log.
  2. IP listesini indirin. openai.com/searchbot.json dosyası bir prefixes dizisi içeriyor; her kayıtta ipv4Prefix (örnek: 13.66.216.176/28) bulunuyor. Dosyada bir creationTime alanı da var; 16 Ekim 2026'da okuduğumuzda 2026-01-02 yazıyordu. Liste değişebilir, düzenli indirin.
  3. IP'yi aralıklarla karşılaştırın. Satırın ilk alanındaki IP, aralıklardan birinin içindeyse doğrulanmıştır.
  4. Sonucu okuyun. Listenin dışındaki satırlar "doğrulanamadı"dır. Sahte olduğunu söylemek için yeterli kanıt değil (liste güncel olmayabilir, istek bir vekil sunucudan geçmiş olabilir) ama OpenAI'ye ait diye de sayılmaz.

Küçük betik

Aşağıdaki Python betiği standart kütüphaneyle çalışır. Tek tek IP bakmak yerine günlüğü toplu tarar. Betiği örnek bir günlük ve örnek bir liste ile denedik; kendi günlüğünüzde çıktıyı ayrıca kontrol edin. Günlükte IP'nin ilk alan olduğunu varsayar (Apache ve Nginx'in standart biçimi); CDN arkasındaysanız gerçek istemci IP'sinin hangi alanda olduğuna bakın.

import ipaddress, json, sys
from collections import Counter

def yukle(yol):
    veri = json.load(open(yol))
    return [ipaddress.ip_network(p.get("ipv4Prefix") or p.get("ipv6Prefix"))
            for p in veri["prefixes"]]

ag = yukle(sys.argv[1])   # indirdiginiz IP listesi
bot = sys.argv[2]         # ornek: OAI-SearchBot
sayac = Counter()
for satir in open(sys.argv[3]):   # erisim gunlugu
    if bot not in satir:
        continue
    ip = ipaddress.ip_address(satir.split()[0])
    sayac["dogrulandi" if any(ip in n for n in ag) else "dogrulanamadi"] += 1
print(dict(sayac))

Çalıştırma: python3 dogrula.py searchbot.json OAI-SearchBot access.log. Çıktı, doğrulanan ve doğrulanamayan satır sayısını verir.

Bu yöntemin sınırları

  • Ziyaret, atıf demek değildir. OAI-SearchBot'un sayfanızı taraması, ChatGPT'nin sizi cevapta göstereceği anlamına gelmez. OpenAI belgesi, arama için robots.txt'e uyduğunu ve izin vermemiş sitelerin arama cevaplarında dışarıda kalacağını yazıyor; tersini, yani taramanın gösterimi garanti ettiğini yazmıyor.
  • ChatGPT-User ayrı bir durum. OpenAI, bu eylemler kullanıcı tarafından başlatıldığı için robots.txt kurallarının uygulanmayabileceğini yazıyor. Ayrıntısı için robots.txt rehberimize bakın.
  • Günlük yoksa cevap yok. Paylaşımlı barındırmada ya da bazı CDN planlarında ham erişim günlüğü gelmeyebilir. Bu durumda hangi botun geldiğini söyleyemeyiz; bunu doğrulayamadığınızı kabul edin.
  • Sıklık hakkında rakam vermiyoruz. Botların ne sıklıkla geleceğine dair resmî bir değer bulamadık.

Ruescan ne gösterir, günlük ne gösterir?

Ruescan, robots.txt'inizde AI botlarına izin verilip verilmediğini gösterir. Bu bir izin kontrolüdür. Bir botun gerçekte sitenize gelip gelmediğini yalnızca sunucu günlüğü söyler. İkisini birlikte okuyun: izin var ve günlükte doğrulanmış ziyaret varsa tablo tamam; izin var ama ziyaret yoksa nedenini araştırın (CDN engeli, listede olmayan IP, günlük eksikliği).

Sık sorulan sorular

OAI-SearchBot sitemi ziyaret etti mi, nasıl anlarım?

Erişim günlüğünde OAI-SearchBot geçen satırları bulun, sonra IP'lerini searchbot.json ile karşılaştırın. Eşleşenler OpenAI'den gelmiştir.

Kullanıcı adı doğruysa ama IP listede yoksa ne yapmalı?

"Doğrulanamadı" sayın. Önce listeyi yeniden indirin; hâlâ yoksa o isteği OpenAI botu olarak değerlendirmeyin. Engellemek isterseniz bu sizin kararınızdır.

Bu yöntem GPTBot için de çalışır mı?

Evet, aynı mantık: gptbot.json listesini kullanırsınız. ChatGPT-User için chatgpt-user.json. Listeyi indirip günlük satırının IP'sini aralıklarla karşılaştırın. ChatGPT-User ayrı bir durum: OpenAI, kullanıcının başlattığı eylemlerde robots.txt kurallarının uygulanmayabileceğini yazıyor. IP listede yoksa isteği doğrulanmamış sayın.

Anthropic neden IP ile engellemeyi önermiyor?

Anthropic, IP engelinin kalıcı bir vazgeçme sağlamayabileceğini ve botların robots.txt'i okumasını da engelleyebileceğini yazıyor. Vazgeçmek için robots.txt'i kullanın.

IP listeleri ne sıklıkla değişiyor?

Doğrulanamadı. Listelerdeki creationTime alanı son oluşturma zamanını gösteriyor; değişim sıklığı için belge yok. Betiğinizi her çalıştırmada listeyi yeniden indirecek şekilde kurun.

Kaynaklar

Bu konuyu kendi markanız için konuşalım mı?

Markanızı ya da projenizi ve ne yapmak istediğinizi yazın. Mesaj doğrudan Rues'a gider.

İletişim formunu aç