9. Bölüm: Yapay Zekâ Botları Sitenizi Nasıl Görüyor?

Önünde yarı açık bir bahçe kapısı olan web sayfasını tarayan üç renkli ışık hüzmesi

Son güncelleme: 1 Kasım 2026.

Bir site sahibinin robots.txt’ye GPTBot için “Disallow: /” yazıp işi bitirdiğini düşündüğünü varsayalım. Loglara baktığında üç ayrı şey görebilir: GPTBot gerçekten gelmeyi bırakmıştır, ChatGPT-User gelmeye devam ediyordur ve kendini GPTBot diye tanıtan ama OpenAI’ın IP aralıklarından gelmeyen istekler hâlâ oradadır. Üçü de başka bir şey anlatıyor.

Yapay zekâ botlarına 2. bölümde giriş yapmıştık: hangi şirketin hangi botu olduğu, robots.txt’nin neyi kontrol ettiği, Cloudflare gibi bir CDN’in robots.txt’den önce nasıl devreye girdiği ve önemli bilgilerin neden ilk HTML’de olması gerektiği. Bu bölüm bir kat aşağı iniyor. Hangi bota ne izin verilmeli, botlar sitede gerçekte ne yapıyor, gelen bot iddia ettiği bot mu? Bunların cevabı sunucu kayıtlarında, yani loglarda duruyor. Sonda da çok konuşulan llms.txt dosyasına bakıyoruz.

1. Üç tür bot

Yapay zekâ şirketlerinin botları üç farklı iş yapıyor. Bazıları gelecekteki modelleri eğitmek için içerik topluyor, bazıları yapay zekânın arama özelliği için sayfaları tarayıp dizine alıyor, bazıları da bir kullanıcı soru sorduğunda sayfayı o anda açıyor. 2. bölümdeki tabloyu bu kez biraz daha geniş tutalım:

ŞirketEğitimAramaKullanıcı isteği ve ajan
OpenAIGPTBotOAI-SearchBotChatGPT-User
AnthropicClaudeBotClaude-SearchBotClaude-User
Perplexity(eğitim için kullanılmadığını söylüyor)PerplexityBotPerplexity-User
GoogleGoogle-Extended (kontrol etiketi)GooglebotKullanıcı tetiklemeli getiriciler, Google-Agent
AppleApplebot-Extended (kontrol etiketi)Applebot

Perplexity, PerplexityBot’un yapay zekâ modellerinin eğitimi için içerik toplamadığını, Perplexity arama sonuçlarında siteleri göstermek ve linklemek için kullanıldığını söylüyor (Perplexity). Apple ise Applebot-Extended’ın sayfa taramadığını, sadece Applebot’un topladığı verinin Apple’ın üretken yapay zekâ modellerinin eğitiminde kullanılıp kullanılmayacağını belirlediğini yazıyor; bu etiketi engelleyen sayfalar arama sonuçlarında görünmeye devam ediyor (Apple). Mantık Google-Extended ile aynı.

Google Mart 2026’da kullanıcı tetiklemeli getiricilerin (user-triggered fetchers) listesine Google-Agent’ı ekledi. Bu, Google altyapısında çalışan ve bir kullanıcının isteğiyle web’de gezinip işlem yapan yapay zekâ ajanlarının kimliği (PPC Land). OpenAI’ın listesinde bir de OAI-AdsBot var; bu bot sadece ChatGPT’de reklam olarak gönderilen sayfaları kontrol ediyor ve OpenAI bu botun topladığı verinin model eğitiminde kullanılmadığını belirtiyor (OpenAI).

Bu üç grubun trafikteki ağırlığı çok farklı. Cloudflare’in Ağustos 2025’te yayımladığı veriye göre, Temmuz 2025’e kadarki 12 ayda yapay zekâ botlarının taramalarının yüzde 80’i eğitim, yüzde 18’i arama, yüzde 2’si kullanıcı işlemleri içindi (Cloudflare). Loglarınızda en çok göreceğiniz yapay zekâ trafiği büyük ihtimalle size doğrudan ziyaretçi getirmeyen eğitim trafiği olacak.

Bu yüzden üç grup için tek bir karar vermek yerine üç ayrı karar vermek gerekiyor.

2. Eğitim botlarına izin vermek ya da vermemek

