TechnoRadical İletişime geçin

TechnoRadical notları · Makale

AI crawler'larını engellemeli miyim

AI crawler'larını engellemeli miyim? Cevap bota göre değişir; GPTBot, ClaudeBot, Google-Extended için karar tablosu ve kod örneğiyle gösteriyoruz.

AI crawler’larını engellemeli miyim sorusunun tek bir doğru cevabı yok; karar, hangi bot’u (eğitim verisi toplayan mı, canlı arama/alıntı yapan mı, yoksa kullanıcı tetikli tekil bir getirme mi) ve hangi hedefi (eğitim verisinden çıkmak mı, yapay zeka aramalarında görünmek mi, sunucu yükünü azaltmak mı) kapsadığınıza bağlı. OpenAI, Anthropic, Google, Perplexity, Common Crawl ve Cloudflare’in altısı da robots.txt’i farklı amaçlarla yöneten ayrı bot’lar ve sinyaller sunuyor; eğitim verisi toplayan botlar ile aynı şirketlerin arama sonuçlarını besleyen botları ayrı yönetiliyor, birini engellemek diğerini etkilemiyor. robots.txt bu kararı uygulamanın standart yolu ama zorlayıcı bir güvenlik mekanizması değil; Perplexity’nin kendi belgesine göre kullanıcı tetikli getirmesi bu kuralları genelde göz ardı ediyor. Hangi hedefe hangi robots.txt satırının karşılık geldiği bir karar tablosuyla, eklenecek kod ise çalışan örneklerle netleşiyor; kendi sitemizin robots.txt’i bugün itibarıyla hiçbir Disallow kuralı taşımıyor ve tüm botlara açık. Kararı doğrulamak robots.txt’e satır eklemekle bitmiyor; terminal komutları ve sunucu kaydı doğrulaması kuralın gerçekten uygulandığını gösteriyor.

AI crawler’larını engellemeli miyim: dürüst cevap

Tek bir doğru cevap yok; karar, engellemek istediğiniz bot’un eğitim verisi mi, canlı arama/alıntı mı yoksa kullanıcı tetikli tekil bir getirme mi olduğuna ve sizin hedefinize bağlı. OpenAI’nin GPTBot’u, Anthropic’in ClaudeBot’u ve Google’ın Google-Extended’i eğitim verisi toplarken, aynı şirketlerin OAI-SearchBot, Claude-SearchBot ve Googlebot’u canlı arama sonuçlarını besliyor (K-10, K-144, K-145); Perplexity’nin PerplexityBot’u arama tarafında, Perplexity-User’ı ise kullanıcı tetikli tarafta çalışıyor (K-146). Bu ayrım netleşmeden verilen her “engelle” veya “engellemeyin” tavsiyesi eksik: eğitim botunu kapatmak ayrı bir karar, arama botunu kapatmak bambaşka bir karar. Geri kalan bölümler bu iki değişkeni (bot türü, hedef) netleştirip robots.txt’inize eklenecek somut bir satıra bağlıyor.

Eğitim botu, arama botu ve kullanıcı tetikli bot arasındaki fark neden kararın merkezinde

Üç büyük sağlayıcı da aynı üçlü ayrımı birbirinden bağımsız kurmuş: eğitim verisi toplayan bot, canlı arama sonucunu besleyen bot ve kullanıcının tek seferlik isteğiyle tetiklenen bot, üçü ayrı user-agent ve ayrı robots.txt satırıyla yönetiliyor.

OpenAI bu üçlüyü GPTBot, OAI-SearchBot ve ChatGPT-User adlarıyla kuruyor: GPTBot, üretken yapay zeka modellerini eğitmek için kullanılan veriyi topluyor; OAI-SearchBot, ChatGPT’nin arama özelliğinde siteleri öne çıkarmak için taranıyor; ChatGPT-User ise kullanıcı bir soru sorduğunda tetiklenen tekil bir eylem ve otomatik biçimde web’i taramıyor (K-10). GPTBot’u robots.txt’te engellemek OAI-SearchBot’u etkilemiyor; OpenAI’nin eğitim, arama ve kullanıcı botlarını ayrı yöneten üçlü crawler yapısı, OpenAI’nin kendi belgesinde ayrı ayrı yönetiliyor.

