Merhaba arkadaşlar, bugün sizlere LiteSpeed Web Server veya OpenLiteSpeed kullanırken, sitenizin performansını ve kullanıcı deneyimini en üst seviyeye çıkaracak, akıllı önbellek süresi (TTL - Time To Live) yapılandırmasından bahsedeceğim. TTL'yi doğru ayarlamak, statik içeriği uzun süre önbellekte tutarak sunucu yükünü ciddi oranda düşürürken, sık güncellenen içeriklerin de güncel kalmasını sağlar. Benim yönettiğim sunucularda da uyguladığım bu yöntemlerle, hem hız puanlarınızı yükseltecek hem de gereksiz önbellek temizleme işlemlerinden kurtulacaksınız.
Neden İçerik Türüne Göre Farklı TTL Kullanmalıyız?
Tek bir TTL değeri tüm site için kullanmak, çoğu zaman verimsizdir. Örneğin, sitenizin logosu (logo.png) aylarca değişmezken, anasayfanız veya yeni yorum eklenen bir sayfa çok daha sık güncellenir. TTL'yi içerik türüne göre optimize ederek, değişmeyen dosyalar için tarayıcı ve sunucu önbelleğini maksimum süre kullanır, değişken içerikler için ise önbelleği daha sık yenilersiniz. Bu, sunucu kaynak tüketimini azaltır ve site hızını artırır.
.htaccess Üzerinden Akıllı TTL Kuralları
En pratik yöntem, LiteSpeed'in anladığı direktifleri .htaccess dosyanıza eklemektir. Aşağıdaki kurallar, farklı dosya türleri için farklı önbellek süreleri belirler.
Bu yapılandırmada dikkat ettiğim nokta, CSS ve JS dosyalarına immutable etiketi eklemek. Bu, dosya adı veya sürüm değişmediği sürece tarayıcının sunucuya doğrulama isteği (validation request) göndermesini engeller, performansı mükemmelleştirir.
LiteSpeed Önbellek Eklentisi (LSCache) için TTL Ayarları
WordPress, OpenCart gibi bir CMS kullanıyorsanız, LiteSpeed Cache eklentisinin ayarlarında da TTL'yi ayrıntılı yapılandırabilirsiniz. Benim genel önerim şu şekilde:
/wp-content/plugins/litespeed-cache/data/.htaccess içinde veya eklenti panelinde bulunan "Önbellek" bölümünde:
- Genel Sayfalar TTL: 3600 saniye (1 saat). Anasayfa, yazılar, sayfalar için ideal.
- Ön Sayfa TTL: 1800 saniye (30 dakika). Çok sık güncellenen bir anasayfanız varsa kısaltın.
- Akış/Sayfa TTL: 1800 saniye. Yorum akışı olan sayfalar için.
- Özel Yayın Türleri TTL: Varsayılanı kullanın veya içeriğe göre özelleştirin.
Dikkat Edilmesi Gerekenler ve Sorun Giderme
1. Geliştirme Aşaması: Site üzerinde aktif geliştirme yapıyorsanız, TTL sürelerini çok kısa (örn: 1 dakika) tutun veya önbelleği tamamen devre dışı bırakın. Aksi halde yaptığınız değişiklikleri göremezsiniz.
2. Önbellek Temizleme: Uzun TTL kullandığınızda, bir dosyayı güncellediğinizde önbelleğin manuel temizlenmesi gerekebilir. LiteSpeed yönetici panelinden veya eklenti arayüzünden "Tüm Önbelleği Temizle" yapmayı unutmayın.
3. Kontrol Etmek: Ayarlarınızın çalıştığını doğrulamak için tarayıcınızın Geliştirici Araçları'ndaki (F12) "Network" sekmesine bakın. İstek yapılan bir dosyanın başlıklarında (Headers) Cache-Control: max-age=31536000 gibi bir ifade görmelisiniz.
Sonuç ve Performans Kazanımı
Bu akıllı TTL stratejisini uyguladığınızda, sunucunuzdaki yinelenen işlem yükü belirgin şekilde azalacak. Özellikle trafiği yüksek sitelerde, sunucu kaynak tüketimi (CPU/RAM) düşer, sayfa yükleme süreleri kısalır ve Google PageSpeed/GTmetrix gibi araçlardan alacağınız puanlar yükselir. En önemlisi, kullanıcılarınız çok daha hızlı bir site deneyimi yaşar.
Umarım bu rehber faydalı olmuştur. Siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? Farklı içerik türleri için önerdiğiniz TTL süreleri var mı? Takıldığınız bir nokta veya sorusu olan arkadaşlar aşağıya yazsın, elimden geldiğince yardımcı olmaya çalışırım.
Tek bir TTL değeri tüm site için kullanmak, çoğu zaman verimsizdir. Örneğin, sitenizin logosu (logo.png) aylarca değişmezken, anasayfanız veya yeni yorum eklenen bir sayfa çok daha sık güncellenir. TTL'yi içerik türüne göre optimize ederek, değişmeyen dosyalar için tarayıcı ve sunucu önbelleğini maksimum süre kullanır, değişken içerikler için ise önbelleği daha sık yenilersiniz. Bu, sunucu kaynak tüketimini azaltır ve site hızını artırır.
En pratik yöntem, LiteSpeed'in anladığı direktifleri .htaccess dosyanıza eklemektir. Aşağıdaki kurallar, farklı dosya türleri için farklı önbellek süreleri belirler.
Kod:
<IfModule LiteSpeed>
# Görseller, Fontlar, CSS/JS - Uzun Süreli Statik İçerik (1 Yıl)
<FilesMatch "\.(jpg|jpeg|png|gif|ico|webp|svg|bmp|css|js|woff|woff2|ttf|eot)$">
ExpiresActive On
ExpiresDefault "access plus 1 year"
Header set Cache-Control "public, immutable, max-age=31536000"
</FilesMatch>
# PDF, ZIP, DOC gibi İndirilebilir Dosyalar (1 Ay)
<FilesMatch "\.(pdf|zip|tar\.gz|doc|docx|xls|xlsx|ppt|pptx)$">
ExpiresActive On
ExpiresDefault "access plus 1 month"
Header set Cache-Control "public, max-age=2592000"
</FilesMatch>
# Dinamik Sayfalar (Ana Sayfa, Yazı, Kategori) - Kısa Süreli (1 Saat)
# NOT: Bu kural, önbellek eklentisi (LSCache) ile birlikte çalışır.
<FilesMatch "^(index\.php)?$">
ExpiresActive On
ExpiresDefault "access plus 1 hour"
Header set Cache-Control "public, max-age=3600"
</FilesMatch>
</IfModule>
Bu yapılandırmada dikkat ettiğim nokta, CSS ve JS dosyalarına immutable etiketi eklemek. Bu, dosya adı veya sürüm değişmediği sürece tarayıcının sunucuya doğrulama isteği (validation request) göndermesini engeller, performansı mükemmelleştirir.
WordPress, OpenCart gibi bir CMS kullanıyorsanız, LiteSpeed Cache eklentisinin ayarlarında da TTL'yi ayrıntılı yapılandırabilirsiniz. Benim genel önerim şu şekilde:
/wp-content/plugins/litespeed-cache/data/.htaccess içinde veya eklenti panelinde bulunan "Önbellek" bölümünde:
- Genel Sayfalar TTL: 3600 saniye (1 saat). Anasayfa, yazılar, sayfalar için ideal.
- Ön Sayfa TTL: 1800 saniye (30 dakika). Çok sık güncellenen bir anasayfanız varsa kısaltın.
- Akış/Sayfa TTL: 1800 saniye. Yorum akışı olan sayfalar için.
- Özel Yayın Türleri TTL: Varsayılanı kullanın veya içeriğe göre özelleştirin.
1. Geliştirme Aşaması: Site üzerinde aktif geliştirme yapıyorsanız, TTL sürelerini çok kısa (örn: 1 dakika) tutun veya önbelleği tamamen devre dışı bırakın. Aksi halde yaptığınız değişiklikleri göremezsiniz.
2. Önbellek Temizleme: Uzun TTL kullandığınızda, bir dosyayı güncellediğinizde önbelleğin manuel temizlenmesi gerekebilir. LiteSpeed yönetici panelinden veya eklenti arayüzünden "Tüm Önbelleği Temizle" yapmayı unutmayın.
3. Kontrol Etmek: Ayarlarınızın çalıştığını doğrulamak için tarayıcınızın Geliştirici Araçları'ndaki (F12) "Network" sekmesine bakın. İstek yapılan bir dosyanın başlıklarında (Headers) Cache-Control: max-age=31536000 gibi bir ifade görmelisiniz.
Bu akıllı TTL stratejisini uyguladığınızda, sunucunuzdaki yinelenen işlem yükü belirgin şekilde azalacak. Özellikle trafiği yüksek sitelerde, sunucu kaynak tüketimi (CPU/RAM) düşer, sayfa yükleme süreleri kısalır ve Google PageSpeed/GTmetrix gibi araçlardan alacağınız puanlar yükselir. En önemlisi, kullanıcılarınız çok daha hızlı bir site deneyimi yaşar.
Umarım bu rehber faydalı olmuştur. Siz bu konfigürasyonu kendi sunucularınızda nasıl yapıyorsunuz? Farklı içerik türleri için önerdiğiniz TTL süreleri var mı? Takıldığınız bir nokta veya sorusu olan arkadaşlar aşağıya yazsın, elimden geldiğince yardımcı olmaya çalışırım.