Eğitim botlarının topladığı içerik, 3. bölümde anlattığımız model hafızasına giden yol. Bu botları engellemek, içeriğinizin gelecekteki modellerin eğitiminde kullanılmasını istemediğiniz anlamına geliyor. OpenAI bunu açıkça böyle tanımlıyor: GPTBot’u engellemek, sitenizin içeriğinin üretken yapay zekâ modellerinin eğitiminde kullanılmaması gerektiğini belirtiyor (OpenAI).

Eğitim botlarına en sık yapılan itiraz, sitenin taranıp karşılığında ziyaretçi gelmemesi. Bu itirazın verisi de var. Cloudflare bir platformun taradığı sayfa sayısını o platformdan gelen ziyaretçi sayısıyla karşılaştırıyor. Temmuz 2025’te her yönlendirilen ziyarete karşılık Anthropic’te yaklaşık 38.066, OpenAI’da yaklaşık 1.091, Perplexity’de yaklaşık 195 tarama vardı (Cloudflare). Bu rakamlar tüm botları birlikte ölçüyor ve Cloudflare ağıyla sınırlı, ama yönü belli: Eğitim için yapılan tarama kısa vadede trafik getirmiyor.

Yine de bence eğitim botu kararı trafik hesabıyla verilmemeli. Eğitimin getirisi tıklama değil, hafıza. Bir model markanızı, ürünlerinizi ve uzmanlık alanınızı eğitim verisinden öğrendiyse, arama yapmadığı sorularda da sizi anabilir. Bu değeri ölçmek zor ama yok saymak da yanlış.

Kararı iş modeline göre vermek daha sağlıklı. Üretici, e-ticaret, B2B ve hizmet şirketleri içeriklerini değil ürünlerini satıyor; markalarının modeller tarafından doğru tanınması lehlerine, o yüzden çoğu durumda eğitim botlarına izin vermek mantıklı. Yayıncılar ve içerikten para kazananlar için ise içerik ürünün kendisi. Eğitim botlarını engellemek ya da lisans görüşmesi için kapıyı kapalı tutmak onlar için savunulabilir bir karar. Arada kalanlar blog ve rehber içeriğini eğitime açıp ücretli raporlar ya da üye alanı gibi bölümleri kapatabilir; robots.txt dizin bazında kural yazmaya izin veriyor.

Kararınız ne olursa olsun şu ayrımı karıştırmayın: Eğitim botunu engellemek sizi yapay zekâ aramasından çıkarmaz; arama botunu engellemek çıkarır.

3. Arama ve kullanıcı botları

Arama botlarında tablo daha basit. OAI-SearchBot, Claude-SearchBot ve PerplexityBot, sitenizin o platformların arama cevaplarında kaynak olarak gösterilebilmesini sağlıyor. Bunları engellemek, o platformda kaynak gösterilme ihtimalinizi düşürüyor ya da sıfırlıyor. Google tarafında ayrı bir arama botu yok; 2. bölümde gördüğümüz gibi AI Bakışı ve AI Modu için geçerli kural Googlebot’unki.

robots.txt değişikliğinin etkisi anında görülmüyor. OpenAI, robots.txt güncellemesinin sistemlerine yansımasının yaklaşık 24 saat sürebildiğini yazıyor, Perplexity de aynı süreyi veriyor. Google ise robots.txt dosyasını genelde 24 saate kadar önbellekte tutuyor (Google Search Central).

Kullanıcı botları ayrı bir kategori ve sık yanlış anlaşılıyor. Bu botlar web’i otomatik olarak taramıyor. Bir kullanıcı ChatGPT’ye sayfanızın linkini verip “bunu özetle” dediğinde ya da Perplexity bir soruyu cevaplamak için sayfanızı o anda açtığında devreye giriyorlar. Platformların bu botlar için robots.txt’ye bakışı da farklı. OpenAI, ChatGPT-User için “Because these actions are initiated by a user, robots.txt rules may not apply” diyor; yani işlemi kullanıcı başlattığı için robots.txt kuralları uygulanmayabilir. Perplexity, Perplexity-User’ın getirme işlemini kullanıcı başlattığı için genelde robots.txt kurallarını dikkate almadığını yazıyor. Google-Agent da kullanıcı tetiklemeli getiriciler sınıfında ve robots.txt kuralları onu engellemeyebilir.