Anthropic aynı üçlüyü ClaudeBot, Claude-SearchBot ve Claude-User adlarıyla kuruyor: ClaudeBot model eğitimi için veri topluyor, Claude-SearchBot arama sonuçlarının kalitesini iyileştirmek için web’de geziniyor, Claude-User ise kullanıcı Claude’a canlı web erişimi gerektiren bir soru sorduğunda sayfaya erişiyor; Anthropic’in resmi destek sayfası üçünü de ayrı ayrı tanımlıyor (K-144). Üçü de robots.txt’e uyuyor ve her biri ayrı ayrı engellenebiliyor.

Google’da ayrım biraz farklı kuruluyor. Googlebot standart aramayı besleyen, her zaman aktif olan tek bot; Google-Extended ise ayrı bir HTTP user-agent’ı olmayan, standalone bir token ve Google Search Central’ın crawler sayfasına göre yalnızca Gemini Apps ile Vertex AI modellerinin eğitimini ve bu ürünlerdeki grounding’ini (arama indeksinden besleme) kontrol ediyor (K-145). Üç sağlayıcının da bu ayrımı bağımsız olarak kurması bir rastlantı değil: eğitim verisi toplamak ile canlı bir kullanıcıya gerçek zamanlı hizmet vermek farklı riskler taşıyor, biri telif ve model davranışı riski, diğeri arama kalitesi riski; bu yüzden her sağlayıcı ikisine ayrı kontrol sunuyor.

Her büyük AI crawler’ı kim, robots.txt’te hangi adı taşıyor, neyi topluyor

Beş sağlayıcının toplam on bir bot’u şirket, robots.txt’teki user-agent adı, amaç/tür ve robots.txt’e uyup uymadığı sütunlarıyla tek tabloda birleşiyor.

ŞirketBot adıAmaç/türrobots.txt’e uyar mı
OpenAIGPTBotEğitim verisiEvet
OpenAIOAI-SearchBotArama/alıntıEvet
OpenAIChatGPT-UserKullanıcı tetikli, otomatik taramazEvet
AnthropicClaudeBotEğitim verisiEvet
AnthropicClaude-SearchBotArama kalitesiEvet
AnthropicClaude-UserKullanıcı tetikliEvet
GoogleGooglebotStandart arama, her zaman aktifEvet, engellenirse Search’ten düşer
GoogleGoogle-ExtendedGemini eğitimi/groundingEvet, ama Search’ü etkilemez
PerplexityPerplexityBotArama/alıntıEvet
PerplexityPerplexity-UserKullanıcı tetikliGenelde göz ardı eder
Common CrawlCCBotAçık arşiv/çok-model eğitim verisiEvet, IP doğrulamalı

Tablodaki on bir satırın kaynağı sağlayıcıların kendi resmi sayfaları: OpenAI (K-10), Anthropic (K-144), Google (K-145), Perplexity (K-146) ve Common Crawl (K-147). Tek istisna satır Perplexity-User: diğer on bot robots.txt kuralına uyarken bu satır “genelde” uyuyor, her zaman değil; bu farkın nedeni aşağıda ayrı ele alınıyor.

robots.txt’i AI botlarına karşı bir güvenlik duvarı gibi görmek neden yanlış

robots.txt, AI botlarına karşı zorlayıcı bir güvenlik duvarı değil; iyi niyetli crawler’ların uyması beklenen bir tercih sinyalidir ve bir büyük sağlayıcı bunu kendi belgesinde itiraf ediyor.

