WordPressHosting

Redis Object Cache Kurulumu: WordPress Hız Rehberi 2026

Redis object cache kurulumu, WordPress’in nesne önbelleğini istekler arasında saklamak için kullanılır. WordPress veya eklentiler wp_cache_* API’siyle veriyi önbelleğe yazıp okuduğunda, tekrar hesaplama ve bazı veritabanı sorguları azalabilir. Redis tüm SQL sorgularını kendiliğinden yakalayıp önbelleklemez. Bu rehber, sayfa önbelleğiyle farkını, örnek kurulumu ve kurulum öncesi/sonrası ölçüm adımlarını açıklar.

Redis Object Cache Kurulumu Neden Gerekli?

Tema ve eklentilere bağlı olarak veritabanı sorgularının maliyeti değişir. Nesne önbelleği, WordPress’in önbellek API’sini kullanan kodun verisini saklar; doğrudan yapılan her SQL sorgusuna otomatik olarak uygulanmaz. Yararı sorgu sayısından çok, önlenen işlemlerin maliyeti ve önbellek isabetiyle değerlendirin.

Sayfa Önbellekleme ile Object Cache Farkı

Bu noktada sık karışan bir konuyu netleştirmek gerekiyor: sayfa önbellekleme (page caching) ile object cache aynı şey değildir. Sayfa önbellekleme, oluşturulan HTML çıktısının tamamını saklayıp sonraki ziyaretçiye doğrudan bu hazır dosyayı sunar; bu yaklaşımı daha önce WordPress önbellekleme rehberimizde ayrıntılı olarak ele almıştık. Object cache ise özellikle giriş yapmış kullanıcılar, WooCommerce sepeti, üyelik sistemleri gibi sayfa önbelleklemenin devre dışı kaldığı veya sınırlı çalıştığı dinamik senaryolarda devreye girer. İki katman birbirini tamamlar; biri diğerinin yerine geçmez.

Redis Object Cache Nasıl Çalışır?

Redis, bellekte çalışan bir anahtar-değer veri deposu. WordPress tarafında bir “persistent object cache” eklentisi (drop-in) kurulduğunda, WP_Object_Cache sınıfının normalde her istekte sıfırlanan geçici belleği yerine, isteğe bağlı olarak Redis’e kalıcı şekilde yazan bir katman devreye girer. Bu sayede bir kullanıcı için hesaplanan bir sorgu sonucu, sonraki ziyaretçi için de bellekten doğrudan okunabilir hale gelir.

WordPress’te Object Cache Katmanı

WordPress çekirdeği varsayılan olarak bir “non-persistent” object cache ile gelir; bu, yalnızca tek bir sayfa isteği süresince geçerlidir ve istek bitince silinir. Redis object cache kurulumu yapıldığında bu davranış değişir: önbellek, istekler arasında kalıcı hale gelir ve tüm ziyaretçiler aynı önbellek havuzunu paylaşır. Bu fark, özellikle yoğun trafikli veya karmaşık sorgu yapısına sahip sitelerde veritabanı sunucusu üzerindeki yükü belirgin şekilde azaltır.

Object Cache Ne Kadar Hız Kazandırır?

Kazanılan performans miktarı sitenin yapısına göre değişse de, genel eğilim net: veritabanı sorgu yoğunluğu yüksek sayfalarda (arşiv sayfaları, WooCommerce ürün listeleri, çok sayıda widget içeren tema anasayfaları) sunucu yanıt süresinde gözle görülür bir iyileşme yaygın olarak gözlemleniyor. Statik, az sorgulu basit sayfalarda ise kazanım daha sınırlı kalabilir; çünkü zaten önbelleğe alınacak pahalı bir sorgu yükü yoktur. Bu nedenle kurulum öncesi ve sonrası ölçüm yapmak, kazanımın kendi siteniz için ne kadar anlamlı olduğunu somut şekilde görmenizi sağlar.

Kuruluma Başlamadan Önce Ön Kontrol