Bunun iki sonucu var. robots.txt’ye “Disallow” yazdınız diye bu botların gelmeyeceğini varsaymayın; engellemek istiyorsanız sunucu ya da CDN tarafında kural gerekiyor. İkincisi, bence çoğu işletme için bu botları engellemek kendi ayağına sıkmak demek. Kullanıcı botunun sitenize gelmesi, bir insanın o anda sizinle ilgili bir şey sorduğu anlamına geliyor; sizi zaten bulmuş birine kapıyı kapatmış oluyorsunuz.

Google’dan John Mueller da Haziran 2026’da benzer bir şey söyledi: Ajanlar için en temel optimizasyonun “ajanları engellememek” olduğunu ve çoğu site için en büyük engelin bu olacağını düşündüğünü belirtti (Search Engine Journal).

Bu alandaki yeni bir gelişme de botların kimliğini kriptografik olarak kanıtlaması. Web Bot Auth adı verilen yöntemde bot isteğini dijital olarak imzalıyor, site de bu imzayı doğrulayabiliyor. Cloudflare, ChatGPT Agent’ın isteklerini bu yöntemle imzaladığını yazıyor (Cloudflare). Google ise Google-Agent için bu protokolü henüz deniyor. Ajanları ve ticari işlemleri 15. bölümde ayrıca ele alıyoruz.

4. robots.txt’yi yazarken

Kararı verdikten sonra onu dosyaya doğru yazmak gerekiyor ve burada birkaç tuzak var.

En çok gözden kaçanı, en özel grubun kazanması. robots.txt’de birden fazla “User-agent” grubu varsa Google’ın tarayıcıları kendi adıyla en özel eşleşen grubu kullanıyor ve diğer grupları yok sayıyor (Google Search Central). robots.txt standardına göre de kendi adını taşıyan bir grup bulan bot yıldızlı grubu kullanmıyor. Dosyanızda “User-agent: *” grubunun altında /sepet/ ve /hesabim/ engellenmişse ve GPTBot için ayrı bir grup açtıysanız, GPTBot artık yıldızlı gruptaki kuralları okumuyor. O kuralları GPTBot grubuna da yazmanız gerekiyor.

Google-Extended ve Applebot-Extended bot değil, kontrol etiketi; ama robots.txt’de aynı şekilde bir User-agent satırı olarak yazılıyorlar.

Crawl-delay herkes için geçerli değil. Anthropic standart dışı Crawl-delay kuralını desteklediğini söylüyor (Anthropic); Google ve Applebot desteklemiyor.

Bir bot için kural yoksa başka bir botun kuralını izleyebilir. Apple, robots.txt’de Applebot için kural yoksa ama Googlebot için varsa Applebot’un Googlebot kurallarını izlediğini yazıyor.

Dosyanın kendisi de hata vermemeli. Google, robots.txt adresi 5xx hatası döndürdüğünde ilk 12 saat siteyi taramayı durduruyor; 429 dışındaki 4xx hatalarını ise robots.txt hiç yokmuş gibi yorumluyor.

Bu kuralları bir araya getiren, eğitim botlarını kapatıp arama ve kullanıcı botlarını açık tutan bir dosya şöyle görünebilir. Bu bir örnek, kendi kararınıza göre uyarlayın:

User-agent: *
Disallow: /sepet/
Disallow: /hesabim/

User-agent: GPTBot
User-agent: ClaudeBot
User-agent: Google-Extended
User-agent: Applebot-Extended
Disallow: /

User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Disallow: /sepet/
Disallow: /hesabim/

Sitemap: https://www.ornek.com/sitemap.xml

Arama botlarının grubunda /sepet/ ve /hesabim/ kuralları tekrar yazıldı. Yazılmasaydı, en özel grup kuralı yüzünden bu botlar o dizinlere de girebilirdi.

Dosyayı yazdıktan sonra 2. bölümdeki kuralı uygulayın: Canlı robots.txt’yi tarayıcıda site.com/robots.txt adresinden okuyun. CDN’iniz dosyanın başına sizin yazmadığınız satırlar ekliyor olabilir.

5. Botun gördüğü sayfayı test etmek

