SEO & Discoverability

AI kazıyıcılarını gerçekten engelleyen bir robots.txt nasıl yazılır

Uyumlu AI tarayıcılarını engellemek, robots.txt’nin sınırlarını anlamak ve önemli olduğu yerlerde sunucu tarafı kontroller eklemek için pratik bir rehber.

The Wux Webtools Team The Wux Webtools Team 12 dakika okuma Yapay zeka destekli, insan tarafından gözden geçirilmiş
Illustration of crawler bots approaching a website gate controlled by a robots.txt file.
İçindekiler
  1. robots.txt hakkındaki rahatsız edici gerçek
  2. robots.txt ne yapabilir ve ne yapamaz
  3. Politika kararınızla başlayın
  4. Makul bir AI engelleme robots.txt şablonu
  5. Google-Extended konusunda dikkatli olun
  6. Dosyayı üretim kodu gibi test edin
  7. Kuralları yok sayan botlar için sunucu tarafı kontroller ekleyin
  8. Hız sınırlama
  9. User-agent filtreleme
  10. IP ve ASN kontrolleri
  11. Kimlik doğrulama ve ödeme duvarları
  12. İçerik minimizasyonu
  13. Sayfa düzeyi kurallar için robots meta etiketlerini kullanın
  14. Yayımladıktan sonra günlükleri izleyin
  15. Dosyayı küçük ve gözden geçirilmiş tutun
  16. Sonuç

robots.txt hakkındaki rahatsız edici gerçek

Bir robots.txt dosyası kilit değildir. Kapıdaki bir tabeladır.

Ekipler tek bir küçük metin dosyasıyla “AI kazıyıcılarını engelleyip engelleyemeyeceklerini” sorduğunda bu ayrım önemlidir. Robots Exclusion Protocol’e uyan saygın tarayıcılar için evet: doğru yazılmış bir robots.txt, onlara sayfalarınızı taramamalarını söyleyebilir. Bilinmeyen kazıyıcılar, kimlik taklitçileri, tarayıcı otomasyonu ve bunu umursamayan botlar için ise tek başına hiçbir şey yapmaz.

Bu yüzden pratik hedef “kazımayı imkânsız hale getirmek” değildir. Hedef şudur:

  • Uyumlu AI tarayıcılarına sitenizi kullanmamalarını söylemek.
  • Arama motorlarını veya faydalı servisleri yanlışlıkla engellemekten kaçınmak.
  • Kötüye kullanım için daha güçlü sunucu tarafı kontroller eklemek.
  • Tarayıcı adları değiştikçe politikayı sürdürülebilir tutmak.

Bu sıkıcı versiyondur. Aynı zamanda işe yarayan versiyondur.

robots.txt ne yapabilir ve ne yapamaz

Bir robots.txt dosyası sitenin kök dizininde bulunur:

https://example.com/robots.txt

Tarayıcılar taramaya başlamadan önce bunu ister. Dosya kural grupları içerir. Her grup bir veya daha fazla User-agent satırıyla başlar, ardından Allow veya Disallow yönergeleri gelir.

Basit bir tüm site engeli şöyle görünür:

User-agent: GPTBot
Disallow: /

Bu şu anlama gelir: Eğer GPTBot isen, bu sitedeki hiçbir şeyi tarama.

Ancak robots.txt’nin katı sınırları vardır:

  1. Gönüllülük esasına dayanır. Kötü niyetli aktörler bunu yok sayabilir.
  2. Bir URL’nin normal bir tarayıcı veya betik tarafından istenmesini engellemez.
  3. Başka yerde zaten toplanmış içeriği kaldırmaz.
  4. Telif hakkı, lisanslama veya eğitim haklarını tek başına tanımlamaz.
  5. Yanlış botları engelleyecek şekilde hatalı yapılandırılabilir.

Gerçek erişim kontrolüne ihtiyacınız varsa kimlik doğrulama, yetkilendirme, hız sınırlama, IP tabanlı kontroller, bot yönetimi veya hukuki kontroller kullanın. Robots.txt hâlâ faydalıdır, ancak daha geniş bir içerik koruma stratejisinin parçası olmalıdır.