Perplexity’nin resmi geliştirici dokümantasyonu, kullanıcı tetikli Perplexity-User getirmesi için şunu açıkça yazıyor: bir kullanıcı bu getirmeyi talep ettiği için bu fetcher “genelde robots.txt kurallarını göz ardı eder” (K-146). Bu, robots.txt’in zorlayıcı bir erişim kontrolü olmadığının bir büyük AI sağlayıcısının kendi ağzından çıkan en açık kanıtı; dokümantasyon “genelde” diyor, “her zaman” demiyor, istisna koşulları Perplexity tarafından ayrıca belirtilmemiş.

Bu tek başına bir istisna değil. Google tarafında da aynı mantık işliyor: robots.txt’in Google için de zorlayıcı bir gizleme mekanizması olmadığı, yalnızca bir tarama tercihi olduğu gerçeği, disallow edilen bir sayfanın başka sitelerden link alması durumunda yine de Google’da indekslenebilmesinde görülüyor (K-84). Hem arama tarafında hem kullanıcı tetikli AI tarafında aynı ilke işliyor; robots.txt bir niyet beyanıdır, bir kilit değildir.

Üçüncü bir zayıflık user-agent string’inin kendisinde. Bir istemci sunucuya “ben GPTBot’um” diyen bir başlık gönderdiğinde sunucu bunu doğrulamadan kabul eder; log dosyasında “GPTBot” yazması, isteğin gerçekten OpenAI’nin altyapısından geldiğini garanti etmez. Bu riski kapatmanın yolu IP doğrulamasıdır; yöntemi yazının doğrulama bölümünde veriyoruz.

GPTBot’u ya da ClaudeBot’u engellemek ChatGPT’de veya Claude’da görünmemi engeller mi

Hayır; GPTBot’u (eğitim) engellemek OAI-SearchBot’u (arama/alıntı) etkilemez, çünkü OpenAI bu ikisini kendi belgesinde ayrı ayrı yönetiyor, aynı ayrım Anthropic için ClaudeBot ile Claude-SearchBot arasında da geçerli.

Türkçe SEO çevresinde yaygın bir karışıklık şöyle ilerliyor: “eğitim botunu engelle, yapay zekada hiç görünme.” Bu, iki sağlayıcının kendi belgesiyle doğrudan çürütülüyor. GPTBot yalnızca model eğitimi için veri topluyor; ChatGPT’nin arama özelliğinde bir sitenin kaynak olarak çıkması OAI-SearchBot’un o siteyi taramasına bağlı, GPTBot’un durumuna bağlı değil (K-10). Aynı mantık Anthropic’te de geçerli: ClaudeBot’u disallow etmek Claude-SearchBot’un erişimini değiştirmez (K-144).

Bir markanın ChatGPT veya Claude cevaplarında hiç geçmemesinin gerçek nedenleri bu üçlünün (eğitim, arama, kullanıcı tetikli) doğru teşhis edilmesinden geçiyor; bu teşhis süreci ayrı bir yazıda derinlemesine işlendi. Burada gereken ayrım yalnızca engelleme kararı için yeterli: eğitim botunu kapatmak bir markayı AI aramasından silmiyor, çünkü o işi zaten ayrı bir bot yapıyor.

Hangi durumda hangi AI crawler’ı engellemeli, hangisini açık bırakmalısınız

Robots.txt kararı hedefe göre beş kalıba ayrılıyor; hedefiniz hangisine en çok benziyorsa robots.txt satırınız da ona göre belirleniyor.

