llms.txt ve yapay zekâ botlarını (GPTBot, ClaudeBot) yönetmek
Yapay zekâ botları konusunda iki ayrı soru sıkça birbirine karışıyor. Birincisi, "Sitemi yapay zekâ araçlarına nasıl daha iyi anlatırım?" sorusu; llms.txt bu soruya verilmiş bir cevap. İkincisi, "Hangi bot içeriğimi hangi amaçla alıyor ve bunu nasıl sınırlarım?" sorusu; bunun cevabı hâlâ robots.txt.
İkisinin durumu çok farklı. robots.txt, yıllardır kullanılan ve artık bir RFC ile standartlaştırılmış bir protokol. llms.txt ise bir öneri. Aşağıda ikisini de elimden geldiğince dürüst bir şekilde anlatıyorum.
llms.txt nedir?
llms.txt, 2024'te topluluk tarafından önerilen bir dosya biçimi. Sitenin kök dizininde, /llms.txt adresinde duran bir Markdown dosyası. İçinde sitenin adı, kısa bir açıklaması ve önemli sayfaların açıklamalı bir listesi yer alıyor. Fikir şu: bir dil modeli ya da yapay zekâ ajanı, siteyi anlamak için tüm HTML'i taramak yerine bu kısa, temiz özeti okuyabilir.
Tipik bir yapı şöyle görünüyor:
Dürüst durum: kim okuyor?
Burada net olmak istiyorum, çünkü bu konuda abartılı çok içerik var:
- llms.txt bir standart değil. Herhangi bir standart kuruluşu tarafından kabul edilmiş bir belge yok.
- Google, llms.txt'yi kullanmadığını açıkça söyledi. Google Arama'da veya AI Overviews'ta bir etkisi yok.
- Yazıyı yazdığım sırada büyük yapay zekâ şirketlerinin hiçbirinin, tarayıcılarının llms.txt'yi okuyup kullandığını resmi olarak belgelediğini bilmiyorum.
Yani llms.txt eklemek sıralamanızı artırmaz, bir yapay zekâ aracının sizi kaynak göstermesini de garanti etmez. Buna rağmen neden ekledim? Maliyeti neredeyse sıfır, ve bazı geliştirici araçları ile ajanlar bir siteyi bağlam olarak kullanırken bu dosyayı elle ya da otomatik olarak kullanabiliyor. Beklentimi düşük tutuyorum.
Bu sitenin llms.txt dosyası nasıl oluşuyor?
Bu sitenin /llms.txt dosyası elle yazılmıyor. Sitenin PHP kodunda /llms.txt isteği için ayrı bir fonksiyon var ve dosya her istekte veritabanından yeniden oluşturuluyor. İçerik şu sırayla yazılıyor:
- Site adı başlık olarak, site açıklaması alıntı bloğu olarak.
- Sitenin ne olduğunu anlatan kısa bir paragraf.
- "About" bölümünde sabit sayfalar.
- "Categories" bölümünde her kategori, açıklaması ve yazı sayısı ile.
- "Posts" bölümünde her yayınlanmış yazı: başlık, adres, açıklama, yayın tarihi ve kategoriler.
- "Optional" bölümünde RSS akışı ve sitemap.
Bu yöntemin avantajı, yeni bir yazı yayınladığımda dosyanın kendiliğinden güncellenmesi. Sitemap ve RSS ile aynı veriyi kullandığı için tutarsızlık olmuyor. Dosya text/plain olarak ve X-Robots-Tag: noindex başlığıyla sunuluyor; arama sonuçlarında ayrı bir sayfa olarak görünmesini istemiyorum. Mantığın özü kabaca şu:
Yapay zekâ botlarının üç türü
robots.txt kurallarını yazmadan önce botları amaçlarına göre ayırmak gerekiyor. Kabaca üç grup var:
- Eğitim tarayıcıları: İçeriği model eğitimi için toplar.
- Arama/erişim tarayıcıları: İçeriği yapay zekâ destekli arama sonuçlarında göstermek ve kaynak olarak bağlantı vermek için dizine ekler.
- Kullanıcı tetiklemeli ziyaretçiler: Bir kullanıcı sohbette bir adres verdiğinde ya da araç o anda bir sayfaya bakmaya karar verdiğinde tek seferlik istek yapar.
| Şirket | Eğitim | Arama/erişim | Kullanıcı tetiklemeli |
|---|---|---|---|
| OpenAI | GPTBot | OAI-SearchBot | ChatGPT-User |
| Anthropic | ClaudeBot | Claude-SearchBot | Claude-User |
| Perplexity | - | PerplexityBot | (ayrı bir kullanıcı ajanı var) |
| Common Crawl | CCBot (açık veri seti, birçok modelin eğitiminde kullanılıyor) | - | - |
| Google-Extended (token) | Googlebot | - | |
| Apple | Applebot-Extended (token) | Applebot | - |
İki satır özel dikkat istiyor. Google-Extended ayrı bir tarayıcı değil; robots.txt'de kullanılan bir ürün token'ı. Tarama yine Googlebot tarafından yapılıyor, bu token ise içeriğin Gemini modellerinin eğitiminde ve grounding işlemlerinde kullanılıp kullanılmayacağını belirliyor. Google'ın belgelerine göre Google Arama'daki görünürlüğü etkilemiyor. Applebot-Extended de benzer şekilde çalışıyor: Applebot taramaya devam ediyor, bu token ise verinin Apple'ın üretken modellerinin eğitiminde kullanılıp kullanılmayacağını kontrol ediyor.
Kullanıcı tetiklemeli ziyaretçilerle ilgili bir not: bazı sağlayıcılar, bu isteklerin kullanıcı adına yapıldığını ve robots.txt kurallarının bu isteklere farklı uygulanabileceğini belgelerinde belirtiyor. Bu davranış değişebileceği için her sağlayıcının güncel belgesini okumak gerekiyor.
"Yapay zekâ aramasına izin ver, eğitime izin verme"
Benim en çok gördüğüm talep şu: içerik yapay zekâ destekli aramalarda kaynak olarak görünsün, ancak model eğitiminde kullanılmasın. Bunun için örnek bir robots.txt:
Burada önemli bir detay var: bir bot kendi adıyla eşleşen bir grup bulursa, User-agent: * grubundaki kuralları uygulamaz. Yani /search gibi genel olarak engellediğiniz yolları, özel gruplara da eklemeniz gerekiyor. Kuralları yayına almadan önce robots.txt test aracında her user-agent için ayrı ayrı deniyorum.
Önemli bir uyarı daha: bu token'lar değişiyor. Son iki yılda birkaç şirket yeni bot ekledi, bazı botların görevlerini ayırdı. Bu listeyi bir kere yazıp unutmayın; her sağlayıcının resmi belgesine, örneğin OpenAI'ın bot sayfasına, düzenli olarak bakın. Ayrıca robots.txt bir rica niteliğinde; kurallara uymayan bir botu engellemek için sunucu ya da CDN seviyesinde bir kural gerekiyor.
Loglarda bu botları bulmak
robots.txt'ye ne yazdığınız önemli, ancak botların gerçekte ne yaptığını loglarda görürsünüz. cPanel'deki ham erişim loglarında hızlıca bakmak için:
# Hangi yapay zekâ botu kaç istek yapmış?
grep -oiE "GPTBot|OAI-SearchBot|ChatGPT-User|ClaudeBot|Claude-SearchBot|Claude-User|PerplexityBot|CCBot|Applebot" access.log \
| sort | uniq -c | sort -rn
# ClaudeBot'un en çok istediği 20 adres
grep -i "ClaudeBot" access.log | awk '{print $7}' | sort | uniq -c | sort -rn | head -20
# Engellediğim bot hâlâ istek yapıyor mu? (durum kodlarıyla)
grep -i "GPTBot" access.log | awk '{print $9}' | sort | uniq -cUnutmayın, user-agent metni kolayca taklit edilebiliyor. Bir botun gerçek olup olmadığını anlamak için, sağlayıcının yayımladığı IP aralıklarıyla karşılaştırmanız gerekiyor. Log dosyasını tarayıcıda gruplamak ve filtrelemek için log analiz aracını kullanabilirsiniz; ham log okuma yöntemini ise cPanel logları ile Googlebot analizi yazısında anlattım.
Özetle
- llms.txt bir topluluk önerisi. Google kullanmıyor, diğer büyük sağlayıcıların okuduğu resmi olarak belgelenmiş değil. Maliyeti düşükse ekleyin, ancak bir etkisi olacağını beklemeyin.
- Asıl kontrol aracı robots.txt. Botları eğitim, arama ve kullanıcı tetiklemeli olarak ayırın ve her grubu ayrı ayrı yönetin.
- Google-Extended ve Applebot-Extended birer token'dır, ayrı tarayıcılar değil. Arama görünürlüğünü değil, yapay zekâ eğitim kullanımını kontrol ederler.
- Özel bir user-agent grubu yazdığınızda, genel
*kuralları o bot için geçersiz olur. Gerekli kuralları tekrar ekleyin. - Kuralların işe yarayıp yaramadığını loglarda kontrol edin ve token listesini birkaç ayda bir sağlayıcıların belgeleriyle karşılaştırın.
Comments / questions
If you have a question about any topic or wish to contact me: Telegram or send an email to [email protected] Thanks!
Related pages
- Search Console'daki her dizine ekleme durumunun Türkçe anlamı (2026)
- Sunucu logları ile SEO: cPanel loglarında Googlebot analizi (2026)
- Crawl budget gerçekten sorun mu? Hangi sitede önemli, nasıl ölçülür (2026)
- Google'ın hiç ziyaret etmediği sayfaları loglarla bulmak (2026)
- Canonical, noindex ve robots.txt ne zaman kullanılır? (karar tablosu) (2026)