GTmetrix aracıyla sitenizi test ettiğinizde “Enable Keep-Alive” veya “Keep-Alive’ı Etkinleştirin” gibi bir uyarı mı gördünüz? Aslında, çoğu web sunucularda bu özellik varsayılan olarak etkindir, ancak bazı hosting şirketleri genellikle kaynak kullanımlarını sınırlamak için Keep-Alive özelliğini devre dışı bırakır. Bu durum WEB sitenizin ekstra hız performansı kazanma şansını azaltır. Peki, Keep-Alive ne demek ve WordPress için Keep-Alive nasıl etkinleştirilir?
Keep-Alive, web sunucunuzla tarayıcı arasındaki bağlantının açık kalmasını sağlayan bir HTTP özelliğidir. Düşünün ki bir kütüphaneye gidiyorsunuz ve her kitap almak istediğinizde kapıdan çıkıp tekrar giriş yapmak zorundasınız. Çok yorucu olurdu değil mi? Keep-Alive tam olarak bunu engelliyor – bir kez bağlantı kuruluyor ve birden fazla dosya transferi için aynı bağlantı kullanılıyor. WordPress sitenizde ortalama bir sayfa yüklendiğinde, tarayıcı HTML dosyasından CSS’e, JavaScript’ten görsellere kadar onlarca farklı kaynak indirmek zorundadır. Keep-Alive olmadan, her bir dosya için yeni bir bağlantı kurulması gerekir. Bu da değerli zaman kaybı ve sunucu kaynaklarının gereksiz kullanımı anlamına gelir.
Keep-Alive Teknolojisinin Temelleri
| Kalıcı Bağlantı | Hız Avantajı | Kaynak Verimliliği |
|---|---|---|
| Tarayıcı ve sunucu arasında kurulan bağlantı, birden fazla istek için açık kalır. Bu sayede her dosya için yeni bağlantı kurma maliyeti ortadan kalkar. | TCP el sıkışması (handshake) ve SSL/TLS müzakeresi gibi zaman alıcı süreçler sadece bir kez gerçekleşir. Sonraki istekler anında işlenir. | Sunucu kaynakları daha verimli kullanılır. Sürekli yeni bağlantı açıp kapatmak yerine, mevcut bağlantılar optimize edilir. |
Keep-Alive özelliği HTTP/1.1 ile birlikte standart hale geldi ve günümüzde neredeyse tüm modern web sunucuları tarafından destekleniyor. Apache, Nginx, LiteSpeed gibi popüler web sunucularının hepsi bu özelliği kullanıyor. Ancak doğru yapılandırılmadığında tam potansiyelinden yararlanamayabilirsiniz.
Teknik açıdan bakıldığında, Keep-Alive HTTP başlıklarında “Connection: keep-alive” parametresi ile belirlenir. Ayrıca timeout (zaman aşımı) ve max (maksimum istek sayısı) gibi değerler de yapılandırılabilir. Örneğin, bir bağlantı 5 saniye boyunca açık kalabilir ve bu süre içinde en fazla 100 istek işlenebilir.
| Keep-Alive Olmadan | Keep-Alive İle |
|---|---|
| — Tarayıcı sunucuya bağlanır — HTML dosyası indirilir — Bağlantı kapanır — Tarayıcı tekrar bağlanır — CSS dosyası indirilir — Bağlantı kapanır — Bu döngü her dosya için tekrarlanır | — Tarayıcı sunucuya bağlanır — HTML dosyası indirilir — CSS dosyası indirilir — JavaScript dosyaları indirilir — Görseller indirilir — Tüm işlemler bittikten sonra bağlantı kapanır |
- Keep-Alive devre dışıyken– İstenen her dosya için sunucuyla iletişim kurar ve böylece gereksiz çoklu bağlantılara yol açar (yükleme süresi gecikmesi ve daha fazlası):

- Keep-Alive Etkinleştirildiğinde – İstenen tüm dosyaları sunucudan tek bir iletişimde alır ve sunar (daha hızlı yükleme süresi, daha iyi performans ve daha da fazlası)