HedefinizRobots.txt kararıNot
Eğitim verimden hiç geçmeyeyimGPTBot, ClaudeBot, Google-Extended ve CCBot için Disallow: / ekleyinArama/alıntı botlarına (OAI-SearchBot, Claude-SearchBot, Googlebot) dokunmayın; bu dördü yalnızca eğitim/model geliştirme amacıyla toplanan veriyi durdurur (K-10, K-144, K-145, K-147)
GEO’da veya AI aramada alıntılanmak istiyorumOAI-SearchBot, Claude-SearchBot, PerplexityBot ve Googlebot’u mutlaka Allow bırakınBu dördünü engellemek alıntılanma şansını doğrudan düşürür; aramaya hizmet eden botlar eğitim botlarından ayrı yönetiliyor (K-10, K-144, K-146)
Kullanıcı tetikli tekil getirmeleri de kısıtlamak istiyorumChatGPT-User ve Claude-User için Disallow eklenebilirPerplexity-User bu kuralı genelde göz ardı ettiği için (K-146) bu satır tam bir garanti değil, yalnızca iyi niyetli istemciler için geçerli bir tercih
Sunucu yükünü azaltmak istiyorum, tamamen engellemedenAnthropic’in desteklediği gayri resmi Crawl-delay satırını kullanınCloudflare’in Content-Signal satırı (K-148) bu amaca hizmet etmez; o bir kullanım tercihi beyanıdır, crawl hızını düşürmez. Yükü azaltan satır Crawl-delay’dir (K-144)
Henüz karar vermedinizHiçbir satır eklemeyinVarsayılan durum zaten “allow”; robots.txt’e hiçbir satır eklenmezse tüm botlar serbest kalır, karar vermemek de kendi başına bir karardır

robots.txt’e ve Cloudflare’e AI bot kuralı nasıl eklenir

Yukarıdaki karar tablosunun “eğitimden çıkmak” satırı, robots.txt dosyasına çok-bloklu bir ekleme olarak girer; her bot ayrı bir User-agent: satırıyla başlar.

User-agent: GPTBot
Disallow: /

User-agent: ClaudeBot
Disallow: /
Crawl-delay: 1

User-agent: Google-Extended
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: OAI-SearchBot
Allow: /

User-agent: Claude-SearchBot
Allow: /

Crawl-delay: 1 satırı yalnızca Anthropic’in desteklediği gayri resmi bir öneridir (K-144); bir garanti değildir ve ClaudeBot’un saniyede kaç istek gönderdiğini zorunlu olarak sınırlamaz.

Cloudflare kullanan siteler (sitemiz de Cloudflare Pages’te barınıyor) robots.txt’in sonuna bir Content Signals satırı ekleyebilir.

# Content-Signal: search=yes, ai-train=no, use=reference

Bu satır Disallow’un yerini almaz ve crawl hızını düşürmez; Cloudflare’in Content Signals duyurusu kendi tanımıyla “tercih sinyali verir, doğrudan engelleme yayınlamaz” diyor (K-148). Gerçek engelleme veya hız sınırlama Cloudflare’in Bot Management/WAF kuralından gelir, Content-Signal satırından gelmez; Content-Signal, Disallow ve Crawl-delay’in yanına eklenen üçüncü bir beyan katmanıdır, onların yerine geçen bir mekanizma değildir.

Satırları ekledikten sonra sözdizimi elle değil otomatik kontrol edilmeli; tek bir yanlış yerleştirilmiş User-agent satırı altındaki bütün kuralları geçersiz kılabilir. Sitenizin robots.txt dosyasını okuyup hangi yolların engellendiğini otomatik gösteren site denetimi bu kontrolü tek taramada yapıyor, kuralı elle her seferinde satır satır doğrulamanıza gerek kalmıyor.

Kendi sitemizin robots.txt’i AI botlarına ne diyor ve neden

technoradical.com/robots.txt yalnızca üç satır taşıyor ve hiçbir Disallow kuralı içermiyor; yani bugün itibarıyla GPTBot, ClaudeBot, Google-Extended, PerplexityBot ve CCBot dahil her bot serbest.

Dosyanın gerçek hâli aşağıdaki gibi.

User-agent: *
Allow: /
Sitemap: https://technoradical.com/sitemap-index.xml

