WordPress Hızını Artıran Sunucu Tarafı Optimizasyonlar: Önbellek, Redis ve Veritabanı
WordPress sunucu tarafı optimizasyon: sayfa ve nesne önbelleği, Redis, autoload şişkinliği, Heartbeat ve wp-config ayarları. Kapasitenizi hesaplayıcıyla görün.

İçindekiler
- WordPress’te önbellek katmanları
- Sekiz sunucu tarafı optimizasyon
- Sunucu seviyesinde sayfa önbelleği
- Kalıcı nesne önbelleği (Redis)
- PHP sürümü, OPcache ve bellek limiti
- Autoload şişkinliğini temizleyin
- Heartbeat API’yi dizginleyin
- Görsel işleme ve dosya teslimi
- Etkisini ölçün: Önce ve sonra
- Eklenti önbelleği mi, sunucu önbelleği mi?
- Kapasitenizi hesaplayın: Önbelleksiz istekler
- Sıkça sorulan sorular
- WordPress’te nesne önbelleği nedir?
- Redis WordPress’i ne kadar hızlandırır?
- Autoload nedir, neden sorun olur?
- WordPress Heartbeat kapatılmalı mı?
- WordPress için ne kadar PHP belleği gerekir?
- Sunucu tarafı optimizasyon önbellek eklentisinin yerini tutar mı?
- Sonuç: Önbelleğin ulaşamadığı yerler
Önbellek eklentisini kurdunuz, görselleri sıkıştırdınız, PageSpeed puanı yükseldi. Ama yönetim paneli hâlâ ağır, arama sonuçları geç geliyor ve yorum yapan ziyaretçiler birkaç saniye bekliyor. Bunun nedeni, eklenti seviyesindeki optimizasyonların yalnızca önbelleğe alınabilen sayfaları hızlandırmasıdır. WordPress sunucu tarafı optimizasyon ise önbelleğe alınamayan her isteği hızlandırır.
Bu yazıda WordPress’e özgü sunucu tarafı ayarları anlatıyoruz: nesne önbelleği, sunucu seviyesinde sayfa önbelleği, veritabanındaki autoload şişkinliği, Heartbeat API ve wp-config sabitleri. PHP sürümü, OPcache ve cron gibi genel ayarları Linux hosting yönetimi yazımızda ele almıştık. Bu yazı onların üzerine kurulur ve WordPress hosting altyapısından en yüksek verimi almanızı hedefler.
WordPress’te önbellek katmanları
WordPress bir sayfayı oluştururken PHP kodunu çalıştırır, veritabanına onlarca sorgu gönderir ve sonucu HTML olarak döndürür. Her önbellek katmanı bu işin bir bölümünü atlar. Sayfa önbelleği tüm işi atlar ama yalnızca herkese aynı görünen sayfalarda çalışır. Nesne önbelleği ise veritabanı sorgularının sonuçlarını bellekte tutar ve kişiye özel sayfalarda bile işe yarar.

Sekiz sunucu tarafı optimizasyon