WordPress, dünya çapında milyonlarca web sitesi tarafından kullanılan güçlü bir içerik yönetim sistemi. Ancak doğası gereği dinamik yapısı ve çok sayıda eklenti kullanımı nedeniyle performans sorunları yaşanabiliyor. Keep-Alive özelliğini etkinleştirmek, WordPress sitenizin performansını önemli ölçüde artırmanın en basit yollarından biridir.
WordPress sitenizin tipik bir sayfasında 50-100 arası HTTP isteği olabilir. Tema dosyaları, eklenti dosyaları, görseller, fontlar, üçüncü parti scriptler… Hepsi ayrı ayrı yüklenmelidir. Keep-Alive olmadan her bir istek için yeni bağlantı kurulması, özellikle mobil bağlantılarda ciddi performans kayıplarına neden olur. Ayrıca, Google’ın sıralama algoritmasında sayfa hızı önemli bir faktördür. Core Web Vitals metrikleri içinde yer alan LCP (Largest Contentful Paint) değerinizi iyileştirmek istiyorsanız, Keep-Alive mutlaka etkinleştirilmelidir. PageSpeed Insights testlerinde de Keep-Alive’ın aktif olup olmadığı kontrol edilir ve öneriler arasında yer alır.
Keep-Alive Etkin mi? Kontrol Etme Yöntemleri
WordPress sitenizde Keep-Alive’ın etkin olup olmadığını kontrol etmek için birkaç farklı yöntem kullanabilirsiniz. İşte en pratik ve güvenilir yollar:
- Tarayıcı Geliştirici Araçlarını Kullanma– Chrome, Firefox veya Edge’de F12 tuşuna basarak geliştirici araçlarını açın. Network sekmesine gidin ve sayfanızı yenileyin. Herhangi bir isteğe tıklayıp Headers bölümünde “Connection: keep-alive” parametresini arayın.
- Online Test Araçları– GTmetrix, Pingdom veya KeyCDN HTTP Header Checker gibi araçları kullanarak sitenizin HTTP başlıklarını analiz edebilirsiniz. Bu araçlar Keep-Alive durumunu otomatik olarak raporlar.
- cURL Komutu ile Kontrol– Komut satırından “curl -I https://siteniz.com” komutu ile HTTP başlıklarını görebilirsiniz. Response içinde “Connection: keep-alive” ifadesini arayın.
Eğer Keep-Alive etkin değilse, HTTP başlıklarında “Connection: close” ifadesini göreceksiniz. Bu durumda, her istek için bağlantının kapatıldığı anlamına gelir ve performans kaybı yaşıyorsunuz demektir.
| Etkin Keep-Alive Örneği | Devre Dışı Keep-Alive Örneği |
|---|---|
HTTP/1.1 200 OK Connection: keep-alive Keep-Alive: timeout=5, max=100 Content-Type: text/html Server: Apache/2.4.41 | |
Bazı hosting sağlayıcıları varsayılan olarak Keep-Alive’ı etkinleştirirken, bazıları devre dışı bırakabilir. Özellikle paylaşımlı hosting paketlerinde sunucu kaynaklarını korumak için bu özellik kapatılmış olabilir. Bu nedenle mutlaka kontrol etmeniz önemlidir.
Keep-Alive Etkinleştirme Yöntemleri
Apache / NGINX sunucularında Keep-Alive’ı etkinleştirmek için aşağıdaki yöntemleri deneyebilirsiniz.
# .htaccess ile Keep-Alive Etkinleştirme (Apache)
- WordPress sitenizin kök dizinine (public_html veya www) FileZilla gibi bir FTP programı veya hosting kontrol panelinizdeki dosya yöneticisi ile bağlanın.
- .htaccess dosyası gizli olabilir, dosya yöneticinizde “gizli dosyaları göster” seçeneğini aktifleştirin. Dosyayı mutlaka bilgisayarınıza indirerek yedek alın.
- Dosyayı bir metin editörü ile açın (Notepad++, Sublime Text veya benzeri). Dosyanın en başına veya sonuna aşağıdaki kodları ekleyin:
<IfModule mod_headers.c>
Header set Connection keep-alive
</IfModule>
# Keep-Alive Ayarları
<IfModule mod_rewrite.c>
RewriteEngine On
# Keep-Alive zaman aşımı (saniye)
KeepAliveTimeout 5
# Aynı bağlantıda maksimum istek sayısı
MaxKeepAliveRequests 100
</IfModule>
- KeepAliveTimeout değeri, bağlantının ne kadar süre açık kalacağını belirler. Çok yüksek değer sunucu kaynaklarını gereksiz işgal eder, çok düşük değer ise Keep-Alive’ın faydalarını azaltır. 5-10 saniye arası optimal kabul edilir. MaxKeepAliveRequests ise tek bir bağlantıda kaç istek işlenebileceğini belirler. WordPress siteleri için 100-150 arası değer idealdir. Bu sayı yeterince yüksek olmalı ki sayfa yüklenirken tüm kaynaklar aynı bağlantıdan indirilebilsin.
- Düzenlenmiş .htaccess dosyasını sunucuya geri yükleyin ve üzerine yazın. Dosya izinlerinin 644 olduğundan emin olun.
- Sitenizi kontrol edin ve Keep-Alive’ın aktif olduğunu yukarıda anlattığımız yöntemlerle doğrulayın.
# WHM’de Keep-Alive özelliğini etkinleştirme
Apache sunucuları için alternatif bir diğer yöntem de WHM’de Keep-Alive’ı etkinleştirmektir. Yapılandırmanın nasıl ayarlanacağına dair adım adım süreci açıklayan aşağıdaki ekran görüntülerine bakın.
- Tek yapmanız gereken Apache yapılandırmasına erişmek. Bunu Servis konfigürasyonu menüsü bölümünde bulabilirsiniz. Daha sonra Global konfigürasyon’a tıklayarak, orada birçok seçeneği görebilirsiniz.

