WordPress siteniz neden yavaş ve nereden başlamalısınız
Siteniz PageSpeed'den 45 puan aldı ve görseller geç yükleniyor. Ya da TTFB değeriniz 1.5 saniyenin üzerinde ve kullanıcı içeriği görmeden sayfayı kapatıyor. Bu durumu biliyorsunuz: çok sayıda eklenti kurduğunuz, her birinin optimizasyon iddiasında olduğu, ancak sonucun değişmediği bir durum.
Herhangi bir değişiklik yapmadan önce mevcut durumu ölçmelisiniz. Başlangıç sayısı olmadan, çalışmanızın etkisini değerlendiremezsiniz.
Ölçüm için GTmetrix veya PageSpeed Insights kullanın. Daha hassas olan bir komut satırı aracınız da var:
curl -o /dev/null -s -w "TTFB: %{time_starttransfer}s\nTotal: %{time_total}s\n" https://example.com
Bu komutu üç kez çalıştırın ve ortalamayı alın. 600 milisaniyenin üzerindeki TTFB değeri, sorunun tema veya eklentiden değil, sunucudan kaynaklandığı anlamına gelir.
Önemli not: Siteniz paylaşımlı WordPress hosting üzerindeyse, sonuçları yoğun saatlerde de (İran saatiyle akşam 9 ile gece 12 arası) kontrol edin. Sabah 3'teki hız neredeyse her zaman iyidir.
İlk adım: Önbellek eklentisi ve doğru ayarlanması
Önbellek en basit ve en verimli işlemdir. Ancak eklenti kurmak yeterli değildir. Çoğu kişi eklentiyi kurar ve varsayılan ayarları bırakır. Bu bir hatadır.
Önbellek eklentileri arasında WP Rocket (ticari) ve LiteSpeed Cache'i (ücretsiz, yalnızca LiteSpeed üzerinde) öneriyorum. Hosting'iniz Apache veya Nginx ise, WP Super Cache veya W3 Total Cache ücretsiz seçeneklerdir.
Değiştirmeniz gereken ayarlar:
- Page Cache'i etkinleştirin ve süreyi 3600 saniyeye ayarlayın
- HTML ve CSS Minify'ı açın, ancak JavaScript'te dikkatli olun. JS dosyalarını birleştirmek bazen scriptlerin bozulmasına neden olur
- Görseller için Lazy Load'ı etkinleştirin
- Tarayıcı Önbelleğini (Browser Cache) en az 2678400 saniye (bir ay) max-age ile ayarlayın
Önbelleği etkinleştirdikten sonra TTFB'yi tekrar ölçün. Sayı 300 milisaniyenin altına düştüyse, ana sorun çözülmüş demektir.
Burada hata yapıyorlar: Önbelleği etkinleştiriyorsunuz ama sayfa hâlâ yavaş
Bu sorunun belirtisi: TTFB düştü ancak Toplam Süre hâlâ yüksek. Yani HTML hızlı geliyor ancak CSS ve JS dosyaları geç yükleniyor. Bu, sayfa önbelleğinin çalıştığı ancak tarayıcı önbelleğini veya CDN'yi etkinleştirmediğiniz anlamına gelir. Tarayıcı Önbelleği ayarlarını kontrol edin ve hosting'inizde CDN varsa açın.
Veritabanı: Çoğu sitenin unuttuğu yer
WordPress, bir sayfa her yüklendiğinde veritabanına birkaç sorgu gönderir. Veritabanı yoğunsa, bu sorgular yavaşlar. Sorun şu ki çoğu site yöneticisi veritabanına hiç bakmaz.
İlk iş: Tabloları inceleyin. phpMyAdmin veya komut satırından:
mysql -u username -p database_name -e "SHOW TABLE STATUS;"
Data_free sütununa bakın. Yüksek bir sayı görüyorsanız, tablolar parçalanmış demektir. Bu, çok sayıda silme ve düzenleme sonrasında meydana gelir.
Tabloları optimize etmek için şu komutu kullanın:
mysql -u username -p database_name -e "OPTIMIZE TABLE wp_options, wp_posts, wp_postmeta;"
Bunu ayda bir yapın. Ancak dikkatli olun: Siteniz büyükse (100 binden fazla yazı), optimizasyon birkaç dakika sürebilir ve siteyi geçici olarak erişilemez hale getirebilir. Bu durumda, düşük trafikli bir saatte yapın.
İkinci iş: wp_options tablosunu inceleyin. Bu tablo genellikle en büyük sorunu oluşturur. Silinen eklentiler bazen verilerini bu tabloda bırakır. Bu sorguyla orada ne olduğunu görebilirsiniz:
SELECT option_name, LENGTH(option_value) AS size FROM wp_options ORDER BY size DESC LIMIT 20;
Silinen eklentilerden büyük boyutlu satırlar görüyorsanız, bunları silin. Ancak silmeden önce veritabanından yedek alın. Bu işi ciddiye alın.
Gerçek bir takas: Veritabanı temizliği ve risk
WP-Optimize gibi veritabanı temizleme eklentileri işi kolaylaştırır, ancak bazen silinmemesi gereken satırları siler. Örneğin, giriş yapmış kullanıcıların oturum verilerini siler ve kullanıcıları zorla hesaplarından çıkarır. Ben temizliği yalnızca belirli tablolarda manuel olarak yapmayı tercih ederim. Vaktiniz yoksa, eklentiyi sınırlı ayarlarla (yalnızca revizyonları ve silinen eklentilerin verilerini silme) çalıştırın.
PHP sürümü: Göz ardı ettiğiniz en kolay kazanım
WordPress, PHP 7.4 üzerinde PHP 5.6'dan yaklaşık 3 kat daha hızlı çalışır. PHP 8.2 sürümü de 7.4'e göre yaklaşık %20-30 daha hızlıdır. Bu sayıyı basit bir kıyaslamayla görebilirsiniz.
Siteniz hâlâ PHP 7.4 veya altındaysa, her şeyden önce bunu değiştirin. Ancak değiştirmeden önce şu adımları izleyin:
- Site ve veritabanından tam yedek alın
- Tüm eklentileri ve temayı en son sürüme güncelleyin
- Staging ortamında (varsa) PHP'yi değiştirin ve test edin
- Test ortamınız yoksa, PHP'yi değiştirin ve siteyi hemen kontrol edin
PHP yükseltmesinden sonra yaygın hata: Beyaz sayfa veya 500 hatası. Bu genellikle yeni sürümle uyumlu olmayan eski bir eklentiden kaynaklanır. Bu durumda, FTP veya hosting dosya yöneticisi üzerinden wp-content/plugins klasörünü geçici olarak başka bir isimle yeniden adlandırarak tüm eklentileri devre dışı bırakın. Site açılır ve eklentileri tek tek etkinleştirebilirsiniz.
Mevcut PHP sürümünü kontrol etmek için WordPress yönetim panelinde "Araçlar" ve "Site Sağlığı" bölümüne gidin. Veya komut satırından:
php -v
Hosting'iniz PHP 8.2 veya 8.3'ü destekliyorsa, ona geçiş yapın. Bu işlem Linux hosting üzerinde genellikle kontrol panelinden birkaç tıklamayla yapılır.
Görseller: Her sayfanın en ağır bölümü
Görseller genellikle bir sayfanın ağırlığının %60-70'ini oluşturur. PNG formatında yüklenen 2 MB'lık bir görsel, tüm sayfanın hızını bozabilir.
Basit kural: Görselleri yüklemeden önce optimize edin. Squoosh veya ImageOptim gibi araçlar, gözle görülür kalite kaybı olmadan boyutu azaltır. WebP formatını seçin; çoğu durumda JPEG'den %30-50 daha hafiftir.
Daha önce yüklenmiş görseller için ShortPixel veya Imagify gibi eklentiler işi halleder. Ancak burada da bir sınırlama var: Bu eklentilerin ücretsiz sürümünün aylık kotası sınırlıdır (örneğin ayda 100 görsel). Sitenizde binlerce görsel varsa, ücretli sürümü satın almanız veya görselleri manuel olarak optimize etmeniz gerekir.
Optimizasyonun yanı sıra görsel boyutlarını da kontrol edin. 4000 piksel genişliğinde bir görsel 600 piksellik bir sütunda gösteriliyorsa, tarayıcı büyük dosyayı indirip sonra küçültmek zorunda kalır. Bu gereksiz bir işlemdir.
İş sırası: Önce neyi yapmalısınız
Sınırlı vaktiniz varsa şu sırayı izleyin:
- PHP sürümünü 8.2 veya üstüne yükseltin (henüz yapmadıysanız)
- Bir önbellek eklentisi kurun ve ayarlayın
- Veritabanını optimize edin
- İlk sayfadaki görselleri (kullanıcının ilk gördüğü) optimize edin
Her adımdan sonra TTFB ve Toplam Süreyi ölçün. Sonucu not edin. Bu size hangi adımın en büyük etkiye sahip olduğunu gösterir.
Daha hassas ölçüm ve sonuçların yorumlanması için site hız testi araçları rehberini okuyun. Siteniz sık sık erişilemiyorsa ve bu hızı etkiliyorsa, site çalışma süresi izleme konusunu da inceleyin.
Sık Sorulan Sorular
WordPress için en iyi önbellek eklentisi hangisidir?
WP Rocket en iyi ticari seçenektir ve LiteSpeed Cache, hosting'inizin LiteSpeed kullanması koşuluyla en iyi ücretsiz seçenektir. Hosting'iniz Nginx veya Apache ise, WP Super Cache güvenilir bir seçimdir. Hiçbir eklentiyi manuel ayar yapmadan bırakmayın; varsayılan ayarlar genellikle yeterli değildir.
WordPress sitemin TTFB'si neden yüksek?
Yüksek TTFB, sunucunun yanıt üretmek için çok zaman harcadığı anlamına gelir. Yaygın nedenler: Eski PHP sürümü, yoğun veritabanı, ağır eklenti veya paylaşımlı hosting'in sınırlı kaynakları. Önce PHP sürümünü kontrol edin, ardından veritabanını optimize edin ve son olarak gereksiz eklentileri devre dışı bırakın.
WordPress veritabanı optimizasyonu güvenli midir?
Güvenilir araçlar kullanır ve her işlemden önce yedek alırsanız güvenlidir. Ancak otomatik temizleme eklentileri bazen önemli verileri siler. OPTIMIZE TABLE sorgularıyla manuel yöntem daha güvenlidir. Yalnızca gerçekten parçalanmış tabloları optimize edin.
WordPress veritabanını ne sıklıkla optimize etmeliyim?
Normal siteler için ayda bir yeterlidir. Siteniz yoğun trafik alıyorsa veya çok fazla içerik üretiliyorsa, iki haftada bir. Aşırı optimizasyon da zararlıdır; veritabanı küçük ve sağlıklıysa, ona dokunmak yalnızca gereksiz risk oluşturur.
Yorumlar 0
Henüz yorum yok — ilk siz olun!