Redis object cache kurulumuna geçmeden önce sunucunuzda birkaç ön koşulu doğrulamanız gerekiyor:

  • Sunucu üzerinde Redis servisinin kurulu ve çalışır durumda olması (VPS/dedicated sunucularda kendiniz kurabilirsiniz; paylaşımlı hostingde genellikle hazır gelir veya hiç sunulmaz).
  • Redis Object Cache eklentisinin desteklediği istemcilerden birinin kullanılabilmesi: PhpRedis, Relay veya PHP tabanlı Predis. PHP uzantısı yoksa eklenti Predis kullanabilir.
  • wp-config.php dosyasına yazma erişiminiz olması.
  • Mevcut bir önbellekleme eklentisiyle çakışma olup olmadığının kontrol edilmesi.

Paylaşımlı hostingde Redis servisinin sunulup sunulmadığını öğrenmenin en hızlı yolu, hosting sağlayıcınızın kontrol panelinde “Redis”, “Object Cache” veya “Cache Manager” gibi bir bölüm olup olmadığına bakmaktır; birçok modern hosting paketi bunu artık hazır sunuyor. Emin olamadığınız durumlarda destek ekibine doğrudan “sunucumda Redis servisi var mı ve WordPress’ten bağlanabiliyor muyum” şeklinde net bir soru yöneltmek, panelde arama yapmaktan daha hızlı sonuç verebilir.

Redis Object Cache Kurulumu: Adım Adım Rehber

VPS veya kendi sunucunuz üzerinde sıfırdan kurulum yapıyorsanız aşağıdaki adımları izleyebilirsiniz.

1. Adım: Redis Sunucusunu Kurun (Ubuntu/Debian Örneği)

sudo apt update
sudo apt install redis-server -y
sudo systemctl enable redis-server
sudo systemctl start redis-server

# Kurulumu doğrulamak için:
redis-cli ping
# Beklenen çıktı: PONG

2. Adım: PHP Redis İstemcisini Seçin

Aşağıdaki komutlar PhpRedis seçeneği içindir. PHP uzantısı zorunlu değildir; sunucuda uygun uzantı yoksa Predis kullanılabilir. Paket ve FPM hizmet adı kullanılan PHP sürümüne göre değiştirilmelidir.

sudo apt install php-redis -y
sudo systemctl restart php8.2-fpm
# PHP sürümünüze göre "php8.2-fpm" kısmını güncelleyin

3. Adım: wp-config.php Dosyasına Redis Ayarlarını Ekleyin

define('WP_REDIS_HOST', '127.0.0.1');
define('WP_REDIS_PORT', 6379);
define('WP_REDIS_TIMEOUT', 1);
define('WP_REDIS_READ_TIMEOUT', 1);
define('WP_REDIS_DATABASE', 0);
// Paylaşımlı sunucularda birden fazla site aynı Redis'i kullanıyorsa
// çakışmayı önlemek için benzersiz bir önek tanımlayın:
define('WP_REDIS_PREFIX', 'siteadiniz_');

4. Adım: WordPress Eklentisini Kurun ve Etkinleştirin

Panelden “Redis Object Cache” eklentisini kurup etkinleştirdikten sonra, eklentinin ayarlar sayfasından “Enable Object Cache” butonuna tıklayın. Eklenti bu adımda otomatik olarak wp-content/object-cache.php dosyasını oluşturur; bu dosya WordPress’in önbellek katmanını Redis’e yönlendiren “drop-in” dosyasıdır.

Paylaşımlı Hosting ile VPS/Sunucu Kurulumu Arasındaki Fark

Paylaşımlı hostingde genellikle Redis servisine doğrudan sistem erişiminiz olmaz; sunucu tarafı zaten hazır gelir ve siz yalnızca wp-config.php ayarlarını ve eklentiyi devreye alırsınız. VPS veya dedicated sunucuda ise Redis’i kendiniz kurup yapılandırırsınız; bu durumda bellek limiti, maksimum bağlantı sayısı gibi ayarları da redis.conf dosyası üzerinden kendiniz yönetmeniz gerekir.

