robots.txt'te Yapay Zeka Botlarını Yönetme Rehberi
Canlı test: GPTBot / AI bot kontrol aracı — domain yaz, anında sonuç.
Yapay Zeka Botlarını robots.txt ile Yönetmek: Kapsamlı Teknik Rehber
Yapay zeka teknolojilerinin hızla gelişmesiyle birlikte, web sitenizi ziyaret eden botların sayısı ve çeşitliliği önemli ölçüde arttı. Geleneksel arama motoru tarayıcılarının yanı sıra, artık içeriğinizi büyük dil modelleri (LLM) eğitmek veya yapay zeka destekli arama sonuçlarında kullanmak için tarayan özel botlarla karşılaşıyorsunuz. Bu botları doğru şekilde yönetmek, hem içeriğinizin nasıl kullanılacağını kontrol etmek hem de sunucu kaynaklarınızı optimize etmek açısından kritik önem taşıyor.
Bu rehberde, başlıca yapay zeka botlarının nasıl tanımlandığını, hangi amaçlarla içeriğinizi taradıklarını ve robots.txt dosyanızda bunları nasıl yöneteceğinizi detaylı olarak inceleyeceğiz. Ayrıca, arama motoru görünürlüğünüzü korurken yapay zeka eğitimini sınırlandıran pratik bir yapılandırma örneği sunacağız.
Yapay Zeka Botlarını Anlamak: Amaçlar ve User-Agent'lar
Her yapay zeka botu, robots.txt dosyanızı okurken kendini belirli bir "user-agent" dizesiyle tanıtır. Ancak tüm botlar aynı amaçla içeriğinizi taramaz. Bazıları içeriğinizi arama sonuçlarında göstermek veya kullanıcı sorgularına yanıt vermek için okurken, diğerleri yapay zeka modellerini eğitmek için veri toplar. Bu ayrım son derece önemlidir çünkü birincisine izin verip ikincisini engellemek isteyebilirsiniz.
Başlıca Yapay Zeka Botları ve Amaçları
| Bot Adı (User-Agent) | Şirket | Birincil Amaç | İkincil Amaç | Arama Görünürlüğü Etkisi |
|---|---|---|---|---|
| GPTBot | OpenAI | Model eğitimi (GPT-4, GPT-5 vb.) | - | Hayır |
| ChatGPT-User | OpenAI | ChatGPT web tarama özelliği | Kullanıcı sorgularına yanıt | Dolaylı (kullanıcı paylaşımı) |
| ClaudeBot | Anthropic | Model eğitimi ve iyileştirme | - | Hayır |
| Claude-Web | Anthropic | Claude.ai arama özelliği | Kullanıcı sorgularına yanıt | Dolaylı (kullanıcı paylaşımı) |
| PerplexityBot | Perplexity AI | Arama sonuçları için içerik toplama | Model iyileştirme | Evet (alıntı ve kaynak) |
| Google-Extended | Gemini ve diğer AI ürünleri için eğitim | - | Hayır (Googlebot'tan ayrı) | |
| GoogleOther | Çeşitli araştırma ve geliştirme | - | Hayır | |
| Applebot-Extended | Apple | Apple Intelligence özellikleri için eğitim | - | Hayır (Applebot'tan ayrı) |
| CCBot | Common Crawl | Açık web arşivi oluşturma | Araştırma ve AI eğitimi için veri | Hayır |
| anthropic-ai | Anthropic | Genel araştırma ve veri toplama | - | Hayır |
| Omgilibot | Omgili | Haber ve içerik toplama | - | Dolaylı |
| FacebookBot | Meta | Link önizlemeleri ve AI eğitimi | - | Dolaylı (sosyal paylaşım) |
Kritik Ayrım: Arama vs. Eğitim
Tabloda görebileceğiniz gibi, şirketler genellikle iki farklı bot kullanıyor: biri arama/yanıt özellikleri için (ChatGPT-User, Claude-Web, PerplexityBot), diğeri model eğitimi için (GPTBot, ClaudeBot, Google-Extended). Bu ayrımı anlamak çok önemli çünkü:
- Arama/Yanıt botları: İçeriğinizi kullanıcılara gösterir, sitenize trafik getirebilir ve kaynak olarak atıfta bulunur. Bunları engellemek, yapay zeka destekli arama sonuçlarında görünürlüğünüzü azaltır.
- Eğitim botları: İçeriğinizi model ağırlıklarına dahil eder, genellikle kaynak göstermez ve doğrudan trafik getirmez. Bunları engellemek, içeriğinizin izniniz olmadan kullanılmasını önler.
Örneğin, Google-Extended'ı engellerseniz, içeriğiniz Gemini'yi eğitmek için kullanılmaz, ancak normal Google arama sonuçlarında (Googlebot aracılığıyla) görünmeye devam edersiniz. Benzer şekilde, GPTBot'u engellerken ChatGPT-User'a izin verirseniz, ChatGPT kullanıcıları sitenizi arama özelliğiyle bulabilir ancak içeriğiniz GPT-5 eğitiminde kullanılmaz.
robots.txt Dosyasının Temelleri
robots.txt dosyası, web sitenizin kök dizininde (örneğin, https://example.com/robots.txt) bulunan ve botlara hangi sayfalara erişebileceklerini söyleyen düz metin bir dosyadır. Temel sözdizimi şöyledir:
User-agent: [bot adı]
Disallow: [engellenecek yol]
Allow: [izin verilecek yol]
Birkaç önemli kural:
User-agent: *tüm botlar anlamına gelirDisallow: /tüm siteyi engellerDisallow:(boş) hiçbir şeyi engellemez, her şeye izin verir- Daha spesifik kurallar, genel kuralları geçersiz kılar
- Her User-agent bölümü bağımsızdır
Pratik Yapılandırma: Arama İzin Ver, Eğitim Engelle
Çoğu site sahibi için ideal senaryo, içeriğinin arama sonuçlarında ve yapay zeka yanıtlarında görünmesine izin verirken, izinsiz model eğitimini engellemektir. İşte bu dengeyi sağlayan kapsamlı bir robots.txt örneği:
# Genel arama motorları - tam erişim
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
User-agent: Slurp
Allow: /
# Google AI eğitimi - engelle
User-agent: Google-Extended
Disallow: /
# Google araştırma botları - engelle
User-agent: GoogleOther
Disallow: /
# OpenAI model eğitimi - engelle
User-agent: GPTBot
Disallow: /
# OpenAI arama özelliği - izin ver (isteğe bağlı)
User-agent: ChatGPT-User
Allow: /
# Anthropic model eğitimi - engelle
User-agent: ClaudeBot
Disallow: /
User-agent: anthropic-ai
Disallow: /
# Anthropic arama özelliği - izin ver (isteğe bağlı)
User-agent: Claude-Web
Allow: /
# Perplexity - seçici izin
# Not: Perplexity hem arama hem eğitim için kullanıyor
# Arama görünürlüğü istiyorsanız izin verin
User-agent: PerplexityBot
Allow: /
# Alternatif: Perplexity'yi tamamen engellemek için:
# User-agent: PerplexityBot
# Disallow: /
# Apple AI eğitimi - engelle
User-agent: Applebot-Extended
Disallow: /
# Common Crawl - engelle
User-agent: CCBot
Disallow: /
# Meta/Facebook - seçici
User-agent: FacebookBot
Disallow: /private/
Disallow: /user-content/
Allow: /
# Diğer bilinen AI tarayıcıları - engelle
User-agent: Omgilibot
Disallow: /
User-agent: Bytespider
Disallow: /
User-agent: Diffbot
Disallow: /
# Hassas içerik için ek koruma
User-agent: *
Disallow: /admin/
Disallow: /api/
Disallow: /private/
Disallow: /*.json$
Disallow: /*?*apikey=
# Sitemap (arama motorları için yardımcı)
Sitemap: https://example.com/sitemap.xml
Bu Yapılandırmanın Açıklaması
Yukarıdaki robots.txt dosyası şu stratejiyi uygular:
- Geleneksel arama motorlarına (Googlebot, Bingbot) tam erişim: Normal arama görünürlüğünüzü korur
- AI eğitim botlarını engeller: GPTBot, ClaudeBot, Google-Extended, Applebot-Extended ve CCBot içeriğinizi model eğitimi için toplayamaz
- AI arama botlarına izin verir: ChatGPT-User ve Claude-Web, kullanıcı sorgularına yanıt vermek için sitenizi tarayabilir (bu isteğe bağlıdır)
- Perplexity için seçim yapmanızı sağlar: Perplexity hem arama hem eğitim için kullandığından, ihtiyacınıza göre izin verebilir veya engelleyebilirsiniz
- Hassas dizinleri korur: Admin panelleri, API endpoint'leri ve özel içerik tüm botlardan korunur
Sık Yapılan Kritik Hata: Yanlışlıkla Tüm Botları Engellemek
robots.txt ile yapılan en yaygın ve en zararlı hata, yalnızca yapay zeka botlarını engellemeye çalışırken yanlışlıkla tüm arama motorlarını engellemektir. Bu, sitenizin Google, Bing ve diğer arama motorlarından tamamen kaybolmasına neden olur.
Yanlış Yapılandırma Örneği (YAPMAYIN!)
# YANLIŞ! Bu tüm botları engeller
User-agent: *
Disallow: /
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
Bu yapılandırma neden yanlış? Çünkü User-agent: * bölümü tüm botlar için geçerlidir ve Disallow: / tüm siteyi engeller. Altında GPTBot ve ClaudeBot için özel kurallar olsa bile, bu botlar zaten üstteki genel kuralla engellenmiştir. Daha da kötüsü, Googlebot ve Bingbot gibi kritik arama motorları da engellenmiştir.
Doğru Yaklaşım
# DOĞRU! Önce genel izin, sonra spesifik engellemeler
User-agent: *
Allow: /
# Şimdi spesifik botları engelle
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
User-agent: CCBot
Disallow: /
Veya daha iyi bir yaklaşım, User-agent: * bölümünü en sona koymak ve yalnızca gerçekten tüm botlar için geçerli olmasını istediğiniz kuralları (örneğin, admin dizinlerini engelleme) orada tanımlamak:
# Önce izin verilen botlar
User-agent: Googlebot
Allow: /
User-agent: Bingbot
Allow: /
# Sonra engellenen botlar
User-agent: GPTBot
Disallow: /
User-agent: ClaudeBot
Disallow: /
# En son genel kurallar (tüm botlar için)
User-agent: *
Disallow: /admin/
Disallow: /private/
Yapılandırmanızı Test Etme
robots.txt dosyanızı yükledikten sonra, doğru çalıştığını doğrulamak kritik önem taşır. İşte test adımları:
1. Sözdizimi Doğrulama
Dosyanızın https://example.com/robots.txt adresinden erişilebilir olduğunu kontrol edin. Tarayıcınızda açın ve düz metin olarak görüntülendiğinden emin olun (HTML değil).
2. Google Search Console ile Test
Google Search Console'da robots.txt test aracını kullanın:
- Search Console'a giriş yapın
- Eski araçlar > robots.txt Tester'a gidin
- Farklı URL'leri ve user-agent'ları test edin
- Googlebot'un erişebildiğini, Google-Extended'ın engellendiğini doğrulayın
3. Manuel Curl Testi
Komut satırından farklı user-agent'larla test edebilirsiniz:
# Normal tarayıcı olarak test
curl -A "Mozilla/5.0" https://example.com/
# Googlebot olarak test (izin verilmeli)
curl -A "Googlebot" https://example.com/
# GPTBot olarak test (engellenebilir, ancak robots.txt zorlamaz)
curl -A "GPTBot" https://example.com/
Önemli not: robots.txt bir "rica" protokolüdür. İyi niyetli botlar kurallara uyar, ancak kötü niyetli botlar görmezden gelebilir. robots.txt, güvenlik mekanizması değil, erişim tercihlerinizi bildirme yöntemidir.
Gelişmiş Senaryolar ve İnce Ayarlar
Belirli Bölümlere Seçici Erişim
Bazı içeriğinizi yapay zeka eğitimine açmak, bazısını engellemek isteyebilirsiniz:
User-agent: GPTBot
# Blog yazılarına izin ver
Allow: /blog/
# Ancak premium içeriği engelle
Disallow: /premium/
Disallow: /members-only/
# Ürün sayfalarını engelle
Disallow: /products/
Tarama Hızını Kontrol Etme
Bazı botlar Crawl-delay direktifini destekler (ancak Googlebot desteklemez):
User-agent: PerplexityBot
Crawl-delay: 10
Disallow: /api/
Bu, bot'un istekler arasında 10 saniye beklemesini söyler, sunucu yükünü azaltır.
Dinamik İçerik ve API Endpoint'leri
API'lerinizi ve dinamik içeriğinizi korumak özellikle önemlidir:
User-agent: *
# API endpoint'lerini engelle
Disallow: /api/
Disallow: /v1/
Disallow: /v2/
# JSON ve XML feed'leri engelle
Disallow: /*.json$
Disallow: /*.xml$
Disallow: /feed/
# Arama ve filtreleme URL'lerini engelle
Disallow: /*?s=
Disallow: /*?search=
Disallow: /*&filter=
İzleme ve Sürdürme
robots.txt yapılandırmanız "bir kez ayarla unut" türünde bir şey değildir. Düzenli bakım gerektirir:
Sunucu Loglarını İzleyin
Hangi botların sitenizi ziyaret ettiğini görmek için sunucu loglarınızı düzenli olarak inceleyin:
# Apache/Nginx loglarında AI botlarını arama
grep -E "GPTBot|ClaudeBot|CCBot|Google-Extended" access.log
# En sık ziyaret eden botları sayma
awk '{print $12}' access.log | sort | uniq -c | sort -rn | head -20
Yeni Botları Takip Edin
Yapay zeka alanı hızla gelişiyor ve sürekli yeni botlar ortaya çıkıyor. Şu kaynaklardan haberdar olun:
- AI şirketlerinin resmi dokümantasyonları
- Dark Visitors (darkvisitors.com) gibi bot veritabanları
- Web geliştirici toplulukları ve forumlar
Üç Ayda Bir Gözden Geçirin
robots.txt dosyanızı her üç ayda bir gözden geçirin ve şunları kontrol edin:
- Yeni yapay zeka botları eklenmiş mi?
- Mevcut botların davranışları değişmiş mi?
- İş hedefleriniz değişmiş mi (örneğin, artık yapay zeka eğitimine izin vermek istiyor musunuz)?
- Engellenmiş botlar kurallara uyuyor mu?
Ek Koruma Katmanları
robots.txt tek başına yeterli olmayabilir. Ek koruma önlemleri:
1. HTTP Başlıklarıyla Kontrol
Sunucu yapılandırmanızda user-agent bazlı erişim kontrolü:
# Nginx örneği
if ($http_user_agent ~* (GPTBot|ClaudeBot|CCBot)) {
return 403;
}
# Apache .htaccess örneği
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (GPTBot|ClaudeBot|CCBot) [NC]
RewriteRule .* - [F,L]
2. Meta Etiketleriyle Sayfa Düzeyinde Kontrol
HTML sayfalarınıza meta etiketleri ekleyin:
<meta name="robots" content="noai, noimageai">
<meta name="googlebot" content="index, follow">
<meta name="googlebot-extended" content="noindex, nofollow">
3. X-Robots-Tag HTTP Başlığı
HTML olmayan içerik (PDF, resimler) için:
# Nginx
location ~* \.(pdf|jpg|png)$ {
add_header X-Robots-Tag "noai, noimageai";
}
Yasal ve Etik Değerlendirmeler
robots.txt teknik bir araç olsa da, yasal ve etik boyutları da vardır:
- Yasal bağlayıcılık: robots.txt yasal olarak bağlayıcı değildir, ancak bazı mahkemeler bunu "erişim izni" kanıtı olarak değerlendirmiştir
- Telif hakkı: İçeriğinizi engellemek, telif hakkı ihlallerine karşı ek bir savunma katmanı oluşturabilir
- Veri gizliliği: GDPR ve benzeri düzenlemeler, kullanıcı verilerinin yapay zeka eğitiminde kullanılmasını sınırlayabilir
- Şeffaflık: Kullanıcılarınıza, içeriğinizin yapay zeka tarafından nasıl kullanılabileceğini bildirmek iyi bir uygulamadır
Yapay zeka botlarını yönetme konusunda bilinçli kararlar vermek, hem teknik hem de stratejik bir süreçtir. İçeriğinizin değerini korurken, modern yapay zeka ekosisteminde görünür kalmanız gerekiyor. Doğru robots.txt yapılandırması bu dengenin temelini oluşturur.
Sitenizin yapay zeka botlarına karşı ne kadar korumalı olduğunu merak ediyorsanız, AICompatible.com'un ücretsiz tarayıcısı robots.txt yapılandırmanızı, meta etiketlerinizi ve HTTP başlıklarınızı analiz ederek kapsamlı bir uyumluluk raporu sunabilir. Hangi botların erişebildiğini, hangi içeriğinizin korumasız olduğunu ve yapılandırmanızı nasıl iyileştirebileceğinizi görebilirsiniz.
Sıkça Sorulan Sorular
robots.txt dosyasında GPTBot'u engellesem bile OpenAI içeriğimi kullanabilir mi?
Hayır, OpenAI resmi olarak GPTBot'un robots.txt kurallarına uyduğunu belirtmiştir. GPTBot'u engellerseniz, içeriğiniz gelecekteki GPT modellerini eğitmek için kullanılmayacaktır. Ancak bu, geçmişte (GPTBot duyurulmadan önce) toplanmış verileri kapsamaz ve yalnızca OpenAI'nin kendi tarayıcısı için geçerlidir - içeriğinizi başka kaynaklardan (örneğin Common Crawl arşivlerinden) edinen üçüncü taraflar için geçerli değildir.
Perplexity, ChatGPT ve Claude gibi yapay zeka arama motorlarını engellemek SEO'ma zarar verir mi?
Geleneksel SEO'nuza (Google, Bing) doğrudan zarar vermez çünkü bunlar farklı botlar kullanır. Ancak yapay zeka destekli arama sonuçlarındaki görünürlüğünüzü azaltır. Perplexity özellikle kaynak göstererek trafik getirebilir, bu yüzden onu engellemek potansiyel ziyaretçi kaybı anlamına gelir. ChatGPT-User ve Claude-Web ise kullanıcı talebi üzerine çalışır ve dolaylı görünürlük sağlar. Stratejiniz, yapay zeka eğitimi botlarını (GPTBot, ClaudeBot) engellerken arama botlarına (ChatGPT-User, PerplexityBot) izin vermek olabilir.
robots.txt dosyamı güncelledikten sonra değişiklikler ne kadar sürede etkili olur?
Değişiklikler anında yayınlanır ve botlar robots.txt dosyanızı her ziyarette kontrol eder, ancak pratik etki gecikebilir. İyi niyetli botlar genellikle robots.txt'yi önbelleğe alır ve birkaç saatte bir (bazen günde bir) yeniden kontrol eder. Google'ın robots.txt önbelleği yaklaşık 24 saat sürer. Yani tam etkiyi görmek 24-48 saat alabilir. Acil değişiklikler için, Google Search Console'da robots.txt'yi yeniden gönderebilir veya sunucu düzeyinde engellemeler uygulayabilirsiniz.
User-agent: * ile tüm yapay zeka botlarını tek seferde engelleyebilir miyim?
Teknik olarak evet, ancak bu son derece önerilmez çünkü Googlebot, Bingbot ve diğer tüm meşru tarayıcıları da engellersiniz, bu da sitenizin arama motorlarından tamamen kaybolmasına neden olur. Doğru yaklaşım, her yapay zeka botunu ayrı User-agent bölümlerinde spesifik olarak engellemektir. User-agent: * bölümünü yalnızca tüm botlar için geçerli olmasını istediğiniz kurallar (örneğin /admin/ dizinini engelleme) için kullanın ve bunu dosyanın sonuna yerleştirin.
robots.txt yeterli bir güvenlik önlemi midir yoksa ek koruma gerekir mi?
robots.txt tek başına yeterli değildir çünkü bu bir "rica" protokolüdür ve yasal olarak bağlayıcı değildir. Kötü niyetli botlar bunu kolayca görmezden gelebilir. Kapsamlı koruma için katmanlı bir yaklaşım kullanın: robots.txt'yi temel tercihlerinizi bildirmek için kullanın, ardından sunucu düzeyinde user-agent bazlı engelleme, HTML meta etiketleri (noai, noimageai), X-Robots-Tag HTTP başlıkları ve hassas içerik için kimlik doğrulama ekleyin. Ayrıca sunucu loglarınızı düzenli izleyerek kurallara uymayan botları tespit edin ve IP düzeyinde engelleyin.