- Şimdi, aşağıdaki ekran görüntüsünde belirtildiği gibi, Keep-Alive düğmesini “On” konumuna getirin.

# NGINX için Keep-Alive’ı etkinleştirme
Nginx, özellikle yüksek trafikli siteler için tercih edilen modern ve hızlı bir web sunucusudur. Son yıllarda WordPress kullanıcıları arasında da popülaritesi artıyor. Nginx’te Keep-Alive varsayılan olarak etkin olsa da, optimum performans için bazı ayarlamalar yapmanız gerekebilir.
- Nginx Config Dosyasını Bulun– Nginx yapılandırma dosyası genellikle
/etc/nginx/nginx.confkonumundadır. SSH ile sunucuya bağlanın ve dosyayı açın:sudo nano /etc/nginx/nginx.conf - Keep-Alive Parametrelerini Ekleyin– http bloğu içine Keep-Alive ayarlarını ekleyin. Mevcut değerler varsa güncelleyin.
- Nginx’i Test Edin ve Yeniden Başlatın–
sudo nginx -tkomutu ile yapılandırma hatalarını kontrol edin. Hata yoksa sudo systemctl reload nginx ile değişiklikleri uygulayın.
Nginx için Örnek Yapılandırma:
http {
# Keep-Alive bağlantıları etkinleştir
keepalive_timeout 65;
# Tek bir bağlantıda maksimum istek sayısı
keepalive_requests 100;
# Upstream sunucular için Keep-Alive havuzu
upstream backend {
server localhost:9000;
keepalive 32;
}
}
Nginx’te keepalive_timeout parametresi Apache’deki KeepAliveTimeout’a benzer şekilde çalışır. Ancak Nginx iki değer alabilir: birincisi istemci bağlantısı için timeout, ikincisi ise upstream bağlantıları için. Örneğin: keepalive_timeout 65 20;
- Nginx Avantajları:
- Varsayılan olarak Keep-Alive etkin
- Daha verimli bellek kullanımı
- Asenkron işleme mimarisi
- Yüksek eşzamanlı bağlantı desteği
- Apache Avantajları:
- .htaccess ile kolay yapılandırma
- Geniş modül ekosistemi
- WordPress eklentileri ile uyum
- Paylaşımlı hostinglerde yaygın
📌 Nginx kullanıyorsanız ve WordPress siteniz PHP-FPM ile çalışıyorsa, upstream Keep-Alive ayarları da önemlidir. PHP-FPM ile Nginx arasındaki bağlantıların da açık kalması, arka uç performansını artırır. Bu nedenle upstream bloğunda da keepalive parametresi tanımlanmalıdır.
Son olarak, tüm bunları yapmak size karmaşık geldiyse, hosting firmanızla görüşüp bu özelliği etkinleştirmelerini isteyebilirsiniz. Çoğu firma bunu hemen sizin için halledecektir. Ancak; bazı hosting firmaları Keep-Alive etkinleştirme dahil birçok konuda yeterince yetki sunmaz veya bu tür özellikleri desteklemez. Eğer web site hızınız düşükse ve bu konuda hosting firmanız yeterince destek sunmuyorsa, ya hız artırmak için farklı yolları deneyin ya da daha çözüm odaklı bir firmaya geçmeyi düşünün.
- Keep-Alive’ı etkinleştirdikten sonra gerçek performans iyileştirmesini ölçmek için şu adımları izleyin:
| Test Aracı | Kontrol Edilecek Metrik | İdeal Değer |
|---|---|---|
| GTmetrix | Fully Loaded Time | %20-40 iyileşme |
| Google PageSpeed Insights | LCP (Largest Contentful Paint) | 2.5 saniyenin altı |
| Pingdom | Performance Grade | A veya B seviyesi |
| WebPageTest | Time to First Byte (TTFB) | %10-20 iyileşme |
📌Testleri farklı coğrafi konumlardan ve farklı cihazlardan (mobil, tablet, masaüstü) yaparak kapsamlı sonuçlar elde edin. Keep-Alive’ın etkisi özellikle yüksek gecikmeli (high latency) bağlantılarda daha belirgin hissedilir.
HTTP/2 ve HTTP/3 ile Keep-Alive
Modern web protokolleri olan HTTP/2 ve HTTP/3, Keep-Alive kavramını daha da ileri taşır. HTTP/2’de multiplexing özelliği sayesinde tek bir bağlantı üzerinden birden fazla istek eşzamanlı olarak işlenebilir. Bu, geleneksel Keep-Alive’dan çok daha verimlidir.
- HTTP/1.1– Keep-Alive ile sıralı istekler. Her istek tamamlanmalı ki sonraki başlasın.
- HTTP/2– Multiplexing ile paralel istekler. Tek bağlantıda tüm kaynaklar aynı anda indirilir.
- HTTP/3– QUIC protokolü üzerinde daha da hızlı. Paket kaybında bile verimli çalışır.
Hostinginiz HTTP/2 veya HTTP/3 destekliyorsa, Keep-Alive ayarları otomatik olarak optimize edilir. Ancak eski HTTP/1.1 istemciler için hala Keep-Alive yapılandırması önemlidir. Geriye dönük uyumluluk için her iki protokolü de desteklemek idealdir.
💡 SSL/TLS sertifikanız varsa, HTTP/2 otomatik olarak aktifleşir. Let’s Encrypt ile ücretsiz SSL alarak hem güvenlik hem de HTTP/2 performansından yararlanabilirsiniz. Cloudflare gibi CDN servisleri otomatik olarak HTTP/2 ve HTTP/3 desteği sunar. WordPress sitenizi Cloudflare arkasında çalıştırıyorsanız, Keep-Alive optimizasyonları zaten yapılmış demektir. Ancak origin sunucunuzda (kendi hostinginizde) da Keep-Alive’ın etkin olması önemlidir.
Keep-Alive, görünürde basit bir özellik gibi görünse de, WordPress sitenizin performansı üzerinde büyük etki yaratır. Özellikle yüksek trafikli siteler, e-ticaret platformları ve içerik ağırlıklı bloglar için vazgeçilmezdir. Tek bir bağlantı üzerinden birden fazla kaynak aktarımı yaparak hem kullanıcı deneyimini iyileştirir hem de sunucu kaynaklarınızı verimli kullanmanızı sağlar. Bu rehberde anlattıklarımızı adım adım uygulayarak WordPress sitenizin performansını önemli ölçüde artırabilirsiniz. Herhangi bir sorunla karşılaşırsanız, hosting sağlayıcınızın destek ekibiyle iletişime geçmekten çekinmeyin. Çoğu kaliteli hosting firması bu tür optimizasyonlarda yardımcı olur.