Bu, diğer web yönetişimi sorunlarına benzer: görünen kontrol nadiren kontrolün tamamıdır. Kuruluşunuzda zaten yönetilmeyen AI kullanımı varsa aynı ilke geçerlidir; hızlı bir gölge AI denetimi, tek bir politika belgesinin sorunu çözdüğünü varsaymaktan çoğu zaman daha faydalıdır.

Politika kararınızla başlayın

Dosyayı düzenlemeden önce gerçekte neyi engellemeye çalıştığınıza karar verin.

İnsanların “AI kazıyıcısı” derken kastettiği en az dört farklı şey vardır:

  • Eğitim verisi toplamak için kullanılan tarayıcılar.
  • AI arama veya yanıt motoru tarayıcıları.
  • Birinin bir AI ürününden bir URL’yi özetlemesini istemesi gibi kullanıcı tetiklemeli getiriciler.
  • Sıradan tarayıcı gibi davranan genel kazıyıcılar.

Bunların tamamını engellemek isteyebilirsiniz. Ya da model eğitiminden çıkarken arama keşfini korumak isteyebilirsiniz. Bunlar aynı politika değildir.

Örneğin OpenAI, farklı amaçlar için GPTBot, ChatGPT-User ve OAI-SearchBot dahil ayrı user agent’lar belgelemektedir. Google, bazı Gemini ve Vertex AI kullanım senaryoları için kontrol belirteci olarak Google-Extended kullanırken, normal Google Search taraması diğer Googlebot user agent’ları tarafından yürütülür.

Bu ayrım önemlidir. Geniş user agent’ları dikkatsizce engellerseniz, AI eğitimini engellemeye çalışırken sıradan arama görünürlüğünüze zarar verebilirsiniz.

Makul bir AI engelleme robots.txt şablonu

Genel arama tarayıcılarını olduğu gibi bırakırken, yaygın olarak belgelenmiş birkaç AI ilişkili tarayıcıyı engellemek için ihtiyatlı bir başlangıç noktası şudur:

# AI training and AI product crawlers
User-agent: GPTBot
Disallow: /

User-agent: ChatGPT-User
Disallow: /

User-agent: OAI-SearchBot
Disallow: /

User-agent: Google-Extended
Disallow: /

User-agent: CCBot
Disallow: /

User-agent: ClaudeBot
Disallow: /

User-agent: Claude-Web
Disallow: /

User-agent: PerplexityBot
Disallow: /

User-agent: Amazonbot
Disallow: /

User-agent: Bytespider
Disallow: /

User-agent: Meta-ExternalAgent
Disallow: /

# Default rule for other crawlers
User-agent: *
Allow: /

Bu sihirli, evrensel bir liste değildir. Sürdürülebilir bir kalıptır.

Birkaç not:

  • Disallow: /, “hiçbir yolu tarama” anlamına gelir.
  • User-agent: *, daha özel bir grupla eşleşmeyen tarayıcılara uygulanır.
  • Allow: / varsayılan grup için kesinlikle gerekli değildir, ancak niyetinizi netleştirir.
  • Yorumları kısa tutun. Bazı ayrıştırıcılar hoşgörülüdür, ancak robots.txt sıkıcı kalmalıdır.
  • robots.txt içine özel URL’ler koymayın. Dosya herkese açıktır ve hassas yolları listelemek onları ilan edebilir.

Son nokta tekrar edilmeye değerdir. Robots.txt bir gizlilik mekanizması değildir. /client-contracts/ herkese açık olmamalıysa, bunu kimlik doğrulamayla koruyun. Sadece disallow etmeyin.

Google-Extended konusunda dikkatli olun

Google-Extended yaygın biçimde yanlış anlaşılır. Google Search’ü engellemekle aynı şey değildir.

Google’ın belgelerine göre Google-Extended, yayıncıların site içeriğinin belirli Gemini ve Vertex AI yeteneklerini geliştirmeye yardımcı olup olmayacağını yönetmek için kullanabileceği bağımsız bir ürün belirtecidir. Bunu engellemek, tek başına Googlebot’un Search için tarama yapmasını engellememelidir.