Vercel’in 2024 sonundaki analizine 2. bölümde değinmiştik: GPTBot, ClaudeBot ve PerplexityBot JavaScript dosyalarını indiriyor ama çalıştırmıyordu. Bunu kendi sitenizde test etmenin en basit yolu sayfanın ham HTML’ini okumak; tarayıcıda “Sayfa kaynağını görüntüle” bunu yapıyor. Biraz daha teknik bir yol, komut satırında sayfayı bir botun kimliğiyle istemek:

curl -s -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot" https://www.ornek.com/urun/ | grep -i "kapasite"

Bu komut sayfayı JavaScript çalıştırmadan indiriyor ve içinde “kapasite” kelimesini arıyor. Kelime çıkmıyorsa kapasite bilgisi JavaScript ile yükleniyor demektir.

Testte üç şeye bakın. Fiyat, stok, teknik özellikler, ürün açıklaması, sık sorulan soruların cevapları ve iletişim bilgileri ham HTML’de mi? Sekmeler ve açılır bölümler dolu mu, yoksa “Teknik özellikler” sekmesine tıklayınca yüklenen tablo ham HTML’de boş mu? Bir de sunucunun bota aynı cevabı döndürüp döndürmediği: Bazı sunucular ve güvenlik eklentileri bot kimliği görünce farklı bir sayfa, bir doğrulama ekranı ya da 403 hatası döndürüyor.

Son nokta için bir uyarı. Bu test bot kimliğini taklit ediyor ama botun IP adresinden gelmiyor. 2. bölümde gördüğümüz gibi Cloudflare gibi bir CDN doğrulanmış botları IP adresi ve imzayla tanıdığı için sizin testiniz gerçek bottan farklı sonuç alabilir. Test sonucunu loglarla karşılaştırın; asıl kanıt gerçek botun aldığı durum kodu.

Bir dolum makinesi üreticisinin ürün sayfasında kapasite, uygun ürün tipleri ve nozul seçenekleri bir “Teknik Özellikler” sekmesinde duruyor ve bu sekme JavaScript ile dolduruluyor olsun. Google bu bilgiyi görebilir. JavaScript çalıştırmayan bir bot ise “köpüren ürünler için uygundur” bilgisini hiç görmeyebilir. 1. bölümdeki kullanıcı sorusunda listeye girip girmemenizi belirleyecek bilgi de bu.

6. Log analizi

robots.txt ne istediğinizi söylüyor, loglar ne olduğunu. Bence yapay zekâ botlarıyla ilgili her tartışma loglara bakarak başlamalı. 2. bölümde sunucu loglarının hangi botun ne sıklıkla geldiğini gösteren tek gerçek kaynak olduğunu söylemiştim; burada nasıl okunacaklarına bakalım.

Sunucu logu, sitenize gelen her isteğin bir satırla kaydedildiği dosya. Loglara hosting panelinizden, sunucunuzdan ya da CDN kullanıyorsanız CDN’in log hizmetinden ulaşabilirsiniz. CDN arkasındaki bir sitede bazı istekler sunucuya hiç ulaşmadan CDN’de karşılanıyor, o yüzden engellenen botları görmek için CDN tarafının kayıtlarına da bakmak gerekiyor.

Yaygın log biçiminde tek bir satır şöyle görünür (IP adresi belgelerde kullanılan bir örnek adres):

203.0.113.10 - - [01/Nov/2026:10:15:32 +0300] "GET /dolum-makinesi/kopuren-urunler/ HTTP/1.1" 200 48211 "-" "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; OAI-SearchBot/1.4; +https://openai.com/searchbot"

Bu satırda bizi beş bilgi ilgilendiriyor. IP adresi, isteğin geldiği adres; botun gerçek olup olmadığını bununla doğruluyoruz. Tarih ve saat, botun ne zaman geldiğini; istenen adres, hangi sayfanın tarandığını gösteriyor. Durum kodu isteğin sonucunu veriyor: 200 başarılı, 301 yönlendirme, 404 bulunamadı, 403 engellendi, 5xx sunucu hatası. En sondaki user-agent ise botun kendini tanıttığı isim.

Bir log dosyasında milyonlarca satır olabilir. Başlamak için pahalı bir araç gerekmiyor, birkaç basit komut ilk tabloyu çıkarıyor. Hangi yapay zekâ botunun kaç istek yaptığını görmek için:

