Ziyaretçi sitenize geldiğinde ilk birkaç saniye her şeydir. Sayfa geç açılırsa, ne kadar iyi içeriğiniz olursa olsun ziyaretçinin bir kısmı beklemeden geri döner. Bu yazıda hızı belirleyen temel ölçümleri ve her biri için yapabileceklerinizi anlatıyoruz.
Sitenizin şu anki durumunu site hızı testi ile ölçebilirsiniz; aşağıdaki maddelerin çoğunu tek seferde kontrol eder.
Hızı ne belirler?
Bir sayfanın açılması kabaca üç aşamadan oluşur:
- Sunucunun ilk yanıtı (TTFB): Tarayıcı isteği gönderir, sunucu sayfayı hazırlayıp ilk baytı yollar. Veritabanı sorguları, eklentiler ve sunucunun uzaklığı burada belirleyicidir.
- HTML'in inmesi: Sayfanın kendisi ne kadar büyükse ve sıkıştırılmamışsa o kadar uzun sürer.
- Görseller, stiller ve betikler: HTML'deki her dosya ayrı bir indirmedir.
Testimiz ilk iki aşamayı sunucumuzdan ölçer. Görseller ve betikler dahil tam sayfa ölçümü için Google PageSpeed Insights'ı da kullanın.
1. Sunucu yanıt süresini düşürün
Hedef: 600 ms'nin altı. 1,5 saniyeyi aşıyorsa öncelikli sorununuz budur.
- Sayfa önbelleği kullanın. WordPress'te WP Super Cache, W3 Total Cache veya LiteSpeed Cache gibi bir eklenti, her ziyarette sayfayı yeniden oluşturmak yerine hazır HTML'i sunar. TTFB çoğu zaman 1–2 saniyeden 100–200 ms'ye iner.
- Gereksiz eklentileri kaldırın. Her eklenti her istekte çalışır. Kullanmadıklarınızı silin (devre dışı bırakmak yetmez).
- Sunucuyu ziyaretçilerinize yakın seçin. Ziyaretçileriniz Türkiye'deyse Türkiye'de veya yakın bir bölgede barındırılan sunucu fark yaratır. CDN kullanmak da aynı etkiyi verir.
- PHP sürümünü güncelleyin. Eski PHP sürümleri belirgin şekilde yavaştır; hosting panelinden en güncel desteklenen sürümü seçin.
2. Sıkıştırmayı açın
gzip veya brotli sıkıştırması HTML, CSS ve JavaScript'i genellikle %70'ten fazla küçültür. Çoğu sunucuda bir ayardır ama sıkça kapalı kalır.
Apache (.htaccess):
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript application/json image/svg+xml
</IfModule>
Nginx:
gzip on;
gzip_types text/css application/javascript application/json image/svg+xml;
Cloudflare kullanıyorsanız sıkıştırma kendiliğinden açıktır.
3. HTML'i küçük tutun
Sayfanın HTML'i 150 KB'ı aşıyorsa içinde muhtemelen satır içi büyük stil veya betik blokları, gömülü görseller (base64) ya da çok uzun menüler vardır. Bunları ayrı dosyalara taşımak tarayıcının önbelleğe almasını da sağlar.
4. Tarayıcı önbelleğini kullanın
Logo, stil dosyası ve yazı tipleri gibi değişmeyen dosyalar için uzun süreli Cache-Control başlığı verin. Ziyaretçi ikinci sayfayı açtığında bu dosyalar yeniden indirilmez.
Cache-Control: public, max-age=31536000, immutable
Bu süreyi yalnızca adı sürümle değişen dosyalarda (ör. stil.css?v=12) kullanın; aksi halde güncellemeler ziyaretçiye geç ulaşır.
5. Yönlendirme zincirlerini kısaltın
Ziyaretçi http://ornek.com → https://ornek.com → https://www.ornek.com gibi iki adımdan geçiyorsa, sayfa daha başlamadan iki gidiş-dönüş kaybedilir. Ayrıntılar için www mi, www'suz mu? yazımıza bakın.
6. Görselleri unutmayın
Testimiz görselleri ölçmez ama çoğu sitede en büyük yük onlardır:
- Fotoğrafları yüklemeden önce boyutlandırın: ekranda 800 piksel genişliğinde görünecek bir görselin 4000 piksel olması gerekmez.
- WebP veya AVIF biçimini kullanın; JPEG'e göre belirgin şekilde küçüktür.
- Sayfanın alt kısımlarındaki görsellere
loading="lazy"ekleyin.
Sık sorulan sorular
Trafik takas ziyaretleri hızdan etkilenir mi?
Evet. Sörf ekranında site belirli bir süre gösterilir; sayfa bu sürenin büyük kısmında yükleniyorsa ziyaretçi sitenizi görmeden süre dolar. Hızlı bir site aynı ziyaretten daha fazla değer alır.
PageSpeed puanım düşük ama site hızlı açılıyor, neden?
PageSpeed Insights yavaş bir mobil bağlantıyı taklit eder ve görseller, betikler gibi tüm kaynakları ölçer. Kendi bilgisayarınızda hızlı bağlantıyla açılan bir sayfa, ortalama bir telefonda çok daha yavaş açılabilir.
Önbellek eklentisi kurdum ama değişiklikler görünmüyor.
Önbellekteki eski sayfa sunuluyor olabilir. Eklentinin "önbelleği temizle" düğmesini kullanın; Cloudflare kullanıyorsanız orada da önbelleği temizleyin.