Nginx, yüksek performanslı bir web sunucusu olarak yaygın şekilde kullanılmaktadır ve çeşitli optimizasyonlara olanak tanır. Bu optimizasyonlardan biri de tarayıcı önbellekleme yapılandırmasıdır.
Önemli not
Önbellekleme işlemi, yalnızca tarayıcı önbellekleme işlevinden ibaret değildir.
Aslında, önbellekleme ilk olarak sunucu temelinde gerçekleşir. Sunucu önbelleklemesi, web sayfalarının veya dosyalarının sık kullanılan kısımlarının sunucunun belleğinde veya diskinde saklanarak sonraki isteklerde daha hızlı yanıt verilmesini sağlar. Plesk Panel üzerinden Nginx önbellekleme seçeneğini aktif ederek, bu işlemi sunucu tarafında etkinleştirebilirsiniz. Bu sayede, performans için sıkça duyduğunuz önbellekleme özelliğini herhangi bir eklenti kullanmadan web sitenize entegre etmiş olursunuz.
Pleks Panel Nginx önbelleği aktif etmek için bu sayfayı ziyaret edebilrisiniz: Plesk Panel Nginx önbellekleme nedir ve nasıl etkinleştirilir?
Tarayıcı önbellekleme nedir?
Tarayıcı önbellekleme, sunucu üzerinde oluşturulan önbellek dosyalarının, tarayıcınızda ne kadar süre boyunca saklanacağını belirler. Örneğin, bir resim veya CSS dosyası tarayıcı tarafından bir kez indirildikten sonra, belirli bir süre boyunca tekrar indirilmeye gerek kalmadan yerel olarak saklanır. Bu süreyi belirlemek, hem kullanıcı deneyimini iyileştirir hem de sunucu üzerindeki yükü azaltır.
Tarayıcı önbelleklemenin SEO ve performans testlerindek önemi
Google PageSpeed gibi performans test araçları, tarayıcı önbellekleme yapılandırmasını özellikle inceler. Sunucu temelli önbellekleme aktif olsa bile, bu dosyaların tarayıcıda ne kadar süre saklanacağını belirlemediğiniz sürece, bu analiz araçları önbellekleme eksikliği raporlayabilir. Bu, sitenizin performans puanını olumsuz etkileyebilir ve kullanıcı deneyimi açısından da istenmeyen durumlar yaratabilir.
Nginx üzerinde tarayıcı önbellekleme
Tarayıcı önbellekleme, bir web sitesindeki belirli statik dosyaların (örneğin, resimler, JavaScript, CSS dosyaları) tarayıcıda belirli bir süre boyunca saklanmasını sağlar. Bu, kullanıcıların aynı dosyayı sunucudan tekrar indirmeden yerel önbellekten yüklemesine olanak tanır, bu da web sitenizin hızını artırır ve sunucu yükünü azaltır.
Plesk panel üzerinde tarayıcı önbellekleme yapılandırması
Bu iki şekilde uygulanabilir.
1. seçenek
Plesk Panel, Nginx üzerinde çalışan siteler için ek Nginx direktifleri eklemeyi kolaylaştırır. Plesk Panel üzerinden tarayıcı önbellekleme ayarlarını yapmak için aşağıdaki adımları izleyebilirsiniz:
Plesk Panel’e Giriş Yapın: Plesk Panel’e giriş yapın ve yönetmek istediğiniz domaini seçin.
Apache ve Nginx Ayarlarına Erişim: Domain ayarları altında “Apache & Nginx Ayarları” (Apache & Nginx Settings) bölümüne gidin.
Ek Nginx Direktifleri: Bu bölümde, “Ek Nginx Direktifleri” (Additional Nginx Directives) başlığı altında bir metin kutusu göreceksiniz.
Bu alana aşağıdaki tarayıcı önbellekleme kodunu ekleyin:
location ~* \.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|x-html|xml|woff|woff2|ttf|svg|webp|eot)$ { expires 30d; }
2. seçenek
Eğer Ek Direktifler kısmı yoksa: .htaccess
dosyasını kullanabilirsiniz.
Nginx tarayıcı önbellekleme için .htaccess
ayarları
Plesk Panel üzerinde Ek Direktifler kısmı bulunmuyorsa, .htaccess
dosyası ile tarayıcı önbellekleme yapılandırmasını doğrudan yapabilirsiniz.
# Tarayıcı Önbellekleme için ayarlar
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 1 month"
# Resim dosyaları için önbellekleme
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType image/gif "access plus 1 year"
ExpiresByType image/png "access plus 1 year"
ExpiresByType image/webp "access plus 1 year"
ExpiresByType image/svg+xml "access plus 1 year"
# CSS ve JavaScript dosyaları için önbellekleme
ExpiresByType text/css "access plus 1 year"
ExpiresByType application/javascript "access plus 1 year"
ExpiresByType application/x-javascript "access plus 1 year"
# Diğer dosya türleri için önbellekleme
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/html "access plus 1 hour"
</IfModule>
# Tarayıcı Önbellekleme için Cache-Control ayarları
<IfModule mod_headers.c>
# Uzun süreli önbellek için header ayarları
Header set Cache-Control "max-age=31536000, public"
# Daha kısa süreli önbellek için header ayarları
Header set Cache-Control "max-age=3600, must-revalidate" "expr=%{REQUEST_URI} =~ m#\.(css|js|jpg|jpeg|png|gif|webp|svg|pdf|webp)$#"
</IfModule>
Kod Açıklaması:
location ~* \.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf|x-html|xml|woff|woff2|ttf|svg|webp|eot)$ { ... }
: Bu satır, belirli dosya uzantılarını hedef alır. ~*
ifadesi, büyük/küçük harf duyarlılığını ortadan kaldırır.
expires 30d;
: Bu direktif, belirtilen dosyaların tarayıcıda 30 gün boyunca önbellekte saklanmasını sağlar. Bu süre boyunca tarayıcı bu dosyaları sunucudan yeniden indirmez.
Ayarları Kaydedin ve Uygulayın: Yaptığınız değişiklikleri kaydedin. Plesk Panel, Nginx yapılandırmasını otomatik olarak yeniden yükleyecek ve değişiklikler hemen geçerli olacaktır.
Farklı Zaman Aralıkları Belirleme
Nginx’te expires
direktifi, belirli bir süre boyunca dosyaların tarayıcıda önbellekte tutulmasını sağlar. İşte bazı örnekler:
expires 7d;
: Dosyalar 7 gün boyunca önbellekte saklanır.expires 1h;
: Dosyalar 1 saat boyunca önbellekte saklanır.expires 1y;
: Dosyalar 1 yıl boyunca önbellekte saklanır.expires 30d;
: Dosyalar yaklaşık olarak 1 ay (30 gün) boyunca önbellekte saklanır.
Nginx’te doğrudan “1 ay” ifadesi kullanılamaz, çünkü ayların gün sayısı değişken olabilir. Bu nedenle, “1 ay” süresi için genellikle 30d
veya 31d
kullanılır.
Sonuç
Plesk Panel üzerinden Nginx tarayıcı önbellekleme ayarlarını yapmak, hem sunucu performansınızı artırmak hem de kullanıcı deneyimini iyileştirmek için etkili bir yöntemdir. Bu ayarlar, statik dosyaların tarayıcıda uzun süre saklanmasını sağlayarak sunucu üzerindeki gereksiz yükü azaltır ve sayfa yükleme sürelerini kısaltır. Plesk Panel, bu ayarları kullanıcı dostu bir arayüzle yapılandırmanıza olanak tanır, bu da teknik bilgi gereksinimini minimuma indirir.
Diğer web sunucuları için tarayıcı önbellekleme
Bu tür tarayıcı önbellekleme yapılandırmaları sadece Nginx’e özgü değildir. Diğer web sunucuları da benzer önbellekleme direktifleri veya başlıkları destekler. İşte birkaç örnek:
1. Apache HTTP Server
Apache’de, tarayıcı önbellekleme için mod_expires
modülü kullanılır. Aşağıdaki gibi bir yapılandırma ekleyerek benzer bir etki yaratabilirsiniz:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpg "access plus 30 days"
ExpiresByType image/jpeg "access plus 30 days"
ExpiresByType image/png "access plus 30 days"
ExpiresByType image/gif "access plus 30 days"
ExpiresByType text/css "access plus 30 days"
ExpiresByType application/javascript "access plus 30 days"
</IfModule>
2. Lighttpd
Lighttpd sunucusunda da benzer şekilde önbellekleme başlıkları ayarlanabilir:
$HTTP["url"] =~ "\.(jpg|jpeg|png|gif|css|js)$" {
expire.url = ( "" => "access 30 days" )
}
3. Caddy
Caddy, varsayılan olarak tarayıcı önbellekleme gibi ayarları yapılandırmanıza izin veren header
direktifini kullanır:
example.com {
header / {
Cache-Control "public, max-age=2592000"
}
}
Burada 2592000
saniye 30 gün anlamına gelir.
4. IIS (Internet Information Services)
IIS sunucusunda, HTTP yanıt başlıkları üzerinden benzer ayarlar yapılabilir:
- Web.config Dosyası:
<configuration>
<system.webServer>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="30.00:00:00" />
</staticContent>
</system.webServer>
</configuration>
Bu örnekler, farklı web sunucularında tarayıcı önbellekleme ayarlarının nasıl yapıldığını gösterir. expires
direktifi Nginx’e özgü olabilir, ancak diğer web sunucularında da benzer işlevsellikler farklı modüller veya yapılandırma dosyaları aracılığıyla elde edilebilir.