Ücretsiz Eklenti mi, Object Cache Pro mu?

WordPress.org üzerinde ücretsiz olarak dağıtılan “Redis Object Cache” eklentisi, çoğu site için bu rehberde anlatılan kurulumu eksiksiz şekilde karşılıyor. Ancak yüksek trafikli veya WooCommerce ağırlıklı projelerde, Till Krüss tarafından geliştirilen ticari çözüm Object Cache Pro da tercih ediliyor. Bu iki seçeneğin farkları aşağıdaki gibi özetlenebilir:

Özellik Ücretsiz Redis Object Cache Object Cache Pro
Fiyat Ücretsiz 95 dolar/ay veya 950 dolar/yıl (1 Ekim 2026 kontrolü; resmî fiyat sayfası)
Cache prefetching/priming Yok Var
Gelişmiş veri sıkıştırma Yok Var
Cache analitik paneli Sınırlı Detaylı
WooCommerce optimizasyonu Temel düzeyde Özel olarak optimize edilmiş
Destek Topluluk forumu Lisans planına göre doğrudan destek

Her iki seçenek de Redis sunucusunu kendiniz barındırmanızı gerektirir; lisans ücretine Redis sunucu maliyeti dahil değildir. Küçük ve orta ölçekli çoğu site için ücretsiz eklenti yeterli olurken, yüksek işlem hacmi olan e-ticaret siteleri Object Cache Pro’nun sunduğu önbellek ısıtma (cache priming) ve sıkıştırma özelliklerinden somut fayda görebilir.

Redis Güvenliği: Bind Adresi ve Parola Ayarları

Redis, varsayılan yapılandırmada kimlik doğrulama gerektirmeden çalışabildiği için, dışa açık bırakılması ciddi bir güvenlik riski oluşturur. VPS veya dedicated sunucu üzerinde Redis kurarken şu iki ayarı mutlaka kontrol edin:

# /etc/redis/redis.conf içinde:
bind 127.0.0.1 ::1
requirepass GucluBirParolaBuraya123!
maxmemory 256mb
maxmemory-policy allkeys-lru

bind satırı, Redis’in yalnızca yerel sunucudan gelen bağlantıları kabul etmesini sağlar; bu satır olmadan Redis, sunucunun herkese açık IP adresinden de erişilebilir hale gelebilir. requirepass ile tanımlanan parola, wp-config.php içindeki WP_REDIS_PASSWORD sabitiyle eşleşmelidir. Bu iki ayar atlandığında, internete açık bir Redis servisinin tarayıcı botları tarafından bulunup kötüye kullanılması riski gerçek ve sık karşılaşılan bir senaryodur.

Redis Object Cache ile Diğer Önbellekleme Çözümlerinin Karşılaştırması

Çözüm Çalışma Katmanı Kalıcılık En Uygun Senaryo
Redis Object Cache WordPress nesne önbelleği API’si İstekler arasında saklanır; disk kalıcılığı ayrı bir Redis ayarıdır Yüksek trafik, karmaşık sorgular, WooCommerce
Memcached Veritabanı sorgu katmanı İstekler arasında saklanır; yeniden başlatmada kaybolabilir Basit anahtar-değer önbellekleme ihtiyacı
APCu PHP kullanıcı verisi önbelleği (opcode için OPcache kullanılır) Yalnızca bellek Tek sunuculu küçük/orta ölçekli siteler
Sayfa Önbellekleme (WP Rocket, W3TC vb.) HTML çıktı katmanı Disk üzerinde dosya olarak Statik, giriş yapılmamış sayfa trafiği

Pratikte en iyi sonuç, sayfa önbellekleme ile object cache’in birlikte kullanılmasından elde ediliyor: biri anonim ziyaretçi trafiğini hızlandırırken, diğeri giriş yapılmış ve dinamik sayfalardaki veritabanı yükünü azaltıyor.

cPanel ve Yönetilen (Managed) Hosting Üzerinde Kurulum