grep -oE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|Perplexity-User|Google-Agent" access.log | sort | uniq -c | sort -rn

Bir botun aldığı durum kodlarını görmek için:

grep "OAI-SearchBot" access.log | awk '{print $9}' | sort | uniq -c

Bir botun en çok hangi sayfalara geldiğini görmek için:

grep "ChatGPT-User" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20

Bu komutlarla aranan cevaplar şunlar:

  • Hangi botlar geliyor? robots.txt’de izin verdiğiniz bir arama botu hiç görünmüyorsa aradaki bir katman onu engelliyor olabilir.
  • Hangi durum kodlarını alıyorlar? Arama botlarının isteklerinde 403 ya da 5xx oranı yüksekse bot gelip kapıdan dönüyor demektir.
  • Önemli sayfalara uğruyorlar mı? Botlar zamanını filtre adreslerinde, eski kampanya sayfalarında ya da 404’lerde harcıyorsa, 2. bölümde anlattığımız tarama bütçesi sorunu yapay zekâ botları için de geçerli.
  • robots.txt’yi okuyorlar mı? Botun robots.txt isteği loglarda görünmüyorsa ya da bu istek hata alıyorsa kurallarınız uygulanmıyor olabilir.
  • Yeni sayfalar ne kadar sürede taranıyor? Yayınladığınız bir sayfaya arama botunun ilk ne zaman geldiğine bakın.

Kullanıcı botlarının kayıtlarına ayrıca dikkat edin. Kullanıcı botlarının logları, gerçek insan talebinin izidir. ChatGPT-User, Claude-User ya da Perplexity-User bir sayfanıza geldiyse, o anda biri o platformda sizinle ilgili bir şey sormuş ve platform cevabı vermek için sayfanızı açmış demektir. Bu istekler çoğu zaman analitik aracınızda ziyaret olarak görünmez ama loglarda durur. Hangi sayfalarınızın kullanıcı botları tarafından en çok açıldığını bilmek, yapay zekâda hangi konularda size başvurulduğunu gösteren nadir verilerden biri. Bunu 8. bölümdeki iş sonucu raporuna tamamlayıcı bir satır olarak ekleyebilirsiniz.

Büyük sitelerde bu işi komut satırıyla yapmak zorlaşıyor. O durumda log analizi yapan SEO araçları ya da logları bir veri ambarına aktarıp sorgulamak daha pratik. Mantık aynı: bot, sayfa, durum kodu, zaman.

7. Sahte botları ayırmak

User-agent bilgisini herkes yazabilir. Az önce bir komutla kendimizi OAI-SearchBot gibi tanıttık. Saldırganlar ve veri kazıyıcılar da aynısını yapıyor, kendilerini Googlebot ya da GPTBot gibi tanıtıp engellerden kaçmaya çalışıyor. Loglardaki bot isimlerini doğrulamadan saymak sizi yanıltır.

Doğrulamanın bir yolu ters DNS (reverse DNS) kontrolü. Google bunu dört adımda anlatıyor (Google Search Central): Logdaki IP adresi için ters DNS sorgusu yapın, çıkan alan adının googlebot.com, google.com ya da googleusercontent.com olduğunu kontrol edin, sonra bu alan adı için normal DNS sorgusu yapın ve çıkan IP’nin logdaki IP ile aynı olduğunu doğrulayın. Komut satırında şöyle:

host 66.249.66.1
host crawl-66-249-66-1.googlebot.com

İlk komut IP’den alan adını, ikincisi alan adından IP’yi buluyor. İkisi birbirini tutuyorsa bot gerçek. Apple da Applebot için aynı yöntemi öneriyor; gerçek Applebot istekleri applebot.apple.com alanına çözülüyor.

Öteki yol yayımlanan IP listeleri. Yapay zekâ şirketlerinin çoğu botlarının IP aralıklarını JSON dosyaları olarak yayımlıyor:

  • OpenAI: gptbot.json, searchbot.json, chatgpt-user.json ve adsbot.json, openai.com alanında (OpenAI).
  • Anthropic: claude.com/crawling/bots.json (Anthropic).
  • Perplexity: perplexitybot.json ve perplexity-user.json, perplexity.com alanında (Perplexity).
  • Google: Googlebot ve diğer yaygın tarayıcılar için common-crawlers.json, kullanıcı tetiklemeli getiriciler için user-triggered-fetchers.json, ajanlar için user-triggered-agents.json. Google bu sayfayı en son 20 Mart 2026’da güncelledi.