Sunucu seviyesinde sayfa önbelleği
Önbellek eklentilerinin çoğu, sayfanın hazır kopyasını oluşturur ama isteği yine de WordPress’e kadar getirir. Sunucu seviyesindeki sayfa önbelleği ise, örneğin LiteSpeed Cache ya da Nginx FastCGI önbelleği, isteği PHP çalışmadan doğrudan web sunucusundan yanıtlar. Fark özellikle trafik zirvelerinde belirginleşir. Hostinginizin web sunucusu hangisiyse ona uygun önbellek çözümünü kullanın.
Kalıcı nesne önbelleği (Redis)
WordPress’in kendi nesne önbelleği yalnızca tek bir istek boyunca yaşar. Redis ya da Memcached gibi kalıcı bir nesne önbelleği, sorgu sonuçlarını istekler arasında da saklar. Seçenekler, menüler, kullanıcı oturumları ve WooCommerce sepet verileri tekrar tekrar veritabanından okunmaz. Sunucunuzda Redis varsa ilgili eklentiyi kurup WP-CLI ile etkinleştirebilirsiniz:
wp plugin install redis-cache --activate
wp redis enable
PHP sürümü, OPcache ve bellek limiti
Güncel PHP 8 sürümü ve açık OPcache, WordPress’in her isteğinde yüzlerce PHP dosyasının yeniden derlenmesini önler. WordPress’in kullanabileceği belleği wp-config.php dosyasında açıkça belirtmek, ağır eklentilerin “memory exhausted” hatasıyla durmasını engeller:
define('WP_MEMORY_LIMIT', '256M');
define('WP_POST_REVISIONS', 10);
define('EMPTY_TRASH_DAYS', 14);
İkinci satır her yazı için saklanacak revizyon sayısını sınırlar, üçüncüsü çöp kutusunun 14 günde bir boşaltılmasını sağlar. İkisi de veritabanının gereksiz yere büyümesini önler.
Autoload şişkinliğini temizleyin
WordPress, wp_options tablosunda “autoload” olarak işaretli tüm ayarları her istekte belleğe yükler. Kaldırılmış eklentilerin bıraktığı ayarlar ve bazı eklentilerin buraya yazdığı büyük veriler bu yükü megabaytlara çıkarabilir. Toplam boyutu ve en büyük kayıtları phpMyAdmin’de şu sorgularla görebilirsiniz (tablo öneki farklıysa wp_ kısmını değiştirin):
SELECT ROUND(SUM(LENGTH(option_value)) / 1024) AS autoload_kb
FROM wp_options WHERE autoload IN ('yes', 'on', 'auto-on', 'auto');
SELECT option_name, LENGTH(option_value) AS boyut
FROM wp_options WHERE autoload IN ('yes', 'on', 'auto-on', 'auto')
ORDER BY boyut DESC LIMIT 10;
Toplam 1 MB’ın üzerindeyse incelemeye değer. Artık kullanmadığınız eklentilere ait kayıtları yedek aldıktan sonra silebilir ya da autoload değerini kapatabilirsiniz.
Heartbeat API’yi dizginleyin
Heartbeat, yönetim panelinde açık her sekmenin sunucuya düzenli aralıklarla istek göndermesini sağlar. Otomatik kaydetme ve oturum kontrolü için faydalıdır ama birden fazla editörün aynı anda çalıştığı sitelerde sunucuyu gereksiz yere meşgul eder. Aralığı uzatmak için temanızın functions.php dosyasına ya da küçük bir eklentiye şu kodu ekleyebilirsiniz:
add_filter('heartbeat_settings', function ($ayar) {
$ayar['interval'] = 60;
return $ayar;
});
Görsel işleme ve dosya teslimi
WordPress yüklenen her görsel için birden fazla boyut üretir. Kullanılmayan görsel boyutlarını kapatmak hem disk alanından hem de yükleme süresinden tasarruf sağlar. Görsellerin WebP formatında sunulması ve statik dosyalar için uzun tarayıcı önbelleği süreleri, sunucuya gelen istek sayısını azaltır.
Etkisini ölçün: Önce ve sonra
Her optimizasyonun gerçekten işe yarayıp yaramadığını ölçmek gerekir. Bunun için en pratik araç, WordPress için geliştirilmiş ücretsiz Query Monitor eklentisidir. Yönetici olarak giriş yaptığınızda her sayfanın kaç veritabanı sorgusu yaptığını, bu sorguların toplam süresini, en yavaş sorguları ve hangi eklentiden geldiklerini gösterir. Nesne önbelleğini etkinleştirmeden önce ve sonra aynı sayfadaki sorgu sayısını karşılaştırmak, kazancı somut olarak görmenizi sağlar.
İkinci ölçüm sunucu yanıt süresidir. Önbelleğe alınamayan bir sayfanın, örneğin bir arama sonuç sayfasının TTFB değerini optimizasyondan önce ve sonra ölçün. Yönetim panelinde ise admin-ajax.php isteklerinin sayısı ve süresi, tarayıcının geliştirici araçlarındaki Ağ sekmesinden izlenebilir. Heartbeat ayarından sonra bu isteklerin seyrekleştiğini görmelisiniz. Ölçümleri tamamladıktan sonra Query Monitor’ü devre dışı bırakın, çünkü kendisi de küçük bir yük getirir.
Eklenti önbelleği mi, sunucu önbelleği mi?
| Kriter | Eklenti tabanlı sayfa önbelleği | Sunucu seviyesinde önbellek |
|---|---|---|
| İsteğin yolu | WordPress yüklenir, önbellekten döner | PHP çalışmadan web sunucusundan döner |
| Yoğun trafikte | PHP süreçleri yine meşgul olur | PHP süreçleri serbest kalır |
| Kurulum | Herhangi bir hostingde çalışır | Sunucunun desteklemesi gerekir |
| Önbellek temizleme | Eklenti yönetir | Eklenti ile entegre çalışır |