Bununla birlikte, gerçekten bunu kastetmiyorsanız tüm Google yönergelerini şu gibi geniş bir engelle değiştirmeyin:

User-agent: Googlebot
Disallow: /

Bu, Google Search’ün ana tarayıcısına sitenizi taramamasını söyler. Çoğu herkese açık web sitesi için istediğiniz şey bu değildir.

Aynı ayrım başka yerlerde de geçerlidir. Bazı sağlayıcılar eğitim tarayıcılarını kullanıcı tetiklemeli gezinmeden veya AI arama tarayıcılarından ayırır. Bazıları ayırmaz. Önemsediğiniz botların belgelerini okumanız ve robots.txt dosyanızı tek seferlik bir onay kutusu değil, yaşayan bir dosya olarak ele almanız gerekir.

Dosyayı üretim kodu gibi test edin

Robots.txt basit görünür; bu yüzden bozması kolaydır.

Yaygın hatalar şunlardır:

  • Dosyayı /robots.txt yerine /assets/robots.txt gibi yanlış bir yere yüklemek.
  • Bir belge düzenleyiciden kopyalanmış akıllı tırnak işaretleri kullanmak.
  • Yanlışlıkla User-agent: * ve Disallow: / ile tüm tarayıcıları engellemek.
  • Bir alan adının dosyasının başka bir alt alan adına da uygulanacağını varsaymak.
  • Kurulumunuza bağlı olarak http://, https://, www ve www olmayan host’ların farklı ele alınabileceğini unutmak.

Çok alan adlı sitelerde her kanonik host’u kontrol edin. https://www.example.com/robots.txt adresindeki bir robots dosyası, https://app.example.com/robots.txt üzerinde otomatik olarak geçerli olmaz.

Hata ayıklarken, CMS önizlemenizin gösterdiğine değil, gerçek HTTP yanıtına bakın. 200 OK yanıtı, mümkünse text/plain içerik türü ve beklediğiniz dosyanın tam kendisini görmek istersiniz. Yönlendirmeler, önbellekleme veya CDN kuralları söz konusuysa ham başlık incelemesi yardımcı olur. Üretimde yönlendirmeleri ve HTTP başlıklarını hata ayıklama akışı burada doğrudan geçerlidir.

Kuralları yok sayan botlar için sunucu tarafı kontroller ekleyin

Tarayıcı uyumluysa robots.txt en temiz sinyaldir. Tarayıcı kötüye kullanıyorsa yaptırıma ihtiyacınız vardır.

Pratik kontroller şunlardır:

Hız sınırlama

Olağandışı istek kalıpları için eşikler belirleyin: dakikada çok fazla sayfa, derin sayfalama gezintisi, tekrarlanan 404’ler veya küçük bir IP kümesinden yüksek istek hacmi. Hız sınırları gerçek kullanıcıları cezalandırmayacak kadar cömert, toplu çıkarımı pahalı hale getirecek kadar sıkı olmalıdır.

User-agent filtreleme

Belgelenmiş AI tarayıcı user agent’larını web sunucusunda, ters proxy’de, CDN’de veya uygulama katmanında engelleyebilirsiniz. Bu, gerçek bir ret yanıtı döndürdüğü için robots.txt’den daha güçlüdür.

Örneğin Nginx bir user agent kalıbını engelleyebilir; ancak üretim kuralları dikkatle test edilmelidir:

if ($http_user_agent ~* "GPTBot|CCBot|ClaudeBot|Bytespider") {
    return 403;
}

Bu kusursuz değildir. User-agent dizelerini taklit etmek kolaydır. Ancak dürüst veya tembel trafiği durdurur ve yükü azaltır.

IP ve ASN kontrolleri

Bazı operatörler IP aralıkları yayımlar, ancak birçok kazıyıcı ekosistemi bunu yapmaz. IP tabanlı engelleme bariz kötüye kullanım için işe yarayabilir; özellikle normal kullanıcı trafiği olmayan bulut barındırma aralıklarında. Ancak yanlış pozitifler de oluşturabilir. Kurallardan önce günlükleri kullanın.