Bu listeler zaman zaman değişiyor; doğrulama yapıyorsanız onları elle kopyalamak yerine düzenli olarak kaynaktan çekin. Anthropic’ten de bir uyarı var: IP adresiyle engelleme yaparsanız botların robots.txt dosyanızı okumasını da engellemiş olabilirsiniz. Engel istiyorsanız önce robots.txt’yi kullanın.

Doğrulamanın neden gerektiğini gösteren en bilinen olay Ağustos 2025’te yaşandı. Cloudflare, Perplexity’nin robots.txt ile engellendiği sitelere kendini Chrome tarayıcısı gibi tanıtan ve Perplexity’nin yayımladığı IP aralıkları dışındaki adreslerden gelen istekler gönderdiğini iddia etti. Cloudflare’in verisine göre beyan edilen Perplexity-User günde 20–25 milyon istek yaparken bu beyan edilmemiş tarayıcı günde 3–6 milyon istek yapıyordu (Cloudflare). Perplexity iddiaları reddetti ve Cloudflare’in yazısını bir “satış konuşması” olarak niteledi (TechRepublic).

Kimin haklı olduğundan bağımsız olarak bu olayın bir dersi var. Loglarda gördüğünüz bot ismi bir iddiadır, kanıt değil. Doğrulanmış ve doğrulanmamış istekleri ayrı sayarsanız hem sahte trafiği ayırmış hem de gerçek botların davranışını doğru görmüş olursunuz.

8. Sunucu yükü: Engellemek yerine yavaşlatmak

Bazı siteler yapay zekâ botlarını içerik kaygısıyla değil, sunucu yükü yüzünden engelliyor. Küçük bir sunucuda yoğun bir tarama siteyi yavaşlatabiliyor, bu kaygı anlaşılır. Ama bence yük sorunu bir erişim kararı değil, kapasite sorunu. Yük yüzünden robots.txt’ye “Disallow: /” yazmak sorunu yanlış yerden çözmeye çalışmak olur.

Önce loglarla ölçün: Yükü hangi bot oluşturuyor, saatte kaç istek yapıyor ve hangi adreslere gidiyor? Çoğu zaman sorun botun kendisinde değil, sitenin ürettiği adreslerde çıkıyor. Filtre, sıralama ve parametre kombinasyonlarıyla binlerce adres üreten bir e-ticaret sitesinde botlar zamanının büyük kısmını bu adreslerde harcıyorsa, o adresleri robots.txt ile kapatmak hem yükü hem tarama israfını azaltıyor.

Bot yine de fazla istek yapıyorsa elinizde birkaç araç var:

  • Crawl-delay: Anthropic bu kuralı desteklediğini söylüyor, yani ClaudeBot için iki istek arasına bekleme süresi koyabilirsiniz. Google ve Applebot bu kuralı dikkate almıyor.
  • Geçici yavaşlatma: Google, acil durumlarda tarama isteklerine 200 yerine 500, 503 ya da 429 durum kodu döndürmeyi öneriyor; 503 ve 429 ile birlikte Retry-After başlığı da gönderilebiliyor. Bu birkaç saatlik ya da bir iki günlük bir çözüm. Aynı adreste birkaç gün sürerse adres dizinden düşebiliyor ve yavaşlama bütün alan adına uygulandığı için yeni sayfaların keşfi, fiyat ve stok güncellemeleri de gecikiyor (Google Search Central).
  • CDN’de hız sınırı: Botu tamamen engellemek yerine belirli bir istek hızının üstünü sınırlamak. Bunu yaparken doğrulanmış arama botlarını ve Googlebot’u kuralın dışında tuttuğunuzdan emin olun.
  • Önbellek: Botlara dönen sayfaların önbellekten gelmesi sunucu yükünü ciddi ölçüde azaltıyor.

Önbellekte bir yan etkiye dikkat. 2. bölümdeki haber sitesinde site haritası sunucu yükünü azaltmak için yaklaşık 10 dakika önbelleğe alınıyordu ve yeni haberler Google’a geç düşüyordu. Önbellek süresini saniyelere indirince sorun büyük ölçüde çözüldü. Önbelleği kullanın ama güncel kalması gereken sayfaların, özellikle site haritasının, önbellek süresini kısa tutun.

