Hız Neden Bu Kadar Önemli?
WordPress dünyanın en yaygın içerik yönetim sistemidir ama kutudan çıktığı haliyle hızlı değildir. Eklentiler biriktikçe, görseller optimize edilmedikçe ve veritabanı şiştikçe sayfalarınız yavaşlar. Google'ın Core Web Vitals metrikleri (LCP, INP, CLS) doğrudan sıralama sinyali olduğundan yavaşlık artık sadece kullanıcı deneyimi değil, SEO sorunudur.
Rakamlarla konuşalım: yükleme süresi 1 saniyeden 3 saniyeye çıktığında ziyaretçinin siteyi terk etme (bounce) olasılığı yaklaşık %30 artar, 5 saniyeye çıktığında bu oran ikiye katlanır. E-ticaret sitelerinde her 100 ms'lik gecikme dönüşüm oranını ölçülebilir biçimde düşürür. Hedefimiz nettir: LCP değeri 2,5 saniyenin altı, ideali ise toplam yükleme süresini 2 saniyenin altına çekmektir.
Önce Ölçün: Baz Değeri Belirleyin
Optimize etmeden önce nereden başladığınızı bilmelisiniz. Aksi halde yaptığınız değişikliğin işe yarayıp yaramadığını anlayamazsınız. Üç aracı birlikte kullanın:
- PageSpeed Insights: Google'ın laboratuvar + saha verisi. Core Web Vitals'ı buradan görürsünüz.
- GTmetrix: Ayrıntılı waterfall (istek zinciri) grafiği ile hangi kaynağın yavaşlattığını gösterir.
- WebPageTest: Farklı lokasyonlardan ve gerçek cihazlardan test imkanı. İstanbul/Frankfurt lokasyonlarını seçin.
Aynı sayfayı 3 kez test edip ortalamayı not alın. Örnek bir baz tablosu:
| Metrik | Kötü | İyileştirilmeli | Hedef |
|---|---|---|---|
| TTFB | > 800 ms | 400-800 ms | < 300 ms |
| LCP | > 4,0 s | 2,5-4,0 s | < 2,5 s |
| INP | > 500 ms | 200-500 ms | < 200 ms |
| Toplam yükleme | > 5 s | 2-5 s | < 2 s |
15 Adımlık Hızlandırma Listesi
Aşağıdaki adımları sırayla uygulayın. Her adımdan sonra tekrar ölçüm yaparak etkisini görün. En büyük kazanç genellikle ilk 6 adımdadır.
1. Kaliteli ve güncel bir sunucu seçin. Hız zincirinin ilk halkası sunucudur. Yavaş, aşırı yüklü paylaşımlı bir sunucuda hiçbir eklenti sizi kurtaramaz. LiteSpeed web sunucusu ve NVMe SSD diskli, PHP 8.3 destekli bir plan tercih edin. Türkiye'ye yönelik trafik için İstanbul veya Almanya lokasyonu düşük gecikme sağlar. Uygun planları hosting karşılaştırma sayfamızdan inceleyebilirsiniz.
2. PHP 8.3'e geçin. PHP sürümü performansın en ucuz ve en etkili kaldıracıdır. PHP 8.3, PHP 7.4'e göre aynı WordPress'te ölçülebilir biçimde daha fazla istek/saniye işler. cPanel'de Select PHP Version veya MultiPHP Manager üzerinden geçin.
3. Sayfa önbelleği (page cache) kurun. Her ziyaretçi geldiğinde WordPress'in tüm PHP kodunu ve veritabanı sorgularını baştan çalıştırması gereksizdir. Önbellek, hazır HTML çıktısını saklar ve saniyenin binde biriyle sunar. LiteSpeed sunucudaysanız LiteSpeed Cache (LSCache), değilseniz WP Super Cache veya W3 Total Cache kullanın.
4. Nesne önbelleği için Redis kurun. Sayfa önbelleğine giremeyen dinamik sorgular (sepet, giriş yapmış kullanıcı sayfaları) için Redis nesne önbelleği veritabanı yükünü ciddi biçimde azaltır. Aşağıda ayrıntılı anlatıyoruz.
5. Görselleri optimize edin. Sayfa ağırlığının çoğu görsellerdir. WebP formatına dönüştürün, boyutlandırın ve tembel yükleme (lazy load) uygulayın. Tek başına bu adım LCP'yi çoğu sitede yarı yarıya düşürür.
6. CSS ve JS dosyalarını küçültün, birleştirin ve erteleyin. Gereksiz boşlukları temizleyin (minify), render'ı bloke eden JavaScript'i defer ile erteleyin, kullanılmayan CSS'i temizleyin. LSCache veya Autoptimize bunu otomatik yapar.
7. Kritik CSS ve tembel yükleme kullanın. İlk ekranda görünen (above the fold) içerik için gereken CSS'i satır içine alın, gerisini ertelemeli yükleyin. Görselleri ve iframe'leri (YouTube gömüleri gibi) ekrana girene kadar yüklemeyin.
8. Bir CDN entegre edin. Statik dosyalarınızı (görsel, CSS, JS) ziyaretçiye en yakın sunucudan sunmak için Cloudflare gibi ücretsiz bir CDN kullanın. Yurt dışı ziyaretçileriniz varsa gecikme belirgin biçimde düşer.
9. GZIP/Brotli sıkıştırmayı açın. Sunucudan gönderilen HTML, CSS ve JS dosyaları sıkıştırılarak boyutları %60-80 küçülür. LiteSpeed'de Brotli varsayılan gelir; Apache/Nginx'te .htaccess veya sunucu ayarından etkinleştirin.
10. Tarayıcı önbelleği için uzun son kullanma tarihleri ayarlayın. Statik dosyalara Cache-Control ve Expires başlıkları ekleyin ki tekrar gelen ziyaretçi bunları yeniden indirmesin.
11. Gereksiz eklentileri temizleyin. Her aktif eklenti kod, sorgu ve bazen ekstra HTTP isteği ekler. Kullanmadığınız veya işlevini tema/kod ile karşılayabileceğiniz eklentileri devre dışı bırakıp silin. Kural: 20'den fazla aktif eklenti genellikle uyarı işaretidir.
12. Veritabanını temizleyin ve optimize edin. Yazı revizyonları, çöp kutusu, spam yorumlar, geçici (transient) kayıtlar ve yetim meta veriler tabloları şişirir. WP-Optimize veya doğrudan SQL ile temizleyin (aşağıda gösteriyoruz).
13. Heartbeat ve otomatik kayıt sıklığını azaltın. WordPress'in arka planda çalışan Heartbeat API'si ve sık otomatik kayıt (autosave) yönetim panelini yavaşlatabilir. Sıklığı 60 saniyeye çıkarın.
14. Emoji ve gereksiz varsayılanları kapatın. WordPress her sayfada emoji betiği, gömülü içerik (embeds) betiği ve pingback gibi çoğu sitenin ihtiyaç duymadığı kaynaklar yükler. Bunları temadan veya bir eklentiyle devre dışı bırakın.
15. Düzenli bakım rutini kurun. Hız tek seferlik bir iş değildir. Ayda bir veritabanı temizliği, önbellek kontrolü, eklenti güncellemesi ve yeni ölçüm yapın. Sunucu tarafındaki kesintileri de durum sayfamızdan takip edebilirsiniz.
Derinlemesine: LSCache ve Redis
LiteSpeed Cache (LSCache), LiteSpeed web sunucusuyla birlikte çalışan sunucu düzeyinde bir önbellektir. Sıradan PHP önbelleklerinin aksine önbellek doğrudan web sunucusunda tutulduğu için PHP hiç devreye girmez; bu da onu en hızlı seçeneklerden biri yapar. Kurulum:
- Eklentiler → Yeni Ekle → "LiteSpeed Cache" → Kur ve Etkinleştir
- LiteSpeed Cache → Cache → "Enable Cache" → AÇIK
- Cache → TTL: sayfa için 604800 saniye (1 hafta) makul bir başlangıçtır
- Page Optimization → CSS/JS Minify ve Combine → AÇIK, JS Defer → AÇIK
- Image Optimization → görselleri toplu WebP'ye dönüştürün
Redis nesne önbelleği, veritabanı sorgu sonuçlarını RAM'de tutar. Giriş yapmış kullanıcı sayfaları, WooCommerce sepeti gibi önbelleğe alınamayan dinamik içeriklerde bile veritabanı yükünü ciddi biçimde düşürür. Sunucunuzda Redis kuruluysa (çoğu iyi hosting sağlar) doğrulama:
# Sunucuda Redis çalışıyor mu? redis-cli ping # Beklenen çıktı: PONG # WordPress tarafında WP-CLI ile object cache durumu wp redis status # "Status: Connected" görmelisiniz
WordPress tarafında Redis Object Cache eklentisini kurup "Enable Object Cache" butonuna basmanız yeterlidir. LSCache kullanıyorsanız onun içindeki Object Cache sekmesinden de Redis'i bağlayabilirsiniz.
Derinlemesine: Görsel Optimizasyonu
Tipik bir WordPress sayfasının ağırlığının %50-70'i görsellerden gelir. Üç şey yapmanız gerekir:
- Doğru boyut: 3000px genişlikte bir fotoğrafı 800px'lik bir alana koymayın. Yüklemeden önce boyutlandırın.
- Modern format (WebP/AVIF): WebP, JPEG'e göre aynı kalitede %25-35 daha küçüktür. AVIF daha da iyidir ama tarayıcı desteğini kontrol edin.
- Tembel yükleme (lazy load): Ekrana girmeyen görselleri yüklemeyin. WordPress bunu artık yerel olarak destekler; eklentiyle ince ayar yapabilirsiniz.
ShortPixel, Imagify veya EWWW gibi eklentiler yüklediğiniz her görseli otomatik WebP'ye çevirip sıkıştırır. Mevcut kütüphanenizi de toplu işleyebilirsiniz. Komut satırına erişiminiz varsa cwebp ile manuel dönüştürme:
# Tek görseli WebP'ye çevir (kalite 82 iyi bir dengedir)
cwebp -q 82 urun.jpg -o urun.webp
# Bir klasördeki tüm JPG'leri toplu çevir
for f in *.jpg; do cwebp -q 82 "$f" -o "${f%.jpg}.webp"; done
Ayrıca <img> etiketlerine width ve height özniteliklerini eklemeyi unutmayın; bu, sayfa yüklenirken içeriğin zıplamasını (CLS metriği) önler.
Derinlemesine: Veritabanı Temizliği
Zamanla WordPress veritabanı gereksiz verilerle şişer: her yazı için düzinelerce revizyon, süresi dolmuş transient kayıtları, spam yorumlar ve silinen eklentilerin bıraktığı yetim satırlar. Bu şişkinlik her sorguyu yavaşlatır.
Kolay yol: WP-Optimize eklentisini kurun; revizyonları, çöp kutusunu, spam yorumları ve transient'leri tek tıkla temizler, ardından tabloları optimize eder. Haftalık otomatik temizlik zamanlaması kurabilirsiniz.
Manuel yol (yedek aldıktan sonra): phpMyAdmin'de aşağıdaki sorgular en sık şişen verileri temizler. Tablo öneki genelde wp_'dir ama kurulumunuza göre değişebilir:
-- Yazı revizyonlarını sil DELETE FROM wp_posts WHERE post_type = 'revision'; -- Süresi dolmuş geçici (transient) kayıtları temizle DELETE FROM wp_options WHERE option_name LIKE '_transient_%'; -- Spam ve çöp yorumları sil DELETE FROM wp_comments WHERE comment_approved = 'spam' OR comment_approved = 'trash'; -- Yetim kalan yorum meta verilerini temizle DELETE pm FROM wp_commentmeta pm LEFT JOIN wp_comments c ON c.comment_ID = pm.comment_id WHERE c.comment_ID IS NULL;
Revizyon birikimini baştan engellemek için wp-config.php dosyasına şu satırı ekleyin (yazı başına en fazla 5 revizyon tutar):
// wp-config.php içine, "That's all, stop editing!" satırının ÜSTÜNE ekleyin define( 'WP_POST_REVISIONS', 5 ); define( 'AUTOSAVE_INTERVAL', 120 ); // otomatik kayıt sıklığı: 120 saniye
Sunucu Seçimi: Hız İşin Yarısı
Onlarca eklenti ayarıyla uğraşıp yavaş bir sunucuda kalmak, yarış arabasına bisiklet lastiği takmak gibidir. Trafiğiniz ve bütçeniz büyüdükçe barındırma katmanınızı da büyütün:
- Başlangıç / küçük blog: LiteSpeed + NVMe destekli kaliteli paylaşımlı hosting yeterlidir. Aylık ~₺100-250 bandında iyi planlar bulunur. Seçenekler için hosting karşılaştırma.
- Büyüyen site / WooCommerce: Kaynaklarınızı sizinle paylaşan komşu yoksa performans daha kararlı olur. Bir VPS karşılaştırma ile yönetebileceğiniz seçenekleri değerlendirin; aylık ~₺200-500 bandında başlar.
- Yüksek trafik / kritik proje: Tam kaynak kontrolü ve izole performans için VDS karşılaştırma veya dedicated sunucu tarafına bakın.
Sunucu tarafında TTFB'yi düşürmenin bir diğer yolu da veri merkezinin konumudur: Türk ziyaretçilere hitap ediyorsanız İstanbul veya Almanya lokasyonlu bir sağlayıcı, ABD lokasyonundan gözle görülür biçimde daha düşük gecikme verir.
Yayına Almadan Önce Kontrol Listesi
Tüm adımları uyguladıktan sonra son bir tur atın:
- PageSpeed Insights'ta mobil ve masaüstü skorlarını yeniden ölçtünüz mü?
- LCP değeri 2,5 saniyenin altına indi mi?
- Önbellek çalışıyor mu? (Sayfayı gizli sekmede açıp yükleme süresini karşılaştırın.)
- Görseller WebP olarak sunuluyor ve lazy load ediliyor mu?
- Site tüm sayfalarda düzgün görünüyor mu? (Minify/combine bazen tema stilini bozabilir; kontrol edin.)
- SSL ile
https://üzerinden HTTP/2 veya HTTP/3 aktif mi? - Mobil cihazda gerçek bir test yaptınız mı?
Bu listeyi ayda bir tekrarlayın. WordPress ve eklenti güncellemeleri bazen ayarlarınızı etkileyebilir; düzenli ölçüm sizi sürprizlerden korur.
Sıkça Sorulan Sorular
WordPress'i hızlandırmak için hangi tek adım en etkilidir?
Tek bir adım seçmek gerekirse: sayfa önbelleği kurmak. LiteSpeed sunucudaysanız LSCache, değilseniz WP Super Cache veya W3 Total Cache. Önbellek, WordPress'in her istekte tüm PHP kodunu ve veritabanı sorgularını baştan çalıştırmasını engelleyerek yükleme süresini genellikle yarıdan fazla düşürür.
LSCache mı yoksa W3 Total Cache mı kullanmalıyım?
Sunucunuz LiteSpeed ise kesinlikle LSCache; çünkü önbelleği web sunucusu düzeyinde tutar ve PHP'yi hiç devreye sokmaz, bu da en hızlı çözümdür. Apache veya Nginx sunucudaysanız W3 Total Cache ya da WP Super Cache uygundur. İkisini aynı anda etkinleştirmeyin.
Çok fazla eklenti siteyi gerçekten yavaşlatır mı?
Evet, ama sayıdan çok "kalite" önemlidir. Kötü yazılmış tek bir eklenti, iyi yazılmış on eklentiden daha fazla yavaşlatabilir. Yine de 20'nin üzerinde aktif eklenti çoğunlukla gereksiz kod, ekstra sorgu ve HTTP isteği demektir. Kullanmadıklarınızı devre dışı bırakıp silin.
Redis kullanmak için teknik bilgi gerekir mi?
Sunucunuzda Redis kuruluysa (birçok kaliteli hosting sağlar) WordPress tarafında sadece bir eklenti kurup "Enable Object Cache" butonuna basmanız yeterlidir. Redis kurulu değilse hosting firmanızdan etkinleştirmesini isteyin; bu, veritabanı yoğun sitelerde belirgin fark yaratır.
PHP sürümünü yükseltmek sitemi bozar mı?
Güncel bir tema ve güncel eklentiler kullanıyorsanız PHP 8.3'e geçiş sorunsuzdur ve performansı artırır. Yine de önce bir yedek alın ve mümkünse bir test/staging ortamında deneyin. Çok eski, terk edilmiş bir eklentiniz varsa uyumsuzluk çıkabilir; o durumda eklentiyi güncel bir alternatifle değiştirin.