Kimlik doğrulama ve ödeme duvarları

İçeriğin ölçekli biçimde kopyalanmaması gerekiyorsa tam içeriği herkese açık bir URL’ye koymayın. Robots.txt gizli materyal, lisanslı veritabanları, özel topluluklar veya ücretli arşivler için uygun değildir.

İçerik minimizasyonu

Bazen en iyi koruma mimaridir. Herkese açık sayfa yalnızca küçük bir alt kümeye ihtiyaç duyuyorsa gereksiz API’leri, büyük JSON yüklerini, gizli metaverileri, taslak uç noktalarını veya tam arşivleri açığa çıkarmayın. Görsel ağırlıklı siteler yayımladıkları metaveriler hakkında da düşünmelidir; fotoğrafları çevrimiçi paylaşmadan önce EXIF metaverilerini kaldırma konusundaki gizlilik mantığı içerik operasyonları için de geçerlidir.

Sayfa düzeyi kurallar için robots meta etiketlerini kullanın

Robots.txt taramayı kontrol eder. Robots meta etiketleri ve X-Robots-Tag başlıkları, uyumlu arama motorları ve tarayıcılar için indeksleme ve snippet davranışını kontrol eder.

Örneğin:

<meta name="robots" content="noindex, noarchive">

Veya HTTP başlığı olarak:

X-Robots-Tag: noindex, noarchive

Bunlar AI’ye özel kalkanlar değildir. Bir sayfanın erişilebilir olmasını ama indekslenmemesini istediğinizde faydalıdır. Ancak bir tarayıcının bir sayfayı robots.txt içinde getirmesini engellerseniz, sayfa düzeyindeki meta etiketi hiç göremeyebilir. Tarayıcının taramasının yasaklandığı bir URL’deki noindex etiketine güvenmeyin.

Kabaca kural şudur:

  • Taramayı azaltmak veya önlemek için robots.txt kullanın.
  • İndeksleme davranışını kontrol etmek için meta robots veya X-Robots-Tag kullanın.
  • Erişimi uygulamak için sunucu tarafı kontroller kullanın.

Yayımladıktan sonra günlükleri izleyin

Dosyayı yayımlamak yalnızca ilk adımdır. Bundan sonra günlüklerinizi kontrol edin.

Şunları arayın:

  • Adını belirttiğiniz user agent’lardan /robots.txt istekleri.
  • Disallow kuralları sunulduktan sonra devam eden tarama.
  • Yüksek hacimli şüpheli user agent’lar.
  • Binlerce sayfayı sırayla isteyen tarayıcı benzeri user agent’lar.
  • Akışlara, site haritalarına, arama sayfalarına ve sayfalamaya tekrarlanan erişim.

Bir bot robots.txt ister, tam disallow görür ve sonra durursa robots.txt işini yapmıştır. Devam ederse o botu yaptırıma taşıyın: hız sınırları, engellemeler veya kimlik doğrulama.

Site haritası görünürlüğünüzü de gözden geçirin. Site haritaları arama motorları için faydalıdır, ancak kazıyıcılar için de kullanışlı haritalardır. Bu, sıradan sitelerden onları kaldırmanız gerektiği anlamına gelmez. Ancak herkese açık sistemlerin keşfetmesini istemediğiniz URL’leri dahil etmemeniz gerektiği anlamına gelir.

Dosyayı küçük ve gözden geçirilmiş tutun

Robots.txt zamanla çürümeye eğilimlidir. Bir pazarlama ekibi kampanya mikro sitesi ekler. Bir geliştirici hazırlık ortamı yolu ekler. Bir tedarikçi tarayıcı adını değiştirir. İki yıl sonra kimse kuralların yarısının neden var olduğunu bilmez.