9. llms.txt

llms.txt son iki yılın en çok konuşulan ve en az anlaşılan dosyalarından biri. Jeremy Howard 3 Eylül 2024’te önerdi (llmstxt.org). Sitenin kök dizinine konan, Markdown formatında bir dosya; içinde sitenin kısa bir özeti ve önemli sayfaların linkleri bulunuyor. Fikir, bir yapay zekâ asistanının bir kullanıcıya yardım ederken siteyi hızlıca anlayabilmesi. Öneren kişi dosyanın eğitimden çok cevap üretme anında kullanılmasını beklediğini yazıyor.

Kağıt üzerinde mantıklı bir fikir. Kullanılıp kullanılmadığına dair bilinenler ise şunlar.

Google’dan John Mueller Haziran 2025’te “FWIW no AI system currently uses llms.txt” dedi; yani hiçbir yapay zekâ sisteminin bu dosyayı kullanmadığını ve bunun sunucu loglarında görüldüğünü söyledi (Search Engine Roundtable). Haziran 2026’da da dosyanın durumu için “purely speculative for now”, yani şimdilik tamamen spekülatif dedi (Search Engine Journal). Google’ın yapay zekâ rehberi daha da açık: Yapay zekâ için hazırlanmış metin dosyaları ve benzeri makine okunur dosyalar Google Arama’daki görünürlüğünüze ne zarar ne fayda sağlıyor, çünkü Google Arama bu dosyaları yok sayıyor (Google Search Central).

Sinyal yine de tamamen tek yönlü değil. Aynı haberde, Chrome’un sayfa denetim aracı Lighthouse’un belgelerinde bir llms.txt kontrolü bulunduğu aktarılıyor. Mueller’in yorumu da, size müşteri getiren bir yapay zekâ platformu bu dosyayı istiyorsa hazırlamaya değeceği yönünde. OpenAI ve Anthropic’in tarayıcı belgelerinde ise llms.txt’den söz edilmiyor; ikisi de kontrolü robots.txt üzerinden anlatıyor.

Veri tarafında, SE Ranking’in yaklaşık 300.000 alan adını inceleyen çalışmasında sitelerin yüzde 10,13’ünde llms.txt vardı ve dosyaya sahip olmakla yapay zekâ cevaplarında kaynak gösterilme sıklığı arasında bir ilişki bulunmadı. Aynı haberde bazı loglarda GPTBot’un llms.txt dosyasını ara sıra istediği ama bunun seyrek olduğu belirtiliyor (Search Engine Journal).

llms.txt bugün yapay zekâ görünürlüğünüzü artıran bir araç değil. Ne robots.txt’nin, ne iyi bir site yapısının, ne de ilk HTML’de duran içeriğin yerine geçiyor.

Yine de “hiç yapmayın” demiyorum. Dosyayı hazırlamak ucuz ve zararsız. Özellikle yazılım belgeleri, API dokümantasyonu gibi geliştiricilerin yapay zekâ araçlarıyla birlikte kullandığı sitelerde işe yarayabilir. Ama önceliği düşük. Bir dolum makinesi üreticisinin llms.txt’ye ayıracağı zamanı teknik özellik tablosunu ilk HTML’e taşımaya ayırması çok daha değerli.

En iyi test yine loglar. llms.txt dosyanız varsa bir ay boyunca kimin bu dosyayı istediğine bakın. Doğrulanmış hiçbir yapay zekâ botu istemiyorsa sorunun cevabı sizin siteniz için de belli.

Mueller’in aynı konuşmada daha olumlu baktığı bir yaklaşım da var: Google’ın desteklediği, yapay zekâ ajanlarının bir sitenin işlevlerini doğrudan kullanabilmesini hedefleyen WebMCP önerisi. Ajanlara yönelik bu tür protokollere 15. bölümde geliyoruz.

10. Aylık bot kontrolü

