GPTBot Nasıl Engellenir? robots.txt, Nginx ve Apache ile Adım Adım
Kısaca: GPTBot'u engellemek için robots.txt'e User-agent: GPTBot ve Disallow: / kuralı ekleyin veya Nginx/Apache'de User-Agent başlığına göre 403 yanıtı döndürün. robots.txt bir nezaket protokolüdür; kesin engelleme için sunucu seviyesinde müdahale gerekir. GPTBot'u engellemek, ChatGPT arama sonuçlarını (OAI-SearchBot) veya Google sıralamasını etkilemez.
GPTBot Nedir ve Neden Engellemek İsteyebilirsiniz?
GPTBot, OpenAI'ın dil modellerini (GPT-4, GPT-5 vb.) eğitmek için web içeriğini tarayan resmi tarayıcısıdır. Kullanıcı kimliği Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; GPTBot/1.2; +https://openai.com/gptbot) şeklindedir.
Site sahipleri şu nedenlerle GPTBot'u engellemek isteyebilir:
- İçeriğin ticari AI modellerinin eğitiminde kullanılmasını önlemek
- Telif hakkı veya lisans politikası gereği içeriği korumak
- Sunucu kaynaklarını yalnızca insan ziyaretçilere ve arama motorlarına ayırmak
Önemli: GPTBot'u engellemek, sitenizin Google, Bing veya diğer arama motorlarındaki sıralamasını etkilemez. Ayrıca ChatGPT'nin arama özelliğinde (Browse with Bing) görünmenizi de engellemez; bu özellik OAI-SearchBot adlı ayrı bir tarayıcı kullanır.
1. robots.txt ile GPTBot Engelleme
robots.txt, tarayıcılara hangi sayfalara erişebileceklerini bildiren bir nezaket protokolüdür. GPTBot, OpenAI'ın resmi açıklamasına göre robots.txt kurallarına uyar.
Tüm Siteyi Engelleme
Site kökündeki robots.txt dosyasına şu kuralı ekleyin:
User-agent: GPTBot
Disallow: /
Bu kural, GPTBot'un sitenizin hiçbir sayfasını taramasını engeller.
Belirli Dizinleri Engelleme
Yalnızca belirli bölümleri engellemek için:
User-agent: GPTBot
Disallow: /blog/
Disallow: /private/
Allow: /public/
Bu örnekte /blog/ ve /private/ dizinleri engellenirken /public/ dizinine erişime izin verilir.
Doğrulama
robots.txt dosyanızı https://siteniz.com/robots.txt adresinden tarayıcıda açarak kontrol edin. Google Search Console'daki robots.txt raporu (eski "test aracı" kaldırıldı) veya URL denetimi aracıyla Googlebot için kuralları test edebilirsiniz, ancak GPTBot'a özel test aracı yoktur.
Sınırlama: robots.txt bir güvenlik mekanizması değildir. Kurallara uymayan veya kötü niyetli botlar bu dosyayı görmezden gelebilir. Kesin engelleme için sunucu seviyesinde müdahale gerekir.
2. Nginx ile User-Agent Bazlı Engelleme
Nginx yapılandırma dosyanızda (nginx.conf veya site-specific config) şu bloğu ekleyin:
server {
listen 80;
server_name siteniz.com;
if ($http_user_agent ~* "GPTBot") {
return 403;
}
# Diğer yapılandırmalar...
}
Bu kural, User-Agent başlığında "GPTBot" geçen tüm isteklere 403 Forbidden yanıtı döndürür. Değişiklikten sonra Nginx'i yeniden yükleyin:
sudo nginx -t
sudo systemctl reload nginx
Birden Fazla Bot Engelleme
Birden fazla AI tarayıcısını engellemek için:
if ($http_user_agent ~* (GPTBot|CCBot|ClaudeBot|PerplexityBot)) {
return 403;
}
Not: Nginx'te if direktifi bazı durumlarda beklenmedik davranışlara yol açabilir. Daha karmaşık senaryolar için map direktifi veya güvenlik duvarı (WAF) kullanımı önerilir.
3. Apache (.htaccess) ile User-Agent Bazlı Engelleme
Apache kullanan sunucularda site kökündeki .htaccess dosyasına şu kuralları ekleyin:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} GPTBot [NC]
RewriteRule .* - [F,L]
[NC] bayrağı büyük/küçük harf duyarsız eşleşme sağlar, [F,L] ise 403 Forbidden yanıtı döndürüp kuralları sonlandırır.
Birden Fazla Bot Engelleme
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (GPTBot|CCBot|ClaudeBot|PerplexityBot) [NC]
RewriteRule .* - [F,L]
Alternatif: SetEnvIfNoCase ile Engelleme
SetEnvIfNoCase User-Agent "GPTBot" bad_bot
Order Allow,Deny
Allow from all
Deny from env=bad_bot
Bu yöntem, mod_rewrite yerine mod_setenvif kullanır ve bazı yapılandırmalarda daha uyumlu olabilir.
4. Engellemenin Arama Görünürlüğüne Etkisi
GPTBot'u engellemek, sitenizin arama motorlarındaki performansını etkilemez. İşte neden:
| Tarayıcı | Amaç | Engellemenin Etkisi |
|---|---|---|
| GPTBot | OpenAI model eğitimi | Yalnızca AI eğitimini etkiler |
| OAI-SearchBot | ChatGPT arama sonuçları | Ayrı bot, GPTBot kuralından etkilenmez |
| Googlebot | Google arama indeksleme | Hiçbir etkisi yok |
| Bingbot | Bing arama indeksleme | Hiçbir etkisi yok |
ChatGPT Arama Özelliği: ChatGPT'nin "Browse with Bing" veya benzeri arama özellikleri OAI-SearchBot kullanır. Bu botu engellemek isterseniz robots.txt'e ayrı bir kural eklemeniz gerekir:
User-agent: OAI-SearchBot
Disallow: /
Kullanıcı Kaynaklı İstekler: Bir ChatGPT kullanıcısı doğrudan sitenizden içerik getirmesini istediğinde ChatGPT-User ajanı kullanılır. OpenAI, bu tür kullanıcı kaynaklı isteklerin robots.txt kurallarına aynı şekilde uymayabileceğini belirtir. Kesin engelleme için sunucu seviyesinde User-Agent kontrolü gerekir.
5. Engellemenin Doğrulanması
Uyguladığınız kuralların çalıştığını doğrulamak için:
- Tarayıcı Geliştirici Araçları: Tarayıcınızın User-Agent ayarını "GPTBot" olarak değiştirip sitenize erişmeyi deneyin. 403 hatası almalısınız.
- curl Komutu: Terminal veya komut satırında:
403 veya erişim reddi yanıtı almalısınız.curl -A "GPTBot/1.2" https://siteniz.com - Sunucu Logları: Nginx veya Apache erişim loglarında GPTBot isteklerini arayın ve 403 durum kodunu kontrol edin.
6. Ek Hususlar
Telif Hakkı ve Hukuki Boyut: robots.txt veya sunucu engelleme, içeriğinizin AI eğitiminde kullanılmasının yasal statüsünü değiştirmez. Telif hakkı endişeleriniz varsa hukuki danışmanlık almanız önerilir.
Diğer AI Tarayıcıları: GPTBot dışında ClaudeBot (Anthropic), CCBot (Common Crawl), PerplexityBot (Perplexity) gibi tarayıcılar da vardır. Bunları da engellemek isterseniz her biri için ayrı kurallar eklemeniz gerekir.
Google-Extended: Google'ın Gemini ve Vertex AI eğitimi için kullanımını kontrol eden bir robots.txt belirtecidir (ayrı bir tarayıcı değil). Google Arama sıralamasını etkilemez. Engellemek için:
User-agent: Google-Extended
Disallow: /
Sık Sorulan Sorular
GPTBot'u robots.txt ile engellemek yeterli mi, yoksa sunucu seviyesinde de engelleme gerekli mi?
robots.txt, OpenAI'ın resmi tarayıcısı GPTBot için yeterlidir çünkü OpenAI bu kurallara uyduğunu taahhüt eder. Ancak robots.txt bir güvenlik mekanizması değil, nezaket protokolüdür. Kurallara uymayan üçüncü taraf botlar veya GPTBot kimliğini taklit eden kötü niyetli tarayıcılar için Nginx veya Apache seviyesinde User-Agent bazlı engelleme daha güvenlidir. Her iki yöntemi birlikte kullanmak en iyi uygulamadır.
GPTBot'u engellemek ChatGPT'nin beni arama sonuçlarında göstermesini engeller mi?
Hayır. ChatGPT'nin arama özellikleri (Browse with Bing gibi) OAI-SearchBot adlı ayrı bir tarayıcı kullanır. GPTBot yalnızca model eğitimi içindir. ChatGPT arama sonuçlarından çıkmak isterseniz robots.txt'e User-agent: OAI-SearchBot ve Disallow: / kuralını ayrıca eklemeniz gerekir. Ancak kullanıcı kaynaklı istekler (ChatGPT-User) robots.txt'e aynı şekilde uymayabilir; kesin engelleme için sunucu seviyesinde müdahale gerekir.
GPTBot'u engelledikten sonra Google sıralamam düşer mi?
Hayır, GPTBot'u engellemek Google sıralamanızı hiçbir şekilde etkilemez. GPTBot, OpenAI'ın model eğitimi için kullandığı bir tarayıcıdır; Google'ın indeksleme veya sıralama sistemleriyle ilgisi yoktur. Google, kendi tarayıcısı Googlebot'u kullanır. Benzer şekilde, Google-Extended belirtecini engellemek de Google Arama sıralamasını etkilemez; bu belirteç yalnızca Gemini ve Vertex AI eğitimi için kullanımı kontrol eder.
Nginx'te "if" direktifi yerine daha güvenli bir yöntem var mı?
Evet, Nginx'te if direktifi bazı durumlarda beklenmedik davranışlara yol açabilir. Daha güvenli bir alternatif map direktifi kullanmaktır:
map $http_user_agent $bad_bot {
default 0;
~*GPTBot 1;
~*CCBot 1;
}
server {
if ($bad_bot) {
return 403;
}
}
Karmaşık senaryolar veya yüksek trafikli siteler için ModSecurity gibi bir Web Application Firewall (WAF) veya Cloudflare gibi CDN seviyesinde bot yönetimi daha etkili ve performanslıdır.