Neden Redis Object Cache?
WordPress, veritabanına çok sayıda tekrar eden sorgu gönderir; bu da yüksek trafikte gecikmeye yol açar. Redis, bu sorgu sonuçlarını RAM’de tutarak yanıt süresini milisaniyelere indirir, CPU yükünü azaltır ve TTFB’yi düşürür. Doğru yapılandırıldığında, özellikle eklenti-ağır sitelerde dramatik bir hızlanma sağlar.
Önkoşullar ve Mimari
-
PHP 7.4+, WordPress 5.8+ (veya üstü)
-
Sunucuda Redis servisi (standalone veya konteyner)
-
Güvenlik için şifreli Redis erişimi (en azından parola), mümkünse servis yalnızca local’den dinlesin.
-
Nesne önbelleği sayfa önbelleğinin (LiteSpeed Cache, NGINX mikro-cache, Cloudflare vb.) yerini tutmaz; birlikte kullanılır.
Kurulum 1: cPanel/WHM üzerinde Redis + WordPress
-
Redis’i kurun (sunucu tarafı)
-
WHM/SSH ile root olarak bağlanın, Redis paketini kurun ve servisi enable/start yapın.
-
/etc/redis/redis.confiçinde:-
bind 127.0.0.1(yalnızca local) -
requirepass -
maxmemory 256mb(planınıza göre) -
maxmemory-policy allkeys-lru
-
-
-
Kullanıcı hesabında WordPress eklentisi
-
“Redis Object Cache” eklentisini yükleyin ve etkinleştirin.
-
wp-config.php’ye ekleyin:// Redis bağlantısı define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PASSWORD', 'buraya-güçlü-şifreniz'); define('WP_REDIS_DATABASE', 0); // çoklu site/uygulama için 0-15 arası // Opsiyonel: ön ek çakışmalarını önleyin define('WP_CACHE_KEY_SALT', 'alanadiniz.com:'); -
Eklenti ekranından Enable Object Cache’e tıklayın veya WP-CLI ile:
wp plugin install redis-cache --activate wp redis enable
-
-
Doğrulama
-
Eklentide Status: Connected ve Hit Ratio > %50 görmelisiniz.
-
redis-cli -a <şifre> INFO memoryile bellek kullanımını izleyin.
-
Kurulum 2: CyberPanel (OpenLiteSpeed) üzerinde Redis + LSCache
-
Redis’i etkinleştirin
-
Sunucuda Redis’i kurup başlatın (CyberPanel veya OS paket yöneticisiyle).
-
Güvenlik:
bind 127.0.0.1verequirepassayarlayın.
-
-
LSCache + Redis entegrasyonu
-
WordPress’te LiteSpeed Cache eklentisini kurun.
-
LiteSpeed Cache > Cache > Object sekmesinde:
-
Object Cache = ON
-
Method: Redis
-
Host:
127.0.0.1, Port:6379 -
Password: Redis şifreniz
-
Global groups:
users, userlogins, usermeta, site-transient, options, blog-id-cache(varsayılanlar iyi, ancak WooCommerce için sepet vb. dinamik alanları hariç tutmayı düşünün).
-
-
-
İpucu
-
LSCache’de ESI ile sepet/oturum parçalarını önbellek dışında tutarak hem hız hem doğruluk sağlayın.
-
Kurulum 3: Docker Compose ile İzole Redis
docker-compose.yml örneği:
services: redis: image: redis:7-alpine command: > redis-server --requirepass ${REDIS_PASSWORD} --maxmemory 256mb --maxmemory-policy allkeys-lru --appendonly no --bind 0.0.0.0 ports: - "127.0.0.1:6379:6379" restart: unless-stopped environment: - TZ=Europe/Istanbul
-
WordPress konteynerinizden
REDIS_HOST=redis,REDIS_PASSWORDortam değişkenleriyle bağlanın. -
Üretimde portu yalnızca
127.0.0.1’e yayın veya dahili Docker ağıyla erişin; dış dünyaya açmayın.
En İyi Uygulamalar ve İnce Ayarlar
-
Bellek tavanı (maxmemory): Trafiğe ve içerik boyutuna göre 128–1024 MB arası planlayın; küçük planlarda 128–256 MB çoğu WP için yeterli.
-
Temizleme politikası:
allkeys-lrugenel amaçlı sitelerde iyi sonuç verir. -
Anahtar ön eki: Çoklu wp kurulumlarında çakışmayı engeller (
WP_CACHE_KEY_SALT). -
Kalıcı nesneler: Büyük transient’ları Redis’e bırakın; veritabanındaki
wp_optionsşişmesini azaltır. -
WooCommerce özelinde: Sepet, oturum, stok gibi dinamik parçaları sayfa önbelleğinden hariç tutun; nesne önbelleğinde TTL kısa olsun (30–300 sn).
-
İzleme:
-
Eklenti panelinden Hit/Miss oranını takip edin (hedef: %60+).
-
redis-cli MONITORüretimde kullanılmaz; yerine INFO, SLOWLOG ve uygulama tarafı metriklerini kullanın.
-
-
Güvenlik:
-
Redis’i public IP’ye asla açmayın.
-
Zorunlu parola + firewall (örn. yalnızca
127.0.0.1veya uygulama sunucusu CIDR’ı). -
Yedeklemelerde Redis dump’ınızı (varsa
dump.rdb) gizli veriler barındırabileceği için koruyun.
-
Sık Karşılaşılan Sorunlar
-
Bağlantı hatası:
Connection refused→ servis çalışıyor mu, host/port doğru mu, firewall izinli mi? -
Yetki hatası:
NOAUTH Authentication required→WP_REDIS_PASSWORDeksik/yanlış. -
Düşük hit ratio: TTL’ler çok kısa veya sayfa önbelleği çakışıyor; eklenti dışlamalarını gözden geçirin, menü/ widget dinamikleri için ESI/Fragment Cache düşünün.
-
Aşırı bellek kullanımı:
maxmemoryve politika doğru mu; gereksiz büyük transient’ları temizleyin,wp transient delete --all.
Test ve Doğrulama Checklist
-
Lighthouse/GTmetrix’te TTFB ve First Contentful Paint kıyaslaması
-
Redis eklenti panelinde Objects, Hit Ratio kontrolü
-
Sunucu tarafı:
INFO memory,INFO statsve yavaş sorgular içinSLOWLOG GET 10 -
Trafik simülasyonu (k6/ab/wrk) ile 50–200 RPS aralığında kararlılık testi
Sonuç
Redis Object Cache, WordPress’in veritabanına binen tekrarlı yükü azaltarak hız ve ölçeklenebilirlik getirir. cPanel, CyberPanel ve Docker’da kurulum adımları benzese de güvenli erişim, doğru TTL’ler ve izleme metrikleri başarı için kritik önemdedir.