Bunun nedeni bir “iyi pratik” iddiası değil, sitenin yapısının doğal bir sonucu (K-126): site yeni, henüz hiçbir yerde ölçülmüş bir görünürlüğü yok ve taramadan gizlenmesi gereken düşük değerli bir yüzey (filtre parametresi, taslak URL, iç arama sonucu) bulunmuyor. Eğitim verisinden çıkmanın bu aşamada somut bir kazancı yok; GEO görünürlüğünden feragat etmenin maliyeti ise belirsiz büyüklükte, çünkü site henüz hiçbir yerde ölçülmedi ve kaybedilecek şeyin büyüklüğü bilinmiyor, bu da riski küçültmek yerine büyütüyor.

Bu statik bir taahhüt değil. Yukarıdaki karar tablosuna göre hedef değişirse, örneğin içerik telif kaygısı öne çıkarsa, satırlar eklenebilir.

AI crawler kararınızı nasıl doğrular ve izlersiniz

robots.txt’e satır eklemek kararın sonu değil başlangıcı; kuralın gerçekten uygulandığını doğrulamak için beş adım gerekiyor.

  1. Terminalden curl -A "GPTBot" https://siteniz.com/robots.txt gibi komutlarla hangi user-agent’ın hangi kuralı gördüğünü doğrudan kontrol edin.
  2. Sunucu veya CDN loglarında ilgili bot adlarını (GPTBot, ClaudeBot, PerplexityBot vb.) arayın; user-agent metni taklit edilebildiği için yalnızca isme bakmak yeterli değil, IP bazlı doğrulama gerekiyor.
  3. Google’ın resmi Googlebot doğrulama sayfası bu adımın resmî karşılığını tanımlıyor: erişen IP’de reverse DNS sorgusu çalıştırılır, dönen hostname’in googlebot.com, google.com veya googleusercontent.com ile bittiği doğrulanır, ardından forward DNS ile IP eşleşmesi teyit edilir (K-141); log dosyasında görünen bir kullanıcı aracısının gerçek bot olup olmadığını reverse DNS ile doğrulama yöntemi ayrı bir yazıda komut satırı örnekleriyle adım adım verildi, aynı mantık diğer sağlayıcıların yayınladığı IP listeleriyle (Anthropic için bots.json, Common Crawl için ccbot.json) tekrarlanır.
  4. Cloudflare kullanan siteler AI Crawl Control panelinden hangi bot’un kaç istek yaptığını ve Content-Signal’e uyup uymadığını görebilir (K-148).
  5. Kuralı üç ay sonra yeniden gözden geçirin; sağlayıcılar bot isimlerini ve politikalarını değiştirebiliyor, kullanılan beş kaynağın (K-144, K-145, K-146, K-147, K-148) tamamı 2026 içinde güncellendi.

llms.txt dosyası AI botlarının erişimini kontrol eder mi?

Hayır. OpenAI’nin resmi crawler dokümantasyonu llms.txt’ten hiç bahsetmiyor; erişim kontrolü yalnızca robots.txt üzerinden yapılıyor (K-12). llms.txt dosyasının herhangi bir AI şirketi tarafından erişim kontrolü olarak okunduğuna dair resmi bir açıklama olmadığı, dosyanın sunucu loglarında istenmesinin onu kullanmakla aynı şey olmadığını da gösteriyor.

Google-Extended’i engellemek Google aramasındaki sıralamamı etkiler mi?

Hayır. Google’ın kendi ifadesiyle Google-Extended, bir sitenin Google Arama’ya dahil edilmesini etkilemiyor ve Google Arama’da bir sıralama sinyali olarak kullanılmıyor; Google-Extended yalnızca Gemini Apps ve Vertex AI eğitimini/grounding’ini kapsıyor, standart arama ayrı bir user-agent olan Googlebot üzerinden çalışıyor (K-145).

AI crawler · robots.txt · GEO · teknik SEO

Bu yazıdakileri kendi sitenizde ölçmek ister misiniz?

Araçların hepsi ücretsiz ve kayıt istemiyor. Yazıda geçen ölçütlerin çoğunu doğrudan kendi adresinize uygulayabilirsiniz.

Ücretsiz denetim Diğer yazılar