İçeriğe geç
Rehberler

robots.txt nedir ve nasıl yazılır?

İşlem rehberi · 14 dk okuma · Güncellendi 15 Eylül 2026

Kısa cevap

robots.txt ile yapay zekâ botları nasıl engellenir?

robots.txt, bir sitenin kök dizininde duran ve hangi tarayıcının hangi yolu çekebileceğini bildiren düz metin dosyasıdır; RFC 9309 ile standartlaşmıştır. Dosya User-agent satırıyla açılan gruplardan oluşur, altına Disallow ve Allow kuralları yazılır. Bir tarayıcının kendi grubu varsa yıldız grubu ona hiç uygulanmaz — yapay zekâ botlarını engellemeye çalışan dosyaların çoğu tam burada bozulur.

Özet

  • Bir tarayıcının kendi User-agent grubu varsa, yıldız (*) grubundaki kurallar ona uygulanmaz; iki grup birleştirilmez.
  • Çakışan kurallarda en uzun yol deseni kazanır; uzunluk eşitse daha az kısıtlayıcı olan, yani Allow uygulanır.
  • Tek bir 'yapay zekâ botu' kategorisi yoktur: eğitim, arama ve anlık getirme ayrı token'larla gelir ve ayrı kararlar gerektirir.
  • Eğitim tarayıcısını engellemek o sağlayıcının arama tarayıcısını engellemez — GPTBot kapalıyken ChatGPT aramasında görünmek mümkündür.
  • robots.txt bir dizinden çıkarma aracı değildir: engellenen sayfa başka sitelerden bağlantı alıyorsa adresiyle listelenebilir, üstelik sayfadaki noindex etiketi okunamadığı için işlemez.
  • Bir botun sitenize girememesinin en sık sebebi robots.txt değil, CDN ya da güvenlik duvarı katmanındaki bir kuraldır; Cloudflare'in 'Block AI bots' anahtarı bunun en yaygın örneğidir.

robots.txt nedir ve nerede durur?

robots.txt, tarayıcılara sitenin hangi bölümlerini çekebileceklerini bildiren düz metin bir dosyadır. Yalnızca kök dizinde geçerlidir: example.com için /robots.txt okunur, example.com/blog/robots.txt hiçbir şey ifade etmez. Her alt alan adı kendi dosyasına sahiptir — blog.example.com için ayrı bir dosya gerekir ve ana alan adındaki kurallar oraya geçmez.

Dosya 2022'de RFC 9309 ile resmî bir standart hâline geldi; yani llms.txt'in aksine tarayıcıların ortak kabul ettiği bir sözleşmedir. Buna rağmen bir güvenlik aracı değildir: kuralları uygulamak tarayıcının insafındadır ve kötü niyetli bir kazıyıcı dosyayı hiç okumadan geçer. Gizli kalması gereken bir yolu robots.txt'e yazmak, onu herkese açık bir listede ilan etmekle aynı şeydir.

robots.txt nasıl yazılır?

Dosya gruplardan oluşur. Her grup bir ya da daha fazla User-agent satırıyla açılır, altına o tarayıcıya uygulanacak kurallar yazılır. Dört direktif yeterlidir:

  • User-agent: kuralların hangi tarayıcıya yazıldığını söyler. Yıldız (*) 'kendi grubu olmayan herkes' demektir — 'herkes' değil.
  • Disallow: belirtilen yolla başlayan adreslerin çekilmesini engeller. Boş bırakılırsa hiçbir şey engellenmez.
  • Allow: bir Disallow'un içinden bir yolu geri açar; kullanılacağı yer, kapalı bir dizinin altındaki tek bir açık klasördür.
  • Sitemap: site haritasının tam adresi. Gruplardan bağımsızdır, dosyanın herhangi bir yerinde durabilir ve genellikle en alta yazılır.
Görünür olmak isteyen bir kurumsal site için tam dosya
# example.com/robots.txt