Kapasitenizi hesaplayın: Önbelleksiz istekler
Önbelleğe alınamayan istekler (yönetim paneli, arama, sepet, ödeme, üye sayfaları) her seferinde PHP çalıştırır. Bu isteklerin aynı anda kaçının işlenebileceğini CPU limitiniz, ne kadar sürede işlendiğini ise yukarıdaki optimizasyonlar belirler. Aşağıdaki araç bu ikisinden yaklaşık kapasitenizi hesaplar.
Hesaplama, sunucu tarafı optimizasyonun neden önemli olduğunu açıkça gösterir: Önbelleksiz bir isteğin süresini 800 ms’den 300 ms’ye indirmek, aynı CPU limitiyle kapasiteyi iki buçuk katından fazla artırır. Bu iyileştirmelere rağmen kapasite yetmiyorsa Önem Bilişim’in NVMe diskli WordPress hosting paketleri %400 ile %800 arasında CPU limiti sunar.
İlginizi çekebilir: SSD hosting Core Web Vitals’ı nasıl etkiler? TTFB ve LCP ilişkisi
Sıkça sorulan sorular
WordPress’te nesne önbelleği nedir?
Nesne önbelleği, veritabanı sorgularının sonuçlarını bellekte saklayan katmandır. WordPress’in yerleşik nesne önbelleği yalnızca bir istek boyunca yaşar. Redis ya da Memcached gibi kalıcı bir önbellek ise sonuçları istekler arasında saklar ve özellikle yönetim paneli, üye sayfaları ve WooCommerce gibi önbelleğe alınamayan bölümleri hızlandırır.
Redis WordPress’i ne kadar hızlandırır?
Etkisi sitenin yapısına bağlıdır. Çok sayıda eklenti ve veritabanı sorgusu kullanan sitelerde, özellikle WooCommerce mağazalarında ve üyelik sitelerinde önbelleğe alınamayan sayfaların yanıt süresi belirgin şekilde kısalır. Basit ve tamamen sayfa önbelleğinden sunulan bloglarda fark daha küçüktür.
Autoload nedir, neden sorun olur?
Autoload, wp_options tablosunda her istekte otomatik olarak belleğe yüklenen ayarları işaretler. Kaldırılan eklentilerin bıraktığı kayıtlar ve büyük veriler bu yükü artırdığında her sayfa açılışı gereksiz yere yavaşlar. Toplam boyutu düzenli kontrol edip kullanılmayan kayıtları temizlemek iyi bir bakım alışkanlığıdır.
WordPress Heartbeat kapatılmalı mı?
Tamamen kapatmak otomatik kaydetme ve oturum uyarıları gibi özellikleri bozabilir. Bunun yerine aralığını uzatmak ve yalnızca yazı düzenleme ekranında çalışmasını sağlamak daha güvenli bir yaklaşımdır. Birden fazla editörün aynı anda çalıştığı sitelerde bu ayar sunucu yükünü belirgin şekilde azaltır.
WordPress için ne kadar PHP belleği gerekir?
Çoğu WordPress sitesi için 256 MB güvenli bir değerdir. Sayfa oluşturucu ve WooCommerce gibi ağır eklentiler kullanan siteler daha fazlasına ihtiyaç duyabilir. WP_MEMORY_LIMIT değeri, hostinginizin PHP bellek sınırını aşamaz. Daha yüksek bir değere ihtiyacınız varsa önce hosting panelinizdeki PHP ayarlarını kontrol edin.
Sunucu tarafı optimizasyon önbellek eklentisinin yerini tutar mı?
Tutmaz, birbirini tamamlar. Önbellek eklentisi ya da sunucu seviyesindeki sayfa önbelleği herkese aynı görünen sayfaları hızlandırır. Sunucu tarafı optimizasyon ise önbelleğe alınamayan yönetim paneli, arama, sepet ve üye sayfalarını hızlandırır. En iyi sonuç ikisi birlikte kullanıldığında alınır.
Sonuç: Önbelleğin ulaşamadığı yerler
WordPress sunucu tarafı optimizasyon, önbellek eklentilerinin ulaşamadığı istekleri hızlandırır: yönetim paneli, arama, sepet ve üye sayfaları. Sunucu seviyesinde önbellek, kalıcı nesne önbelleği, temiz bir veritabanı ve kontrol altındaki arka plan istekleri, aynı donanımdan çok daha fazla kapasite almanızı sağlar.
WordPress siteleriniz için geniş kaynaklı bir altyapı arıyorsanız Önem Bilişim WordPress hosting paketlerini inceleyebilirsiniz. WordPress ve performans üzerine diğer yazılarımız Önem Bilişim blogunda yer alıyor.
WordPress hosting
WordPress siteniz için ayarlanmış altyapı
NVMe SSD, %800’e varan CPU ve 75 MB/s’ye varan IO limiti, limitsiz MySQL veritabanı ile 1 ila 15 WordPress sitesini tek pakette çalıştırın.