Kendi sunucu erişiminiz olmayan cPanel tabanlı veya yönetilen (managed) WordPress hostinglerde süreç biraz farklı işler. Bu ortamlarda genellikle terminal erişimi kısıtlı olduğu için Redis’i kendiniz kuramazsınız; bunun yerine hosting sağlayıcınızın sunduğu hazır Redis servisini etkinleştirirsiniz.

Yönetilen Hostingde Tipik Kurulum Akışı

  1. Hosting kontrol panelinde “Redis” veya “Object Cache” bölümünü bulup siteniz için servisi etkinleştirin.
  2. Panel size bağlantı bilgilerini (host, port, gerekiyorsa parola) gösterecektir; bu bilgileri not edin.
  3. wp-config.php dosyasına bu bilgilerle yukarıdaki WP_REDIS_HOST ve WP_REDIS_PORT sabitlerini ekleyin.
  4. WordPress panelinden Redis Object Cache eklentisini kurup “Enable Object Cache” butonuna tıklayın.

Bazı yönetilen hosting sağlayıcıları (Kinsta, WP Engine gibi büyük oyuncular dahil) object cache’i kendi altyapılarında otomatik olarak yönetir ve ayrı bir eklenti kurulumu gerektirmez; bu durumda hosting sağlayıcınızın resmi dokümantasyonunu kontrol etmek en doğru yaklaşım olur, çünkü panel arayüzleri ve otomatik yapılandırma yöntemleri sağlayıcıdan sağlayıcıya değişir.

Hosting Sağlayıcısı Seçerken Nelere Dikkat Edilmeli?

Redis object cache kurulumu planlıyorsanız, hosting seçimi veya mevcut hostingi değerlendirirken şu noktalara bakmak faydalı olur:

  • Redis servisinin pakete dahil olup olmadığı, yoksa ek ücretle mi sunulduğu.
  • Redis için tanımlı bellek limitinin (maxmemory) site ihtiyacınıza yetip yetmeyeceği.
  • Birden fazla site için ayrı ayrı Redis örneği mi yoksa paylaşımlı tek bir örnek mi sunulduğu; paylaşımlı örneklerde benzersiz önek ve uygun erişim ayrımı gerekir.
  • Destek ekibinin Redis ile ilgili sorunlarda (bağlantı hatası, bellek dolması gibi) ne kadar hızlı yanıt verdiği.

Redis Object Cache Kurulumunda Yapılan Yaygın Hatalar

  1. Bellek limiti belirlemeden Redis’i çalıştırmak: maxmemory ayarı yapılmadan çalışan bir Redis servisi, sunucu belleğini tamamen doldurup diğer servisleri etkileyebilir. Çözüm: redis.conf içinde maxmemory 256mb gibi bir sınır ve maxmemory-policy allkeys-lru tahliye politikası tanımlamak.
  2. Paylaşımlı Redis örneğinde önek (salt) tanımlamamak: Aynı Redis sunucusunu birden fazla WordPress sitesi kullanıyorsa ve WP_REDIS_PREFIX tanımlanmamışsa, siteler birbirinin önbellek verisini görebilir veya üzerine yazabilir. Her site için benzersiz bir önek tanımlanmalı.
  3. object-cache.php dosyasının güncellenmemesi: Eklenti güncellendiğinde bazen drop-in dosyasının yeniden oluşturulması gerekir; eklenti panelinden “Enable” işlemini tekrar çalıştırmak bu sorunu çözer.
  4. Kişiye özel verinin yanlış paylaşılması: Sepet ve hesap sayfalarını farklı oturumlarla test edin. Nesne anahtarı/grup tasarımı, sayfa önbelleği istisnaları ve eklenti uyumluluğunu ayrı ayrı kontrol edin; sorunu yalnızca önek ayarına bağlamayın.
  5. Kurulumu test etmeden canlıya almak: Object cache etkinleştirildikten sonra sitenin farklı sayfa tiplerinde (arşiv, tekil yazı, sepet, hesabım) test edilmeden yayına alınması, gözden kaçan bir çakışmanın kullanıcıya yansımasına neden olabilir.