Bot erişimi bir kez ayarlanıp unutulacak bir konu değil. Son iki yılda yeni botlar çıktı, CDN’ler varsayılan ayarlarını birkaç kez değiştirdi, platformlar bot isimlerini ve sürümlerini güncelledi. Siteniz de değişiyor; yeni bir tema, bir güvenlik eklentisi ya da bir sunucu taşıması kimse fark etmeden botları kapıdan çevirebilir. Ayda bir şunlara bakmak yeterli:

  • Canlı robots.txt’yi geçen ayki halle karşılaştırın. Sizin yazmadığınız bir değişiklik varsa kaynağını bulun.
  • CDN ve güvenlik ayarlarında yapay zekâ botlarıyla ilgili seçeneklerin hâlâ bilinçli verdiğiniz kararla aynı olup olmadığına bakın.
  • Her bot için istek sayısını, durum kodu dağılımını ve en çok taranan sayfaları çıkarın. Bir arama botunun istekleri aniden düştüyse ya da hata oranı arttıysa sebebini arayın.
  • Loglarda tanımadığınız yeni bir user-agent görürseniz kime ait olduğunu ve ne iş yaptığını öğrenin, gerekiyorsa kuralınızı güncelleyin.
  • Sitenin açık olup olmadığını sürekli izleyin. Bir müşterimizin sitesi yaklaşık bir saat kapalı kalmıştı; o yüzden bütün müşterilerimizde sitenin açık olup olmadığını izliyoruz. O sırada gelen bir bot sayfa yerine hata görür. Kullanıcı botu için bu, o anda soru soran kişiye sizin hakkınızda cevap verilemediği anlamına geliyor.

Bu kontrolleri 17. bölümde kuracağımız aylık düzene ekleyeceğiz.

11. Kapıda kimin durduğunu bilmek

Yapay zekâ botları tek bir grup değil ve hepsine aynı kararı vermek yanlış. Eğitim botu markanızın gelecekteki hafızasıyla, arama botu bugünkü görünürlüğünüzle, kullanıcı botu da o anda soru soran kişiyle ilgili. Çoğu işletme için makul başlangıç, arama ve kullanıcı botlarını açık tutup eğitim botları için iş modeline göre karar vermek.

Kararın doğru uygulandığını ise robots.txt’ye bakarak değil, loglara bakarak anlıyorsunuz. Hangi botun geldiğini, hangi durum kodunu aldığını ve gerçekten iddia ettiği bot olup olmadığını ayda bir kontrol etmek, bu bölümdeki her şeyden daha çok işe yarar.

Kontrol listesi

KontrolNasıl bakılır?Neden önemli?
Eğitim, arama ve kullanıcı botları için ayrı karar verildiYazılı bot politikası, robots.txtTek karar yanlış botu kapatır
Arama botları (OAI-SearchBot, Claude-SearchBot, PerplexityBot) açıkCanlı robots.txt, CDN ayarlarıKapalıysa o platformda kaynak gösterilmezsiniz
Bota özel gruplarda genel Disallow kuralları da yazılırobots.txt’yi grup grup okumakEn özel grup kazanır, yıldızlı grup okunmaz
robots.txt 200 dönüyorTarayıcıda ve loglarda robots.txt isteği5xx Google taramasını durdurur
Önemli bilgiler ham HTML’deSayfa kaynağı, bot kimliğiyle curlBazı botlar JavaScript çalıştırmıyor
Botlara farklı sayfa ya da hata dönmüyorLoglarda botların durum kodları403 ve doğrulama ekranı botu kapıdan çevirir
Yapay zekâ botlarının istekleri aylık özetleniyorLog analizi, bot ve sayfa bazındaNe olduğunu sadece loglar gösterir
Kullanıcı botlarının en çok açtığı sayfalar biliniyorChatGPT-User, Claude-User, Perplexity-User loglarıGerçek kullanıcı talebinin izi
Bot istekleri doğrulanıyorIP JSON listeleri, ters DNSSahte botlar sizi yanıltır
llms.txt’yi isteyen botlar kontrol edildiLoglarda /llms.txt istekleriDosyanın işe yarayıp yaramadığını gösterir
Site açıklığı anında izleniyorUptime izleme aracıKapalı site hiçbir bota cevap veremez

Kaynaklar

Önceki: 8. Bölüm, AI Trafiği ve İş Sonucu · Kitabın dizini · Sonraki: 10. Bölüm, Okunabilir ve Alıntılanabilir Sayfa