Paylaşımlı hostinglerde WordPress’in en büyük darboğazı PHP’nin her istekte aynı sorguları tekrarlamasıdır. Object Cache, bu sorgu sonuçlarını RAM’de tutarak sayfa üretimini ciddi şekilde hızlandırır. Doğru kurgulandığında TTFB düşer, CPU/IO dalgalanmaları sakinleşir ve aynı kaynakla daha çok trafiği karşılayabilirsiniz. Aşağıdaki rehber cPanel ortamında Redis’i (tercihen UNIX socket ile) etkinleştirmek için hazırlanmıştır.
1) Hızlı Mimari Bakış
-
OPcache: PHP opcode’larını RAM’de tutar (herkese şart).
-
Object Cache (Redis): WordPress’in
get_option,WP_Queryvb. sonuçlarını tutar. -
Page Cache (LSCache/Cloudflare): Dinamik çıktıyı düz HTML gibi sunar.
En iyi sonuç: OPcache + Redis Object Cache + (varsa) LiteSpeed Cache eklentisi üçlüsü.
2) Ön Koşullar (cPanel Tarafı)
-
PHP Selector / MultiPHP: Projenizin PHP sürümü 8.1+ olmalı.
-
Redis Sunucu (service): Sunucu tarafında Redis çalışır durumda olmalı. (Paylaşımlı sunucuda genelde hosting tarafından sağlanır.)
-
PHP Redis eklentisi:
phpinfo()veya cPanel > Select PHP Version altından redis eklentisini aktif edin. -
Güvenlik: Mümkünse UNIX socket (dosya yolu) kullanın; TCP portu yerine daha güvenli ve hızlıdır.
Not: Socket yolu tipik olarak
/var/run/redis/redis.sockveya/home/USERNAME/.redis/redis.sockolabilir. Sağlayıcınızın dokümanını kontrol edin.
3) Redis’e Bağlantı Seçenekleri
A) UNIX Socket (Önerilen)
-
Avantaj: Daha düşük gecikme, port açmaya gerek yok, kullanıcı izolasyonu kolay.
-
Bağlantı Dizgisi:
unix:/var/run/redis/redis.sock
B) TCP Üzerinden
-
Örnek:
127.0.0.1:6379 -
Gereksinim:
bind 127.0.0.1, güvenlik politikaları, gerekirserequirepass.
4) WordPress Tarafı Kurulum (wp-cli veya Panel)
4.1 Eklentiyi Yükleme
-
Yönetim paneli: Redis Object Cache eklentisini kurun ve etkinleştirin.
-
Veya SSH/wp-cli:
wp plugin install redis-cache --activate
4.2 wp-config.php Ayarları (Socket ile)
// Redis: UNIX socket kullan define('WP_REDIS_SCHEME', 'unix'); define('WP_REDIS_PATH', '/var/run/redis/redis.sock'); // (Opsiyonel) Site başına key prefix define('WP_REDIS_PREFIX', 'site1_'); // (Opsiyonel) Persistent bağlantı define('WP_REDIS_PERSISTENT', true); // (Opsiyonel) Grupları kalıcı tutma define('WP_REDIS_IGNORED_GROUPS', ['counts','plugins']);
TCP kullanıyorsanız:
define('WP_REDIS_HOST', '127.0.0.1'); define('WP_REDIS_PORT', 6379); // define('WP_REDIS_PASSWORD', 'GerekirseBuraya');
4.3 Redis’i Etkinleştirme
-
Panelden: Enable Object Cache
-
wp-cli:
wp redis enable
4.4 Çalıştığını Doğrulama
wp redis status # veya redis-cli -s /var/run/redis/redis.sock ping # TCP ise: redis-cli -h 127.0.0.1 -p 6379 ping
5) LiteSpeed Cache ile En İyi Çalışma Şekli
LiteSpeed kullanıyorsanız LSCache eklentisiyle Page Cache görevini LS üstlenir; Object Cache sütununu Redis tamamlar:
-
LSCache > Cache > Object bölümünde Method: Redis seçin, socket veya host/port bilgisini girin.
-
Crawler özelliğini yavaş frekansta açabilir; Redis ile ısıtılmış nesne önbelleği daha verimli çalışır.
-
Dinamik oturum açmış kullanıcı trafiğinde (WooCommerce sepeti, üyelik siteleri) sayfa cache’i sınırlı çalışırken Object Cache ciddi fark yaratır.
6) Önerilen Redis Ayarları (Sunucu)
Bu bölüm, root/hosting yöneticisi içindir; yönetimli hostingde sağlayıcıya iletin.
-
maxmemorydeğerini RAM’e göre belirleyin; örn.maxmemory 512mb -
maxmemory-policy allkeys-lru(veyavolatile-lru); blog/mağaza içeriğine göre. -
unixsocketperm 770ve ilgili kullanıcı grubuna izin verin. -
Birden fazla kullanıcı için izolasyon: Her kullanıcıya ayrı socket ve ayrı db (
databases 128+SELECT n) veya ayrı instance.
7) Ölçüm: Gerçek Kazanç Nasıl Test Edilir?
-
Isıtmasız ölçüm:
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}\n" https://site.com/ -
Redis kapalı vs açık karşılaştırın; 3–5 tekrarlı ortalama alın.
-
Query Monitor (WP eklentisi) ile Redis etkinleşince DB sorgu sayısı ve harcanan süre düşmelidir.
-
K6 / Locust ile 50–100 VU kısa bir yük testi; CPU/IO grafiği daha stabil hale gelir.
8) Tipik Sorunlar ve Çözümleri
-
“Cannot connect to Redis”
-
Socket yolu yanlış veya izin yetersiz (
chmod 770, doğru grup). -
TCP’de
bind/portkapalı. Güvenlik duvarını verequirepassayarını kontrol edin.
-
-
Aktif görünüyor ama hit artmıyor
-
Sayfalar tamamen cache’ten geliyorsa Object Cache etkisi az görünür; admin bar açıkken, ödeme/üye sayfalarında test edin.
-
WP_REDIS_PREFIXçakışmaları; çoklu site (multisite) için benzersiz prefix verin.
-
-
OOM (Out of Memory) purgeleri
-
maxmemoryartırın veyaallkeys-lrukullanın. -
WooCommerce sitelerinde stok/sipariş yoğun saatlerde TTL’leri kısaltın.
-
-
Cron/Queue görevleri ağır
-
WP-Cron gerçek cron’a taşın:
# wp-config.php define('DISABLE_WP_CRON', true); # cPanel > Cron Jobs ile */5 * * * * wget -q -O - https://site.com/wp-cron.php?doing_wp_cron >/dev/null 2>&1
-
9) Temizleme ve Yönetim Komutları (Kopyala—Yapıştır)
# WordPress içinden wp redis flush # Object cache içeriğini boşalt wp cache flush # WP cache arayüzü wp transient delete --all # Sunucu tarafı (dikkat!) redis-cli -s /var/run/redis/redis.sock FLUSHALL # veya belirli db: redis-cli -n 2 FLUSHDB
10) Hızlı Kontrol Listesi
- PHP 8.1+ ve OPcache açık
-
redisPHP eklentisi aktif - Redis’e UNIX socket ile bağlantı (mümkünse)
-
wp-config.php’de doğru sabitler - LSCache ile Object=Redis, Page Cache=ON
-
wp redis statusve kısa yük testi ile doğrulama - TTL, prefix ve LRU politikaları gözden geçirildi
Sonuç
cPanel üzerinde Redis’li Object Cache, WordPress sitelerine daha düşük TTFB, daha stabil CPU/IO ve daha yüksek eşzamanlılık kazandırır. OPcache + Redis + (varsa) LSCache üçlüsüyle hem arama motoru taramalarında hem de gerçek kullanıcı trafiğinde daha akıcı bir deneyim sunarsınız. Kurulum basit; asıl fark doğru bağlantı yöntemi (socket), TTL/prefix ayarları ve izleme/ölçüm disiplininden gelir.