Bunu yapılandırma olarak ele alın:

  • Mümkün olduğunda sürüm kontrolünde saklayın.
  • Her AI tarayıcı grubu için kısa bir yorum ekleyin.
  • Üç ayda bir gözden geçirin.
  • Geniş kurallar eklemeden önce sağlayıcı belgelerini kontrol edin.
  • CDN, CMS veya barındırma değişikliklerinden sonra test edin.

Siteniz AI destekli içerik yayımlıyorsa, tarayıcı politikasını editoryal şeffaflıktan da ayırın. AI kazıyıcılarını engellemek erişim ve yeniden kullanım ile ilgilidir. Açıklama ise okur güveniyle ilgilidir. Etik olarak örtüşürler, ancak aynı kontrol değildirler. Pratik bir açıklama yaklaşımı küçük bir web sitesinde dürüst AI açıklaması nasıl görünür yazısında ele alınmıştır.

<!-- tool-cta:start -->

💡 Bunu deneyin: AI tarayıcıları için kurallar ekledikten sonra, meşru botları da yanlışlıkla engellememek için söz dizimini Robots.txt Tester ile doğrulayın.

<!-- tool-cta:end -->

Sonuç

İyi bir robots.txt dosyası uyumlu AI tarayıcılarını engeller. Kararlı kazımayı, kopyalanmış user-agent dizelerini, ele geçirilmiş tarayıcıları veya içeriğinizi AI sistemlerine manuel olarak yapıştıran insanları durdurmaz.

Bu onu işe yaramaz yapmaz. Onu bir katman yapar.

Belgelenmiş AI tarayıcıları için açık kurallar yazın. Arama görünürlüğüne zarar veren geniş engellerden kaçının. Taslağı değil, sunulan dosyayı test edin. Günlükleri izleyin. Davranış istenmeyen olmaktan kötüye kullanıma geçtiğinde sunucu tarafı kontrollerle yaptırım uygulayın.

Web her zaman protokol, normlar ve yaptırım karışımıyla çalıştı. Robots.txt normlar katmanıdır. Kullanın, ancak onu bir duvar sanmayın.

Sıkça sorulan sorular

robots.txt, AI şirketlerinin içeriğimle eğitim yapmasını durdurabilir mi?
Uyumlu AI tarayıcılarına sitenizi bu amaçla taramamalarını söyleyebilir. Uyumlu olmayan kazıyıcıların herkese açık sayfalara erişmesini teknik olarak engelleyemez ve zaten toplanmış içeriği kaldırmaz.
Tüm kazıyıcıları durdurmak için User-agent: * engellemeli miyim?
Genellikle hayır. `User-agent: *`, daha özel bir kuralla eşleşmeyen tüm tarayıcılara uygulanır. Bu grubun altında `Disallow: /`, sıradan arama taramasını ve diğer faydalı botları engelleyebilir.
Google-Extended, Googlebot ile aynı mı?
Hayır. Google, `Google-Extended` öğesini bazı Gemini ve Vertex AI kullanımlarını kontrol etmek için ayrı bir ürün belirteci olarak belgeler. `Googlebot` öğesini engellemek çok daha geniş bir eylemdir ve Google Search taramasını etkileyebilir.
Bir AI kazıyıcısı robots.txt’yi yok sayarsa ne olur?
Sinyal vermekten yaptırıma geçin. Hız sınırlama, user-agent engelleri, uygun yerlerde IP veya ASN kontrolleri, bot yönetimi, kimlik doğrulama ve daha sıkı API/içerik görünürlüğü kullanın.
Hem robots.txt’ye hem de meta robots etiketlerine ihtiyacım var mı?
Farklı sorunları çözerler. Robots.txt taramayı kontrol eder. Meta robots etiketleri ve `X-Robots-Tag` başlıkları, sayfaya erişebilen uyumlu tarayıcılar için indeksleme ve snippet davranışını kontrol eder.

Kaynaklar ve ileri okuma

  1. RFC 9309: The Robots Exclusion Protocol
  2. Google Search Central: robots.txt specifications
  3. OpenAI: GPTBot documentation
  4. Google Search Central: Google-Extended
Yazar hakkında
The Wux Webtools Team

Son güncelleme:

Devamını oku