Kurulumu Doğrulama: Redis Object Cache Gerçekten Çalışıyor mu?

Kurulum sonrası doğrulama için birkaç yöntem kullanılabilir:

  1. WordPress yönetici panelinde Site Sağlığı (Site Health) sayfasını açın; “Kalıcı nesne önbelleği” (persistent object cache) satırının etkin göründüğünü kontrol edin.
  2. Sunucu tarafında redis-cli info stats komutunu çalıştırarak keyspace_hits ve keyspace_misses değerlerini gözlemleyin; siteye birkaç istek attıktan sonra hit sayısının artması, önbelleğin çalıştığının işareti.
  3. Query Monitor gibi bir eklenti kullanarak sayfa başına çalışan veritabanı sorgu sayısını önbellek öncesi ve sonrası karşılaştırın.
  4. PageSpeed Insights veya benzeri bir araçla sunucu yanıt süresini (TTFB) kurulum öncesi ve sonrası ölçüp karşılaştırın.
# Redis istatistiklerini hızlıca kontrol etmek için:
redis-cli info stats | grep keyspace

Önbellek Ömrü (TTL) ve Geçersiz Kılma Stratejisi

wp_cache_set() için varsayılan süre 0 olduğundan otomatik olarak kısa bir TTL atanacağını varsaymayın. Redis Object Cache’in WP_REDIS_MAXTTL varsayılanı da 0dır. Süre sonu, açık geçersiz kılma ve bellek dolduğunda tahliye farklı mekanizmalardır; özel kodunuzda uygun süreyi ve güncelleme sırasında silmeyi tasarlayın.

// Özel bir sorgu sonucunu 5 dakika (300 saniye) boyunca önbellekte tutmak için:
$sonuc = wp_cache_get('ozel_anahtar', 'ozel_grup');
if (false === $sonuc) {
    $sonuc = pahali_sorguyu_calistir();
    wp_cache_set('ozel_anahtar', $sonuc, 'ozel_grup', 300);
}

TTL’yi çok uzun tutmak, güncel olmayan verinin uzun süre görüntülenmesine yol açabilir; çok kısa tutmak ise önbellekten beklenen performans kazanımını azaltır. Genel kural olarak, sık değişen veriler için kısa (60-300 saniye), nadiren değişen veriler için daha uzun (bir saat veya üzeri) TTL değerleri tercih edilir. Kendi eklenti veya tema geliştirmenizde önbellek kullanıyorsanız, hangi verinin ne sıklıkla değiştiğini önceden haritalandırmak, doğru TTL değerini seçmenizi kolaylaştırır.

WP-CLI ile Redis Object Cache Yönetimi

Komut satırından yönetim yapmayı tercih edenler için WP-CLI, Redis object cache kurulumunu kontrol etmenin ve gerektiğinde temizlemenin hızlı bir yolunu sunar:

# Object cache durumunu kontrol et
wp redis status

# Object cache'i etkinleştir (drop-in dosyasını oluşturur)
wp redis enable

# Object cache'i devre dışı bırak
wp redis disable

# Tüm önbelleği temizle
wp cache flush

wp cache flush işlemi, kullanılan arka uca göre aynı Redis veritabanını paylaşan diğer siteleri de etkileyebilir. Benzersiz anahtar öneki çakışmayı azaltır; ayrı güvenlik veya temizleme sınırı olduğunu garanti etmez. Paylaşımlı ortamda temizleme kapsamını doğrulayın ve sağlayıcının önerdiği yöntemi kullanın.

Çoklu Sunucu (Multi-Server) ve Yük Dengeleme Senaryoları

