429 Too Many Requests (Çok Fazla İstek) hatası, genellikle bir web sitesine erişmeye çalıştığınızda isteğinizin reddedilmesiyle sonuçlanan yaygın bir tarayıcı hata mesajıdır. Bu hata, internet dünyasında en sık karşılaşılan ancak en yanlış anlaşılan durumlardan biridir. Siteniz çöktü mü? Hacklendiniz mi? Yoksa sadece sunucunuz biraz “yorgun” mu düştü? Bu rehber ile 429 Too Many Requests hatasının ne anlama geldiğini, neden kaynaklandığını ve hem ziyaretçiler hem de site yöneticileri için adım adım nasıl çözüleceğini öğrenebilirsiniz.
429 Too Many Requests Ne Demek?
429 Too Many Requests hatası, aslında sunucunuzun “Dur bakalım, biraz yavaşla!” dediği bir durumdur. Yani sunucu, belirli bir kullanıcıdan veya IP adresinden belirli bir zaman diliminde (örneğin 1 dakika) çok fazla istek (tıklama, sayfa yenileme, bot taraması vb.) geldiğinde bu hatayı döndürür. Bunu şöyle düşünün: Bir restorana giren müşteri, garsondan dakikada 50 kez servis istiyor. Garson bir noktada “Lütfen bekleyin, herkese yetişmeye çalışıyorum” demek zorunda kalır. İşte 429 hatası da bunun dijital versiyonu.
Tarayıcınıza veya kullandığınız sisteme göre bu hatayı farklı varyasyonlarla görebilirsiniz:
- 429 Too Many Requests
- HTTP 429
- Error 429 (Too Many Requests)
- 429 Error
HTTP durum kodları arasında 429, özellikle rate limiting (hız sınırlama) ile ilgili bir koddur. RFC 6585 standardında tanımlanmıştır ve sunucunun, istemcinin çok fazla istek gönderdiğini bildirmesi için kullanılır. Peki bu “çok fazla” ne demek?
Sunucular genellikle belirli zaman dilimlerinde (örneğin dakika başına, saat başına) izin verilen maksimum istek sayısı belirler. Örneğin bir API, bir kullanıcının dakikada en fazla 100 istek yapmasına izin verebilir. 101. istekte sunucu “429 Too Many Requests” yanıtını döndürür. Bu mekanizma aslında sitenizi korumak için vardır. Rate limiting olmasa, sunucunuz aşırı yüklenebilir, meşru kullanıcılar hizmet alamaz ve site çökebilir. Yani 429 hatası, kötü bir şey değil – aslında sitenizin kendini koruma mekanizmasıdır.
HTTP durum kodları arasında 429, özellikle rate limiting (hız sınırlama) ile ilgili bir koddur. RFC 6585 standardında tanımlanmıştır ve sunucunun, istemcinin çok fazla istek gönderdiğini bildirmesi için kullanılır. Peki bu “çok fazla” ne demek?
Sunucular genellikle belirli zaman dilimlerinde (örneğin dakika başına, saat başına) izin verilen maksimum istek sayısı belirler. Örneğin bir API, bir kullanıcının dakikada en fazla 100 istek yapmasına izin verebilir. 101. istekte sunucu “429 Too Many Requests” yanıtını döndürür.
Bu mekanizma aslında sitenizi korumak için vardır. Rate limiting olmasa, sunucunuz aşırı yüklenebilir, meşru kullanıcılar hizmet alamaz ve site çökebilir. Yani 429 hatası, kötü bir şey değil – aslında sitenizin kendini koruma mekanizmasıdır.
Bilgi Notu
HTTP 429 hatası, 4xx hata ailesi içinde yer alır. Bu da hatanın istemci tarafından kaynaklandığını gösterir – yani sorun genellikle çok fazla istek yapan kullanıcı veya uygulama tarafındadır.
HTTP Durum Kodu
429 kodu, standart HTTP protokolünün bir parçasıdır ve tüm modern web sunucuları tarafından desteklenir
Rate Limit Başlığı
Sunucu genellikle yanıtla birlikte “Retry-After” başlığı gönderir ve ne zaman tekrar deneyebileceğinizi bildirir
Geçici Durum
429 hatası kalıcı değildir – bekleme süresi dolduktan sonra normal şekilde erişim sağlanabilir
429 Hatasının En Yaygın Sebepleri
- API Limit Aşımı– Web siteniz veya uygulamanız bir API kullanıyorsa (örneğin Google Maps, Twitter API, ödeme sistemleri), bu API’lerin çoğu belirli kullanım limitleri koyar. Ücretsiz planlarda genellikle daha düşük limitler vardır. Örneğin, Google Maps API’nin ücretsiz katmanında günde 25.000 istek limiti vardır. Bu limiti aşarsanız, API 429 hatası döndürür ve haritalarınız yüklenmemeye başlar.
- Web Scraping ve Botlar– Sitenizden veri çeken botlar veya scraper’lar çok hızlı istek gönderebilir. Ayrıca kendi sitenizden veri çekerken (meşru amaçlarla bile) çok agresif scraping yaparsanız kendi kendinizi engelleyebilirsiniz. Özellikle otomatik testler çalıştırırken bu durum sıkça yaşanır.
- DDoS Koruması Tetiklenmesi– Cloudflare, Sucuri gibi güvenlik servisleri veya sunucu güvenlik duvarları (firewall) şüpheli trafik algıladığında otomatik olarak rate limiting devreye girer. Bazen viral olan bir içerik nedeniyle normal trafiğiniz bile DDoS gibi algılanabilir.
- Plugin veya Tema Çakışmaları– WordPress gibi CMS’lerde bazı eklentiler veya temalar, arka planda sürekli sunucuya istek gönderebilir. Örneğin, kötü kodlanmış bir sosyal medya paylaşım eklentisi, her sayfa yüklendiğinde API’lere onlarca istek atabilir. Bu durum hem sitenizi yavaşlatır hem de limit aşımına neden olur.
- Aynı IP’den Çoklu Kullanıcı– Ofis ağında veya ortak WiFi’da birden fazla kişi aynı siteyi kullanıyorsa, sunucu tüm istekleri tek bir IP’den geliyor gibi görür. Bu da toplam istek sayısının hızla limite ulaşmasına yol açar. Özellikle şirket içi uygulamalarda bu durum yaygındır.
1. Kullanıcı Tarafında 429 Hatası Çözüm Yöntemleri
Eğer bir siteye erişmeye çalışırken 429 hatası alıyorsanız, site sahibi olmadığınız için sunucu tarafında değişiklik yapamazsınız. Ancak yine de deneyebileceğiniz bazı etkili çözümler var.
- Bekleyin ve Tekrar Deneyin– Sunucu genellikle “Retry-After” başlığında ne kadar beklemeniz gerektiğini söyler. Hata mesajını dikkatlice okuyun. Bazen “60 saniye sonra tekrar deneyin” gibi net bilgiler verir. Birkaç dakika bekledikten sonra sayfayı yenileyin.
- IP Adresinizi Değiştirin– Evdeyseniz modem/router’ınızı yeniden başlatın – çoğu internet servis sağlayıcı her yeniden başlatmada yeni IP verir. Mobil veri kullanıyorsanız WiFi’a geçin veya tam tersi. VPN kullanarak farklı bir sunucu üzerinden bağlanmayı da deneyebilirsiniz.
- Tarayıcı Önbelleğini Temizleyin– Bazen tarayıcınızda saklanan eski çerezler veya önbellek verileri soruna neden olabilir. Tarayıcı ayarlarından geçmişi, çerezleri ve önbelleği temizleyin. Chrome’da: Ayarlar > Gizlilik ve güvenlik > Tarama verilerini temizle. Ardından sayfayı yenileyin.
- Tarayıcı Eklentilerini Devre Dışı Bırakın– Reklam engelleyiciler, güvenlik eklentileri veya otomatik sayfa yenileme araçları arka planda çok fazla istek gönderiyor olabilir. Tüm eklentileri geçici olarak kapatıp tekrar deneyin. Gizli mod da bu amaçla kullanılabilir.
Bu adımların hiçbiri işe yaramazsa, sorun muhtemelen site tarafındadır. Site yöneticisiyle iletişime geçip durumu bildirmek en doğru çözüm olacaktır.
2. Site Sahipleri İçin Temel Çözüm Stratejileri
Sitenizde 429 hatası oluşuyorsa, bu hem kullanıcı deneyimini olumsuz etkiler hem de SEO performansınızı düşürür. Google botları sürekli 429 alırsa, sitenizi daha az sıklıkta taramaya başlar. O yüzden bu sorunu ciddiye almak gerekir.
- Rate Limiting Ayarlarını Gözden Geçirin– İlk adım, sunucunuzdaki rate limiting kurallarını incelemek. Nginx, Apache, Cloudflare veya kullandığınız güvenlik eklentisinin ayarlarına bakın. Limitler çok düşükse, meşru kullanıcılar bile engellenebilir. Ayarları yavaş yavaş artırarak optimal değeri bulun.
- IP Beyaz Listesi Oluşturun– Google botları, ödeme sistemleri, güvenilir API’ler gibi bilinen IP’leri beyaz listeye ekleyin. Böylece bu adreslerden gelen istekler rate limiting’e takılmaz. Cloudflare kullananlar için: Firewall Rules > Create a Firewall rule > IP in list > Allow.
- Önbellekleme Sistemini Optimize Edin– Her istek sunucuya gitmek yerine, önbellekten sunuluyorsa rate limiting sorunu büyük ölçüde azalır. CDN (Cloudflare, Amazon CloudFront) kullanın, statik dosyaları önbelleğe alın ve tarayıcı önbellekleme başlıklarını düzgün yapılandırın.
- API Kullanımını İzleyin ve Optimize Edin– Siteniz harici API’lere bağlıysa, API çağrılarını minimize edin. Gereksiz istekleri kaldırın, yanıtları önbelleğe alın ve toplu istekler (batch requests) kullanın. API anahtarlarınızın limit durumunu düzenli kontrol edin.
- Kötü Botları Engelleyin– robots.txt dosyanızı düzenleyin ve istenmeyen botları engelleyin. Ancak dikkatli olun – Google, Bing gibi meşru botları engellememeye özen gösterin. Cloudflare’in Bot Fight Mode özelliğini veya WordPress için Wordfence gibi güvenlik eklentilerini kullanabilirsiniz.
3. WordPress Siteleri İçin Özel Çözümler
WordPress, dünyanın en popüler içerik yönetim sistemi ama aynı zamanda 429 hatalarına oldukça açık bir platform. Özellikle eklenti ve tema çakışmaları, yönetici paneline yapılan brute force saldırıları ve kötü optimize edilmiş veritabanı sorguları sorun yaratır.
- Problematik Eklentileri Tespit Edin– Önce tüm eklentileri devre dışı bırakın. Ardından tek tek aktif hale getirerek hangisinin soruna yol açtığını bulun. Özellikle şüpheli olanlar:
- Sosyal medya otomatik paylaşım eklentileri
- Yedekleme eklentileri (her saniye sunucuya istek atan türler)
- Anlık istatistik toplayan araçlar
- Harici API’lerle sürekli senkronizasyon yapan eklentiler.
- Sorunlu eklentiyi bulduktan sonra silip alternatif bir eklenti kullanabilirsiniz ya da eklenti geliştiricisinden destek talep edebilirsiniz. Ayrıca Wordfence gibi eklentiler, giriş denemelerini sınırlandırır. Örneğin 5 başarısız girişten sonra IP’yi 1 saat engelleyebilirsiniz. Bu hem güvenliği artırır hem de sunucu yükünü azaltır.
- WP-Admin ve XML-RPC Koruması– WordPress yönetici paneli (wp-admin) ve XML-RPC dosyası, botlar için en çok hedeflenen noktalardır. Bu alanlara özel rate limiting uygulamak şart:
# .htaccess dosyanıza şunu ekleyin:
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
# Veya wp-config.php'ye şunu ekleyin:
add_filter('xmlrpc_enabled', '__return_false');
- Veritabanını Optimize Edin– WP-Optimize veya WP-Sweep eklentileriyle gereksiz revizyonları, spam yorumları ve geçici verileri temizleyin. Ağır sorgular rate limiting’i tetikleyebilir.
- Önbellekleme Eklentisi Kullanın– WP Super Cache, W3 Total Cache veya WP Rocket gibi optimizasyon ve önbellek eklentileri sayfa yüklerini minimize eder ve sunucu isteklerini azaltır.
- Heartbeat API’yi Sınırlayın– WordPress Heartbeat API, düzenli sunucu istekleri gönderir. Heartbeat Control eklentisiyle bunu sınırlandırabilir veya tamamen kapatabilirsiniz.
4. Sunucu Yapılandırmasıyla İlgili Çözümler
Biraz daha teknik bilgiye sahipseniz veya sunucu yöneticiniz varsa, aşağıdaki sunucu seviyesindeki yapılandırmalar 429 hatasını kalıcı olarak çözebilir. Bu bölümde en yaygın sunucu yazılımları için çözümleri ele alacağız.
# Nginx Rate Limiting Yapılandırması
- Nginx kullanıyorsanız, http bloğunda rate limiting tanımlayabilirsiniz. Örneğin, bir IP adresinden saniyede en fazla 10 istek kabul etmek için:
limit_req_zone $binary_remote_addr zone=mylimit:10m rate=10r/s;
server {
location / {
limit_req zone=mylimit burst=20 nodelay;
}
}
- Burada
burst=20parametresi, ani trafiğe karşı biraz esneklik sağlar. Yani 20 istek kadar geçici aşımlar tolere edilir.nodelayise isteklerin sıraya alınmadan hemen işlenmesini sağlar.
# Apache için Mod_Evasive Kullanımı
- Apache sunucularda mod_evasive modülü, DDoS saldırılarına ve rate limiting’e karşı etkilidir. Kurulum ve yapılandırma:
sudo apt-get install libapache2-mod-evasive
sudo a2enmod evasive
# /etc/apache2/mods-enabled/evasive.conf dosyasını düzenleyin:
DOSHashTableSize 3097
DOSPageCount 5
DOSSiteCount 100
DOSPageInterval 1
DOSSiteInterval 1
DOSBlockingPeriod 60
- Bu ayarlarla, aynı sayfa için saniyede 5’ten fazla istek veya site genelinde saniyede 100’den fazla istek yapan IP’ler 60 saniye engellenir.
# Cloudflare Rate Limiting Kuralları
- Cloudflare kullanıyorsanız,
Dashboard > Security > WAF > Rate limiting rulesbölümünden görsel arayüzle kural oluşturabilirsiniz. Örnek bir kural:
- If incoming requests match: Tüm trafik veya belirli URL’ler
- Threshold: 10 saniyede 100 istek
- Then take action: Block veya Challenge (CAPTCHA göster)
- Duration: 1 saat (hata alanlar 1 saat engellensin)
- Cloudflare’in ücretsiz planında sınırlı rate limiting kuralı yapabilirsiniz, ancak ücretli planlar daha gelişmiş seçenekler sunar.
5. API Geliştiricileri İçin Rate Limiting Yapılandırma
Eğer kendi API’nizi geliştiriyorsanız, rate limiting uygulamak sadece sunucunuzu korumakla kalmaz, aynı zamanda kullanıcı deneyimini de iyileştirir. Doğru yapılandırılmış bir rate limiting sistemi, adil kullanım sağlar ve kötü niyetli aktörleri engeller.
- Katmanlı Limitler Belirleyin– Farklı kullanıcı tipleri için farklı limitler oluşturun: Ücretsiz kullanıcılar için saatte 100 istek, ücretli kullanıcılar için 1000, kurumsal müşteriler için sınırsız gibi.
- Net HTTP Başlıkları Gönderin– API yanıtlarınızda
X-RateLimit-Limit,X-RateLimit-RemainingveRetry-Afterbaşlıklarını kullanın. Kullanıcılar limitlerini görebilmeli. - İzleme ve Uyarı Sistemi– Limitin %80’ine ulaşan kullanıcılara e-posta veya dashboard bildirimi gönderin. Ani aşımlar yerine yumuşak geçişler sağlayın.
Popüler programlama dillerinde rate limiting nasıl uygulanır, kısa kod örnekleriyle görelim:
# Node.js (Express) ile Rate Limiting
const rateLimit = require('express-rate-limit');
const limiter = rateLimit({
windowMs: 15 * 60 * 1000, // 15 dakika
max: 100, // IP başına maksimum 100 istek
message: 'Çok fazla istek gönderdiniz, lütfen daha sonra tekrar deneyin.'
});
app.use('/api/', limiter);
# Python (Flask) ile Rate Limiting
from flask_limiter import Limiter
from flask_limiter.util import get_remote_address
limiter = Limiter(
app,
key_func=get_remote_address,
default_limits=["200 per day", "50 per hour"]
)
@app.route("/api/data")
@limiter.limit("10 per minute")
def api_data():
return jsonify({"data": "some data"})
Bu örnekler temel implementasyonlardır. Production ortamında Redis gibi hızlı bir önbellek sistemi kullanarak rate limiting bilgilerini saklamak performans açısından oldukça önemlidir.
429 Hatasının SEO ve İş Etkileri
429 hatası sadece teknik bir sorun değil, aynı zamanda işinizi ve sitenizin arama motoru performansını doğrudan etkileyen ciddi bir durumdur. Bu bölümde, bu hatayı görmezden gelmenin maliyetini ve doğru yönetmenin faydalarını ele alalım.
- Google Botları ve Tarama Bütçesi– Google’ın sitenizi ne sıklıkla tarayacağına dair bir “tarama bütçesi” (crawl budget) vardır. Eğer Google botları sürekli 429 hatası alırsa, tarama sıklığını azaltır. Bu şu anlama gelir:
- Yeni içerikleriniz daha geç indekslenir
- Mevcut sayfalarınızdaki güncellemeler geç farkedilir
- Site yapınızdaki değişiklikler (yeni kategoriler, URL değişiklikleri) geç algılanır
- Sonuç olarak organik trafiğiniz düşer ve rakiplerinize kaptırırsınız
- 📌 Google Search Console’da Tarama İstatistikleri bölümünden botların hangi hataları aldığını görebilirsiniz. 429 hataları burada görünüyorsa, acil müdahale etmelisiniz.
- API Tabanlı İş Modelleri İçin Kritik Önem– SaaS, fintech, e-ticaret entegrasyonları gibi API’lere dayalı iş modellerinde 429 hatası, doğrudan gelir kaybı demektir. Müşterilerinizin sistemi kullanamaması:
- Müşteri memnuniyetsizliğine ve churn’e (müşteri kaybına) yol açar
- Destek taleplerini artırır, operasyon maliyetlerinizi yükseltir
- Marka itibarınıza zarar verir ve olumsuz yorumlar alırsınız
- Kurumsal müşteriler için SLA (hizmet seviyesi anlaşması) ihlali oluşturabilir
- Bu nedenle API sağlayıcıları, proaktif izleme, otomatik ölçeklendirme ve esnek limit yönetimi gibi önlemleri mutlaka almalıdır.
429 Too Many Requests hatası, ilk başta karmaşık görünse de doğru yaklaşımla çözülebilir bir sorundur. Bu rehberde öğrendiklerinizi özetleyelim ve kalıcı çözüm için adım adım bir yol haritası çıkaralım.
- Anlık Müdahale (0-1 saat)– Hatanın kaynağını belirleyin. Sunucu loglarını, API kullanım istatistiklerini ve güvenlik duvarı kayıtlarını inceleyin. Acil durum için rate limit değerlerini geçici olarak yükseltin.
- Kısa Vadeli Çözüm (1-24 saat)– Problematik eklentileri devre dışı bırakın, IP beyaz listesi oluşturun, önbellekleme sisteminizi aktive edin. Kullanıcılara durum bildirimi yapın.
- Orta Vadeli Optimizasyon (1-7 gün)– Sunucu yapılandırmasını optimize edin, CDN kurun, veritabanını temizleyin ve gereksiz API çağrılarını kaldırın. Rate limiting stratejinizi gözden geçirin.
- Uzun Vadeli Strateji (1-3 ay)– İzleme ve uyarı sistemleri kurun, otomatik ölçeklendirme mekanizmaları geliştirin, kullanıcı eğitimi yapın ve dokümantasyon oluşturun.
- Önleme, Tedaviden İyidir– Rate limiting sorunları yaşamadan önce, proaktif izleme ve makul limitler belirleyin. Düzenli bakım ve optimizasyon yapın.
- Kullanıcı İletişimi Kritiktir– Hata mesajlarınız net ve yardımcı olsun. “Retry-After” başlığını mutlaka kullanın ve kullanıcılara ne yapmaları gerektiğini söyleyin.
- Dengeli Yaklaşım– Çok sıkı limitler meşru kullanıcıları engeller, çok gevşek limitler sisteminizi savunmasız bırakır. Sürekli test edin ve ayarlayın.
429 hatası, aslında sisteminizin sizi koruduğunun bir işaretidir. Doğru yönetildiğinde, hem güvenliğinizi artırır hem de kullanıcı deneyimini iyileştirir. Bu rehberde paylaşılan çözümleri uygulayarak, hem anlık sorunları çözebilir hem de gelecekte benzer problemlerle karşılaşma riskinizi minimize edebilirsiniz.
Ayrıca, karşılaşabileceğiniz diğer hatalar için çözüm yolları içeren şu içeriklerimize de göz atmak isteyebilirsiniz:
