Bu sayfada (12)
- §1RFC 9309'daki kurallar
- §2Sürpriz 1: adıyla açılan grup * kurallarını iptal ediyor
- §3Sürpriz 2: * adını yazmadığın her yapay zekâ botunu engelliyor
- §4Sürpriz 3: aynı adlı gruplar birleşiyor
- §5Sürpriz 4: bazı botlar başka bir botun kurallarını ödünç alıyor
- §6Sürpriz 5: site haritası yolunu engellemek
- §7Sürpriz 6: yazım ve yollar
- §8Sürpriz 7: her alan adına bir dosya
- §9Herhangi bir dosyayı hızlı okumanın yolu
- §10Öncelik ve AdSense
- §11Test et
- §12Sık sorulan sorular
Bir bot robots.txt'de yalnızca kendi adını anan gruba uyuyor. User-agent: GPTBot diye bir grup varsa GPTBot o grubu izliyor ve User-agent: * altındaki her şeyi yok sayıyor; ikisini toplamıyor. Bir botun adı hiçbir grupta geçmiyorsa ancak o zaman * grubuna düşüyor. Aynı botu anan gruplar birleştiriliyor, dosyadaki sıra önemli değil ve grup içinde en uzun eşleşen yol kazanıyor. "Bu yapay zekâ botu neden izinli (ya da engelli)?" bulmacalarının çoğu ilk kuralı unutmaktan çıkıyor.
RFC 9309'daki kurallar
robots.txt, RFC 9309 ile standartlaştırıldı. Grup seçimi için:
- Adı büyük-küçük harf duyarsız eşleştir. Botlar kendi adına uyan grubu büyük-küçük harf ayırmadan bulmak ve o grubun kurallarına uymak zorunda.
- Aynı adı taşıyan grupları birleştir. Bir bota uyan birden fazla grup varsa kuralları tek grupta birleştirilmek zorunda.
- Hiçbiri uymuyorsa
*grubuna düş. Uyan grup yoksa bot, varsa*değerli gruba uymak zorunda. - Grup yoksa kural da yok. Hiçbir grup uymuyorsa ve
*grubu da yoksa hiçbir kural uygulanmıyor.
Seçilen grubun içindeki yollar için:
- En uzun eşleşme kazanır. En özel eşleşme, en çok bayttan (karakterden) oluşan eşleşme.
- Eşitlikte Allow kazanır. Bir
allowile birdisallowkuralı eşdeğerseallowkullanılmalı. - Eşleşme yoksa izin var.
/robots.txtadresinin kendisi de her zaman izinli.
Bir grup, aynı kuralları paylaşan birkaç User-agent: satırıyla başlayabiliyor.
Sürpriz 1: adıyla açılan grup * kurallarını iptal ediyor
User-agent: *
Disallow: /wp-admin/
Disallow: /odeme/
Disallow: /arama/
User-agent: GPTBot
Crawl-delay: 10
Kastettiğin: "Herkes yönetim, ödeme ve arama sayfalarından uzak dursun; GPTBot ayrıca yavaşlasın." GPTBot'un gördüğü ise hiç Disallow satırı olmayan bir grup; yani /odeme/ dahil her şeyi çekebilir. Yolları tekrar yazarak düzelt:
User-agent: GPTBot
Crawl-delay: 10
Disallow: /wp-admin/
Disallow: /odeme/
Disallow: /arama/
(Crawl-delay RFC 9309'da yok. OpenAI'nin bot sayfası ondan söz etmiyor; Anthropic kendi botları için desteklediğini söylüyor.)
Sürpriz 2: * adını yazmadığın her yapay zekâ botunu engelliyor
User-agent: *
Disallow: /
User-agent: Googlebot
Allow: /
Bu Googlebot'u içeri alıyor; OAI-SearchBot'u, Claude-SearchBot'u, PerplexityBot'u ve kendi grubu olmayan her botu engelliyor. Yapay zekâ arama botlarını içeri almak istiyorsan adlarını yaz:
User-agent: Googlebot
User-agent: OAI-SearchBot
User-agent: Claude-SearchBot
User-agent: PerplexityBot
Allow: /
User-agent: *
Disallow: /
Sürpriz 3: aynı adlı gruplar birleşiyor
User-agent: ClaudeBot
Disallow: /taslaklar/
User-agent: ClaudeBot
Disallow: /uyeler/
ClaudeBot ikisine de uyuyor: /taslaklar/ ve /uyeler/ engelli. Bir eklenti ya da CDN seninkinin üstüne kendi bloğunu eklediğinde bu önemli. Örneğin Cloudflare'in yönetilen robots.txt'si mevcut dosyanın başına bir User-agent: * grubu ve yapay zekâ eğitim botları için adlı gruplar ekliyor (yönetilen robots.txt). Senin * grubunla Cloudflare'inki tek grupta birleşiyor.
Sürpriz 4: bazı botlar başka bir botun kurallarını ödünç alıyor
Her bot * grubunda durmuyor. Belgelenmiş iki istisna:
- Applebot: robots yönergeleri Applebot'u anmıyor ama Googlebot'u anıyorsa Apple'ın botu Googlebot yönergelerini izliyor (Applebot hakkında).
- Amzn-SearchBot: robots.txt onu anmıyor ama diğer arama botlarına izin veriyorsa, diğer arama botlarına verilen yönergelere göre tarıyor (Amazonbot).
Hiç düşmeyen bir tane de var: Google'ın AdSense botu Mediapartners-Google, * grubunu tamamen yok sayıyor (robots.txt ve AdSense).
Sürpriz 5: site haritası yolunu engellemek
User-agent: *
Disallow: /*.xml
Beslemeleri gizlemek için yazılan bu kural, * grubuna uyan her bot için /sitemap.xml'i de engelliyor; arama botları adreslerini oradan bulamıyor. (Yollardaki * gibi joker karakterler RFC 9309'un parçası.) Site haritana açık bir Allow ver; daha uzun olduğu için kazanıyor:
User-agent: *
Allow: /sitemap.xml
Disallow: /*.xml
Sitemap: https://ornek.com/sitemap.xml
Sitemap: satırı hiçbir gruba bağlı değil, dosyanın tamamı için geçerli.
Sürpriz 6: yazım ve yollar
User-agent: GPT-Botya daUser-agent: Claude Search Bothiçbir şeyle eşleşmiyor. Adları şirketin kendi sayfasından kopyala; kaynaklarıyla liste yapay zekâ botlarına robots.txt izni rehberinde.- Yollar büyük-küçük harf duyarlı:
Disallow: /Blog/,/blog/'u engellemiyor. - Yollar önek olarak eşleşiyor:
Disallow: /ai,/ai-rehberi'ni de engelliyor.
Sürpriz 7: her alan adına bir dosya
robots.txt, sunulduğu alan adı için geçerli. blog.ornek.com kendi dosyasını istiyor. Örneğin Anthropic çıkmak istediğin her alt alan adına kural eklemeni istiyor; Amazon da botlarının her alan adında sunulan robots kurallarına uyduğunu söylüyor.
Herhangi bir dosyayı hızlı okumanın yolu
İlgilendiğin her bot için sor:
- Tam adını taşıyan bir grup var mı? Varsa yalnızca o grubu kullan (onu anan diğer gruplarla birleştirerek).
- Yoksa botun belgelenmiş bir düşme kuralı var mı (Applebot → Googlebot)? Onu kullan.
- Yoksa
*grubunu kullan.*grubu yoksa her şey izinli. - Seçilen grupta, adres için en uzun eşleşen yolu bul.
Öncelik ve AdSense
Googlebot'un ve Mediapartners-Google'ın neyi çekebileceğine de aynı kurallar karar veriyor; yapay zekâ botları için yapılan bir hata oraya taşabiliyor. Her değişiklikten sonra Google tarafını robots.txt test aracıyla ya da ücretsiz taramayla kontrol et.
Test et
Ücretsiz yapay zekâ bot kontrolü bu kuralları her büyük yapay zekâ botu için uyguluyor; hangi gruba düştüğünü, ana sayfanın ve site haritanın izinli olup olmadığını gösteriyor. Ardından sayfayı bizim sunucumuzdan benzetilmiş kullanıcı aracılarıyla istiyor; IP aralığına bakan bir güvenlik duvarı gerçek botlara farklı davranabilir, yani oradaki temiz sonuç garanti değil, ipucu.
Sık sorulan sorular
robots.txt'de grupların sırası önemli mi?
Hayır. Bot grubu konumuna göre değil, adıyla eşleştirerek seçiyor ve onu anan grupları birleştiriyor.
GPTBot'un adını yazarsam * kurallarını tekrar etmem gerekir mi?
Evet. GPTBot'un uymasını istediğin her kural onun grubunda olmalı.
Bir grupta birkaç bot olabilir mi?
Evet. Art arda gelen birkaç User-agent: satırı, ardından gelen kuralları paylaşıyor.
Allow her yerde çalışır mı?
RFC 9309'un parçası. Standarda uyan botlar destekliyor.
Eskimiş ya da yanlış bir şey mi gördün? Bize yaz, düzeltelim.
Bu rehberi İngilizce oku →Kendi sitende kontrol et. Ücretsiz, kayıt yok.
Bunun için ücretsiz araçlar
Ücretsiz tarama
Kendi siteni kontrol et
Ücretsiz tarama: uygunluk puanı ve tüm sorunlar, genelde birkaç dakikada.