Birden fazla web sunucusunun aynı WordPress kurulumunu yük dengeleyici arkasında çalıştırdığı senaryolarda, her sunucunun kendi yerel object cache’ini tutması tutarsızlığa yol açar; bir sunucuda güncellenen veri diğerinde eski haliyle görünebilir. Bu nedenle çoklu sunucu mimarilerinde Redis’in tüm web sunucularının erişebildiği merkezi, paylaşılan bir örnek olarak çalıştırılması gerekir. Yüksek erişilebilirlik gereken kurumsal projelerde ise Redis Sentinel veya Redis Cluster gibi çözümlerle tekil hata noktası (single point of failure) riski azaltılabilir; bu düzeyde bir kurulum genellikle özel sistem yönetimi bilgisi gerektirir.

Kime, Hangi Durumda Uygun?

Redis object cache kurulumu, özellikle WooCommerce mağazası işleten, üyelik sistemi olan veya günlük ziyaretçi sayısı yüksek, karmaşık sorgu yapısına sahip siteler için belirgin fayda sağlıyor. Küçük, düşük trafikli ve büyük ölçüde statik içerikli bir blog için ise sayfa önbellekleme tek başına genellikle yeterli oluyor; bu durumda Redis kurulumunun getirdiği ek bakım yükü, kazanılan performanstan daha ağır basabilir. Paylaşımlı hostingde Redis servisi sunulmuyorsa, VPS’e geçiş veya Redis destekli bir hosting paketine yükseltme değerlendirilmeli.

Kurulum kararını belirli bir ziyaretçi veya sorgu sayısı eşiğine bağlamayın. Aynı sayfa ve kullanıcı senaryolarında TTFB, sorgu süresi, önbellek isabeti ve Redis bağlantı maliyetini karşılaştırın. Dinamik sayfalarda ölçülebilir kazanç varsa Redis anlamlı olabilir; düşük maliyetli sorgularda ek ağ ve bakım yükü kazanımı azaltabilir.

Sık Sorulan Sorular

Redis object cache kurulumu için sunucu gereksinimleri nelerdir?
Ulaşılabilir bir Redis servisi ve uyumlu WordPress eklentisi gerekir. PhpRedis/Relay uzantısı veya Predis istemcisi kullanılabilir; hosting desteğini ve bağlantı bilgilerini doğrulayın.

Object cache kurulumu sitemi yavaşlatabilir mi?
Doğru yapılandırılmadığında (örneğin bellek limiti aşıldığında) performans sorunlarına yol açabilir; bu yüzden kurulum sonrası doğrulama adımlarının atlanmaması önemlidir.

Paylaşımlı hostingde Redis object cache kurulumu mümkün mü?
Hosting sağlayıcınız Redis servisini sunuyorsa mümkündür; sunmuyorsa yalnızca eklenti kurarak Redis’e bağlanamazsınız, önce sunucu tarafında servisin var olması gerekir.

Object cache ile sayfa önbellekleme birlikte kullanılmalı mı?
Evet, ikisi farklı katmanlarda çalıştığı için birlikte kullanıldığında genellikle en iyi performans sonucunu verir.

Kurulumun çalıştığını nasıl anlarım?
Site Sağlığı sayfasında “kalıcı nesne önbelleği” etkin görünmeli ve redis-cli info stats çıktısında zamanla keyspace_hits değeri artmalı.

Object Cache Pro’ya geçmeye değer mi?
Yüksek trafikli, özellikle WooCommerce ağırlıklı ve cache priming/analitik gibi ek özelliklere ihtiyaç duyan siteler için 95 dolar/ay maliyeti performans kazancıyla karşılanabilir; küçük ölçekli siteler için ücretsiz eklenti genellikle yeterlidir.

Teknik Kaynaklar

özgür BAYRAM

Özgür Bayram, WordPress, Laravel, yapay zekâ ve web performansı alanlarında çalışan bir yazılım geliştiricisidir. Bilim Meraklısı’nda teknoloji, yazılım, hosting, SEO ve dijital araçlar hakkında anlaşılır, uygulanabilir rehberler hazırlar. Amacı, teknik konuları sade bir dille anlatarak okuyucuların doğru kararlar vermesine ve sorunlarını güvenle çözmesine yardımcı olmaktır.

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu