İçeriğe geç
Approvalens

Okuma odası · 5 dk okuma

Yapay Zekâ Botları Hosting, Güvenlik Duvarı ya da Eklentiye mi Takılıyor?

robots.txt izin veriyor ama botlar hâlâ 403 mü alıyor? WordPress eklentileri, nginx, Apache, .htaccess, Vercel ve Netlify'da engeli bulmak ve kaldırmak.

Approvalens ekibi

Şu rapor bulgularını düzeltir

  • Yapay zekâ botları sayfalarını sunucudan alabiliyor

robots.txt yapay zekâ botlarına izin verdiği hâlde 403, 429 ya da doğrulama sayfası alıyorlarsa engel içeriğinin önünde duruyor: bir CDN ya da barındırma güvenlik duvarı, bir sunucu kuralı veya bir WordPress eklentisi. robots.txt yalnızca tercih bildiriyor; isteğin cevaplanıp cevaplanmayacağına bu katmanlar karar veriyor. Dışarıdan içeriye doğru sırayla bak (CDN, barındırma güvenlik duvarı, web sunucusu, CMS eklentileri), yapay zekâ botlarının adını içeren kullanıcı aracısı listelerini bul ve izin vermek istediğin botları kullanıcı aracısı metnine göre değil, yayımlanan IP aralıklarına göre geçir.

Engelin sunucu tarafında olduğunu nasıl anlarsın?

Belirti Muhtemel katman
robots.txt bota izin veriyor ama kayıtlarda istekleri 403 alıyor Güvenlik duvarı, sunucu kuralı ya da eklenti
İstekler sunucu kayıtlarına hiç düşmüyor Sunucunun önündeki CDN ya da barındırma güvenlik duvarı
"Just a moment", "Checking your browser" ya da benzeri bir sayfa Bot doğrulaması (CDN ya da barındırma)
429 Too Many Requests Hız sınırlama
200, ama gövdede kısa bir engel mesajı Özel sayfa döndüren bir eklenti ya da kenar fonksiyonu

Önce CDN'in ve barındırma servisinin kayıtlarına ya da güvenlik olaylarına, sonra web sunucusunun erişim kaydına, en son CMS'e bak.

Cloudflare

Cloudflare'in kendi AI bot politikaları, AI Crawl Control'ü ve yönetilen robots.txt'si, ayrıca Bot Fight Mode ve WAF kuralları var. Yeterince yaygın olduğu için ayrı bir rehberi var: Cloudflare yapay zekâ bot engeli.

Vercel

Vercel'in güvenlik duvarında bir AI Bots Managed Ruleset var. Vercel belgelerine göre:

  • Tüm planlarda var ve varsayılan olarak devre dışı; panelde Allow olarak görünüyor.
  • Projenin Firewall > Rules > Bot Management bölümünden ayarlanıyor: Log (yalnızca kaydet) ya da Deny (yapay zekâ botu olarak tanınan tüm trafiği engelle).
  • Ayrı olan Bot Protection Managed Ruleset, Challenge'a ayarlandığında tarayıcı olma ihtimali düşük trafiğe JavaScript doğrulaması gösteriyor.

Vercel'deki bir sitede yapay zekâ botları engelleniyorsa bu iki kural setinden biri Deny ya da Challenge'da mı, bak. Belirli bir trafiği yönetilen bir kural setinden geçirmek için Vercel, bir WAF özel kuralında bypass eylemini belgeliyor.

Netlify

Netlify'ın User Agent Blocker eklentisi, bir Edge Function kullanarak, seçtiğin hazır bir yapay zekâ botları ve SEO/arama botları listesinden gelen istekleri engelleyebiliyor (Netlify belgesi). Proje bazında Extensions > User Agent Blocker > Block User Agents altından ayarlanıyor.

Kontrol edilecek iki şey: hangi seçeneklerin işaretli olduğu (liste yalnızca yapay zekâ eğitim botlarını değil arama botlarını da içeriyor) ve eklentinin söz konusu projede etkin olup olmadığı.

WordPress eklentileri

SEO ve güvenlik eklentileri robots.txt'ye yapay zekâ botu kuralları ekleyebiliyor ya da istekleri doğrudan engelleyebiliyor.

  • Yoast SEO Premium: Settings > Advanced > Crawl optimization > Block unwanted bots altında Google AdsBot, Google-Extended, GPTBot ve CCBot için anahtarlar var; bunlar robots.txt kuralı yazıyor (Yoast). Yoast'un kendi yardım sayfası, Google Ads kullanıyorsan Google AdsBot'u engellemenin ciddi olumsuz sonuçları olabileceği konusunda uyarıyor.
  • The SEO Framework: SEO Settings > Robots Settings > Robots.txt altında hazır "AI" ve "SEO" engel listeleri var. AI listesinde Amazonbot, Applebot-Extended, CCBot, ClaudeBot, GPTBot, Google-Extended, GoogleOther, Meta-ExternalAgent ve FacebookBot bulunuyor (TSF). OAI-SearchBot ve PerplexityBot listede yok.
  • Güvenlik ve güvenlik duvarı eklentileri: çoğunda kullanıcı aracısı kara listeleri, "kötü bot" listeleri, ülke engeli ve hız sınırlama var. İçinde GPTBot, ClaudeBot, PerplexityBot, OAI-SearchBot, Bytespider, CCBot ya da bot|crawl|spider gibi bir kalıp geçen her listeye bak.

Hazır bir platform kullanıyorsan platformun kendi ayarına da bak; örneğin Squarespace'in "Block known artificial intelligence crawlers" kutusu (Squarespace).

nginx

Yapılandırmada kullanıcı aracısı kurallarını ara:

grep -rniE "http_user_agent|gptbot|claudebot|perplexity|oai-searchbot|ccbot|bytespider" /etc/nginx/

Tipik bir engel şöyle görünüyor:

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

İzin vermek istediğin botları kalıptan çıkar; robots.txt zaten istediğini söylüyorsa bloğun tamamını kaldır. limit_req bölgelerine (hız sınırları varsayılan olarak 503 ile, ya da limit_req_status ile belirlenen kodla cevap veriyor) ve IP aralıkları için deny kurallarına da bak. Düzenledikten sonra önce nginx -t, sonra nginx'i yeniden yükle.

Apache ve .htaccess

Sanal sunucu dosyalarında ve her .htaccess dosyasında ara:

grep -rniE "HTTP_USER_AGENT|BrowserMatch|SetEnvIf|gptbot|claudebot|perplexity" /etc/apache2/ /var/www/

Tipik kalıplar:

RewriteCond %{HTTP_USER_AGENT} (GPTBot|ClaudeBot|PerplexityBot) [NC]
RewriteRule .* - [F,L]

ya da

SetEnvIfNoCase User-Agent "GPTBot" bad_bot
Require not env bad_bot

[F] 403 Forbidden döndürüyor. İzin vermek istediğin botları kalıptan çıkar. Kuralı .htaccess'e bir eklenti yazdıysa, eklentideki ayar açık kaldıkça geri gelebilir; ayarı eklentide de değiştir.

Kullanıcı aracısına göre değil, IP'ye göre izin ver

Yalnızca kullanıcı aracısına göre eşleştirmek, isteğine GPTBot yazan herkesi içeri alıyor. Şirketler IP aralıklarını tam da bunun için yayımlıyor:

Şirket Aralıklar
OpenAI gptbot.json, searchbot.json, chatgpt-user.json (belge)
Anthropic bots.json (belge)
Perplexity perplexitybot.json, perplexity-user.json (belge)
Apple applebot.json ya da *.applebot.apple.com ters DNS (belge)
Common Crawl ccbot.json, crawl.commoncrawl.org ters DNS (belge)
Amazon Amazonbot, Amzn-SearchBot, Amzn-User (belge)

Aralıklar değiştiği için Perplexity bunları otomatik yenilemeni öneriyor.

Anthropic'ten bir uyarı: çıkmak için IP'lerini engellemek düzgün çalışmayabilir, çünkü bot o zaman çıkmak istediğini göreceği robots.txt'ni okuyamıyor. Hayır demek için robots.txt'yi, kötüye kullanım için güvenlik duvarı kurallarını kullan.

Bu arada Google'ı bozma

bot|crawler|spider gibi geniş bir kalıp Googlebot'u ve AdSense botunu da yakalıyor. Aynı kural Google'ı da engelliyorsa bu bir AdSense sorunu; incelemede nasıl göründüğünü site kapalı veya kullanılamıyor rehberi anlatıyor. Her değişiklikten sonra Googlebot erişim kontrolüyle kontrol et.

Dışarıdan kontrol et

Ücretsiz yapay zekâ bot kontrolü sayfanı her büyük yapay zekâ botunun kullanıcı aracısıyla istiyor; durum kodunu ve varsa doğrulama sayfasını robots.txt'nin söylediğinin yanında gösteriyor. Böylece "robots.txt izin veriyor, sunucu 403 diyor" gibi bir çelişki hemen göze çarpıyor. Bu istekler benzetim: şirketlerin IP aralıklarından değil bizim sunucumuzdan gidiyor; IP tabanlı bir izin ya da engel listesi gerçek botlara farklı cevap verebilir. Kayıtlarında teyit et. Google'ın botları için aynı kontrolleri ücretsiz Approvalens taraması yapıyor.

Sık sorulan sorular

Site bende açılıyor ama yapay zekâ botlarını engelliyor. Neden?

Kullanıcı aracısına ya da "otomatik" trafiğe göre eşleşen kurallar tarayıcına dokunmuyor. Botun kullanıcı aracısıyla test et ve gerçek botun isteklerini sunucu kayıtlarında oku.

Kuralı kaldırdım ama botlar hâlâ engelli. Neden?

Başka bir katmana bak: öndeki bir CDN, barındırma düzeyinde bir güvenlik duvarı, .htaccess'i yeniden yazan bir eklenti ya da önbellekteki robots.txt. Botların tekrar denemesi de zaman alıyor; OpenAI ve Perplexity robots.txt değişiklikleri için yaklaşık 24 saatten söz ediyor.

Kullanıcı aracısına göre engellemek işe yaramaz mı?

Kendini tanıtan dürüst botları durduruyor; onlar zaten robots.txt'ye de uyuyor. Kendini tarayıcı gibi gösteren birini durdurmuyor. Hem izin hem engel için IP tabanlı kurallar daha isabetli.

Hız sınırı engel gibi görünebilir mi?

Evet. Sürekli 429 ya da 503 alan bir bot yavaşlayabilir ya da durabilir. Doğrulanmış botları muaf tut ya da içerik sayfalarında sınırları yükselt.

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.

Ücretsiz tarama · puan ve bulunan tüm sorunlar · üyelik yok

Tüm rehberler →