# Varsayılan: kendi grubu olmayan her tarayıcı.
User-agent: *
Disallow: /sepet/
Disallow: /hesabim/
Disallow: /arama
Disallow: /*?sirala=
Allow: /

# Eğitim tarayıcıları — içerik lisansı kararı.
# Aşağıdaki iki satırı silmek içeriği eğitime kapatır.
User-agent: GPTBot
Allow: /

User-agent: Google-Extended
Allow: /

User-agent: ClaudeBot
Allow: /

# Arama ve anlık getirme — görünürlük buradan gelir.
User-agent: OAI-SearchBot
Allow: /

User-agent: ChatGPT-User
Allow: /

User-agent: PerplexityBot
Allow: /

User-agent: Perplexity-User
Allow: /

User-agent: Claude-SearchBot
Allow: /

User-agent: Claude-User
Allow: /

Sitemap: https://example.com/sitemap.xml

Dikkat edilecek nokta: her tarayıcının kendi grubu olduğu için üstteki yıldız grubundaki /sepet/ ve /hesabim/ kuralları bu botlara uygulanmaz. Onları da kısıtlamak istiyorsanız aynı Disallow satırlarını her grubun içine tekrar yazmanız gerekir.

Hangi kural geçerli olur? Grup eşleşmesi ve en uzun desen

Bu bölüm dosyanın en çok yanlış anlaşılan yeridir ve iki kurala iner. Birincisi grup seçimi: bir tarayıcı, user-agent'ına en özel şekilde uyan grubu bulur ve yalnızca onu uygular. Google'ın kendi dokümantasyonu bunu açıkça yazar — özel grup ile yıldız grubu birleştirilmez.

Niyetin tersine çalışan dosya
User-agent: *
Disallow: /gizli/
Disallow: /admin/

User-agent: GPTBot
Disallow: /egitim-verisi/

# Niyet: GPTBot her yerden uzak dursun, /egitim-verisi/ ise kimseye açık olmasın.
# Gerçek: GPTBot'un kendi grubu olduğu için üstteki iki satır ona uygulanmaz.
#         GPTBot artık /gizli/ ve /admin/ dizinlerini serbestçe çekebilir.

Doğru yazım, GPTBot grubunun içinde Disallow: /gizli/ ve Disallow: /admin/ satırlarını tekrar etmektir. Bir grup açmak, o tarayıcıyı bütün genel kuralların dışına çıkarır.

İkinci kural aynı grup içindeki çakışmalar içindir: en uzun yol deseni kazanır. Uzunluklar eşitse Google daha az kısıtlayıcı kuralı, yani Allow'u uygular. Bu yüzden 'Disallow: /' ile 'Allow: /blog/' bir arada yazıldığında blog açık kalır — Allow deseni daha uzundur.

Pratik sonuç: robots.txt dosyasında 'Disallow' aramak hiçbir şey kanıtlamaz. Hangi kuralın geçerli olduğunu grup eşleşmesi ve desen uzunluğu belirler; dosyayı gözle okuyarak varılan sonuç çoğu zaman yanlıştır.

Yapay zekâ tarayıcıları hangileri ve ne iş yapar?

Yapay zekâ tarayıcıları üç ayrı iş yapar ve karar da üçe ayrılmalıdır. Eğitim tarayıcıları içeriği modelin ağırlıklarına girecek veri kümesi için toplar. Arama tarayıcıları, kullanıcı bir soru sorduğunda gösterilecek kaynakları dizinler — marka görünürlüğü doğrudan bunlara bağlıdır. Anlık getirme tarayıcıları ise kullanıcı belirli bir bağlantıyı açtığında o anda sayfayı çeker.

Üreticilerin kendi dokümantasyonunda belgelediği tarayıcılar ve engellemenin sonucu

  • GPTBot

    Operatör
    OpenAI
    İş
    Model eğitimi
    Engellenirse
    İçerik gelecek modellerin eğitim verisine girmez; ChatGPT aramasını etkilemez
  • OAI-SearchBot

    Operatör
    OpenAI
    İş
    ChatGPT arama dizini
    Engellenirse
    ChatGPT cevaplarında kaynak olarak görünmezsiniz
  • ChatGPT-User

    Operatör
    OpenAI
    İş
    Kullanıcı bağlantı açtığında getirme
    Engellenirse
    Kullanıcı sayfanızı ChatGPT içinden açamaz
  • OAI-AdsBot

    Operatör
    OpenAI
    İş
    Reklam iniş sayfası güvenlik denetimi
    Engellenirse
    Reklam iniş sayfanız doğrulanamaz
  • Googlebot

    Operatör
    Google
    İş
    Google dizini — AI Overviews da buradan beslenir
    Engellenirse
    Google aramasından ve AI Overviews'tan çıkarsınız
  • Google-Extended

    Operatör
    Google
    İş
    Gemini eğitimi ve temellendirme
    Engellenirse
    Gemini eğitiminde kullanılmazsınız; Google araması ve AI Overviews etkilenmez
  • GoogleOther

    Operatör
    Google
    İş
    Ürün ekiplerinin araştırma taramaları
    Engellenirse
    Arama görünürlüğü etkilenmez
  • ClaudeBot

    Operatör
    Anthropic
    İş
    Model eğitimi
    Engellenirse
    İçerik Anthropic model eğitiminde kullanılmaz
  • Claude-SearchBot

    Operatör
    Anthropic
    İş
    Arama sonucu kalitesi
    Engellenirse
    Claude'un arama sonuçlarında görünmezsiniz
  • Claude-User

    Operatör
    Anthropic
    İş
    Kullanıcı isteğiyle sayfa getirme
    Engellenirse
    Kullanıcı sayfanızı Claude içinden açamaz
  • PerplexityBot

    Operatör
    Perplexity
    İş
    Perplexity dizini
    Engellenirse
    Perplexity cevaplarında kaynak olmazsınız
  • Perplexity-User

    Operatör
    Perplexity
    İş
    Kullanıcı isteğiyle getirme
    Engellenirse
    Kullanıcı sayfanızı Perplexity içinden açamaz

OpenAI, ChatGPT-User için 'robots.txt kuralları uygulanmayabilir' notunu kendi dokümantasyonuna koymuştur; gerekçe, isteğin otomatik tarama değil kullanıcının kendi eylemi olmasıdır. Bu botu engellemeyi planlıyorsanız sonucun garanti olmadığını bilerek planlayın.

Hangi botu engellemeli, hangisini açık bırakmalı?

Karar iş modeline göre değişir ve tek bir doğru cevabı yoktur. İçeriği ürününüz olan yayıncılar — haber siteleri, araştırma yayınları, ücretli arşivler — için eğitim tarayıcılarını engellemek savunulabilir bir karardır; satılan şey içeriğin kendisidir. Hizmet ve ürün satan şirketlerde hesap tersine döner: içerik satılan şey değil, satışa götüren şeydir.

İş modeline göre önerilen karar

  • Hizmet ve ürün satan şirket

    Eğitim botları
    Açık
    Arama botları
    Açık
    Anlık getirme
    Açık
  • E-ticaret

    Eğitim botları
    Açık
    Arama botları
    Açık
    Anlık getirme
    Açık
  • Haber sitesi, ücretli arşiv

    Eğitim botları
    Kapalı
    Arama botları
    Açık
    Anlık getirme
    Açık
  • Araştırma ve veri yayıncısı

    Eğitim botları
    Kapalı
    Arama botları
    Açık
    Anlık getirme
    Duruma göre
  • Üyelik arkasındaki topluluk içeriği

    Eğitim botları
    Kapalı
    Arama botları
    Yalnızca açık sayfalar
    Anlık getirme
    Yalnızca açık sayfalar

Her iki sütunda da arama ve anlık getirme tarayıcılarını engellemek nadiren doğru karardır. Bu, aramada bulunmayı reddetmenin üretken motorlardaki karşılığıdır — ve kararın bedeli anında görünmez, aylar sonra rakiplerin cevaplarda tek başına kalmasıyla görünür.

robots.txt değişikliği ne zaman etkili olur?

Anında değil, ve bunu bilmemek gereksiz paniklere yol açıyor. Google robots.txt içeriğini genellikle 24 saate kadar önbellekte tutar; yenilemenin mümkün olmadığı durumlarda daha uzun da tutabilir. OpenAI kendi dokümantasyonunda değişikliğin sistemlerine yansımasının yaklaşık 24 saat sürdüğünü yazar.

Dosyanın erişilemez olması da bir karardır. Google, robots.txt 5xx döndürdüğünde taramayı 12 saat durdurur ve yeniden dener; getirme başarısız olmayı sürdürürse önbellekteki sürümü 30 güne kadar kullanır. Bu süre dolduğunda site genel olarak erişilebilirse kısıtlama yokmuş gibi davranır. Yani sunucu hatası, bir noktadan sonra 'her şey serbest' anlamına gelir.

Son bir sınır: Google 500 kibibaytlık bir dosya boyutu sınırı uygular ve bu boyutun ötesindeki içeriği yoksayar. Elle yazılan dosyalarda bu sınıra ulaşmak zordur, ama otomatik üretilen Disallow listeleri olan büyük e-ticaret sitelerinde görülür — ve sınırın ötesinde kalan kurallar sessizce yok sayılır.

robots.txt'te izin verdim ama bot hâlâ giremiyor: güvenlik duvarı tuzağı

Bir tarayıcının siteye girememesinin en sık sebebi robots.txt değildir. robots.txt bir ricadır; CDN ve güvenlik duvarı katmanı ise isteği sunucuya hiç ulaştırmaz. Pazarlama tarafı dosyayı açar, altyapı tarafındaki bir anahtar botu kenarda düşürür ve iki taraf da aylarca sorunun nerede olduğunu bilmez.

Cloudflare bunun en yaygın örneğidir. Güvenlik ayarlarındaki 'Block AI bots' anahtarı, yapay zekâ eğitimi amacıyla tarama yaptığı sınıflandırılan doğrulanmış botları ve benzer davranan bir dizi doğrulanmamış botu engeller; dokümantasyona göre hem eğitim hem arama için kullanılan karma amaçlı botları kapsam dışı bırakır. Cloudflare bu tek anahtarı 15 Eylül 2026'da kullanımdan kaldırıyor ve yerine arama, ajan ve eğitim davranışlarını ayrı ayrı yönetmeye izin veren politikalar getiriyor.

  • Cloudflare'de Security Settings altındaki 'Block AI bots' anahtarını ve Bot Fight Mode'u kontrol edin; ikisi de robots.txt'ten bağımsız çalışır.
  • WAF yönetilen kural kümelerinde bot kategorilerine göre yazılmış engelleme kurallarını arayın — çoğu zaman yıllar önce açılmış ve unutulmuştur.
  • Sunucu tarafında ModSecurity, fail2ban ya da hız sınırlama kurallarının tarayıcı user-agent'larını düşürüp düşürmediğine bakın.
  • Bir 'kötü bot' eklentisi ya da güvenlik eklentisi kuruluysa (WordPress'te sık), engellediği user-agent listesini açıp okuyun.
  • Coğrafi engelleme varsa: tarayıcıların çıkış IP'leri Türkiye dışındadır, ülke bazlı engelleme onları da keser.

robots.txt validator yetiyor mu, engellediğimi nasıl doğrularım?

Üç ayrı doğrulama gerekir ve üçü farklı sorulara cevap verir: dosya ne diyor, kenar katmanı ne yapıyor, bot gerçekten geldi mi.

Botun gözünden istek: kenar katmanı onu düşürüyor mu?
# 1) Dosyanın kendisi
$ curl -s https://example.com/robots.txt | head -40

# 2) Botun user-agent'ıyla gerçek bir sayfa isteyin.
$ curl -s -o /dev/null -w "%{http_code}\n" \
    -A "Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko); compatible; GPTBot/1.4; +https://openai.com/gptbot" \
    https://example.com/

# 200 -> geçiyor
# 403 / 503 / 429 -> robots.txt değil, kenar katmanı engelliyor

# 3) Sunucu kütüğünde botun gerçekten geldiğini görün.
$ grep -Ei "GPTBot|OAI-SearchBot|ClaudeBot|PerplexityBot" /var/log/nginx/access.log \
    | awk '{print $1, $12, $13}' | sort | uniq -c | sort -rn | head

Üçüncü komut aynı zamanda sahteciliği ayıklar: user-agent taklit edilebilir, IP edilemez. OpenAI tarayıcı IP aralıklarını openai.com/gptbot.json ve openai.com/searchbot.json adreslerinde, Anthropic claude.com/crawling/bots.json adresinde, Google ise googlebot.json dosyasında yayımlar.

robots.txt ile noindex arasındaki fark nedir?

robots.txt taramayı, noindex ise dizine girmeyi engeller — ve ikisi karıştırıldığında ortaya en sinsi SEO hatalarından biri çıkar. Bir sayfayı robots.txt ile engellerseniz tarayıcı sayfayı çekemez; çekemediği için de sayfadaki noindex etiketini okuyamaz. Sayfa başka sitelerden bağlantı alıyorsa arama sonuçlarında yalnızca adresiyle listelenebilir, üstelik onu oradan çıkarmanın yolu da kapanmış olur.

Doğru sıra şudur: sayfanın dizinden çıkmasını istiyorsanız robots.txt'te açık bırakın ve sayfaya noindex koyun. Tarayıcı girer, etiketi okur, sayfayı düşürür. Dizinden çıktıktan sonra isterseniz robots.txt ile taramayı da kapatabilirsiniz.

En sık yapılan robots.txt hataları nelerdir?

  • Geliştirme ortamındaki 'Disallow: /' satırının canlıya taşınması. Tek satır, tüm site. Yayına alma listesinde robots.txt kontrolü olmayan her ekip bunu bir kez yaşar.
  • Bir tarayıcıya özel grup açıp genel kısıtlamaları o grubun içinde tekrar etmemek — dosya, engellemek istediğiniz botu diğerlerinden daha serbest bırakır.
  • CSS ve JavaScript dizinlerini engellemek. Sayfayı işleyemeyen tarayıcı içeriği eksik görür; bu, /wp-includes/ ya da /assets/ kapatılan sitelerde hâlâ görülüyor.
  • Disallow satırında tam adres yazmak. Kurallar yol ile başlar (/sepet/), alan adıyla değil; https://example.com/sepet/ yazan satır hiçbir işe yaramaz.
  • Sitemap satırını göreli yazmak. Site haritası mutlak adres ister: /sitemap.xml değil, https://example.com/sitemap.xml.
  • Büyük/küçük harf farkını gözden kaçırmak. Yollar büyük/küçük harfe duyarlıdır; /Urunler ile /urunler iki ayrı yoldur.

Sık sorulanlar

robots.txt dosyası olmazsa ne olur?

Dosya yoksa ve adres 404 dönüyorsa tarayıcılar kısıtlama olmadığını varsayar ve siteyi serbestçe tarar. Bu çoğu kurumsal site için zararsızdır; sorun, dosyanın yokluğunun bir tercih mi yoksa unutulmuş bir iş mi olduğunun belli olmamasıdır. Boş bir dosya yayımlamak — yalnızca User-agent: * ve boş bir Disallow satırı — kararın bilinçli olduğunu gösterir.

GPTBot'u engellersem ChatGPT'de hiç çıkmaz mıyım?

Hayır. GPTBot yalnızca model eğitimi içindir. ChatGPT bir soruya cevap verirken arama yaptığında OAI-SearchBot'u, kullanıcı bir bağlantı açtığında ChatGPT-User'ı kullanır. Bu iki tarayıcı açıksa GPTBot engelliyken de cevaplarda kaynak olarak görünebilirsiniz; üstelik çoğu şirket için doğru yapılandırma tam olarak budur.

Crawl-delay direktifi çalışıyor mu?

Tarayıcıya göre değişir ve bu yüzden güvenilir bir hız kontrolü sayılmaz. Anthropic kendi dokümantasyonunda ClaudeBot için Crawl-delay örneğini verir; Google ise bu direktifi kullanmaz ve tarama hızı Search Console üzerinden yönetilir. Sunucu yükü gerçek bir sorunsa doğru çözüm robots.txt değil, sunucu tarafında hız sınırlamadır.

Engellediğim bir botu geri açarsam ne kadar sürede geri gelir?

Karar geri alınabilir ama etkisi anında değildir. Önce önbelleğin süresi dolar — Google tarafında bu genellikle 24 saattir, OpenAI yaklaşık 24 saat yazar. Sonrası tarayıcının sitenize ne sıklıkla uğradığına bağlıdır ve düzenli güncellenmeyen küçük bir sitede bu haftaları bulabilir. Kısacası engellemek hızlıdır, geri dönmek yavaştır.

robots.txt'i test edebileceğim bir araç var mı?

Google Search Console'daki robots.txt raporu Google'ın dosyanızı nasıl gördüğünü söyler, ama yalnızca Google tarayıcıları için. Yapay zekâ tarayıcılarının tamamı için Galata Media'nın ücretsiz AI crawler erişim kontrolü dosyayı grup eşleşmesi ve en uzun desen kurallarına göre yorumlayıp on altı bot için sonucu verir. İkisi birlikte kullanıldığında kör nokta kalmaz.

Bu sayfa şu aramalara cevap veriyor

  • robots.txt nedir
  • robots.txt validator
  • robots.txt checker
  • robots.txt tester
  • robots.txt example
  • robots txt generator
  • gptbot engelleme

Projenizi konuşalım.

Yeni bir marka, yenilenmesi gereken bir web sitesi ya da arama görünürlüğü — nereden başlamak istediğinizi yazın, size uygun yol haritasını birlikte çıkaralım.