htaccess ile Tarayıcı Önbellekleme (Browser Caching) Ayarı

Son gözden geçirme: Eylül 2026 · Apache 2.4 (mod_expires / mod_deflate) resmî dokümanına göre

Hızlı çözüm

htaccess tarayıcı önbellekleme ayarı, sitenizin kök .htaccess dosyasına mod_expires yönergeleri eklenerek yapılır: resim, CSS ve JavaScript gibi dosyalara son kullanma süresi tanımlar, böylece ziyaretçinin tarayıcısı bu dosyaları tekrar indirmez.

  1. cPanel Dosya Yöneticisi’nde public_html içindeki .htaccess dosyasını açın.
  2. Değişiklik öncesi dosyanın bir kopyasını indirip yedekleyin.
  3. ExpiresActive On satırını ve dosya türlerine göre ExpiresByType yönergelerini ekleyin.
  4. Dosyayı kaydedin ve siteyi açarak hata alıp almadığınızı kontrol edin.
  5. Bir tarayıcı geliştirici aracıyla yanıt başlıklarında Cache-Control ve Expires değerlerini doğrulayın.
Sistem Apache 2.4 (paylaşımlı hosting, .htaccess destekli)
Modül mod_expires, mod_deflate
Yetki cPanel kullanıcısı
Narhost ürünü Web Hosting

Başlamadan önce

  • Ayar Apache tabanlı paylaşımlı hosting içindir; sunucuda mod_expires etkin olmalıdır (Narhost paylaşımlı paketlerinde etkindir).
  • Değişiklikten önce mevcut .htaccess dosyasının bir yedeğini alın; yanlış bir satır siteyi geçici olarak açılmaz hâle getirebilir.
  • WordPress kullanıyorsanız kuralları # BEGIN WordPress bloğunun dışına, dosyanın üstüne ekleyin.

htaccess Tarayıcı Önbellekleme Ne İşe Yarar

Tarayıcı önbellekleme, bir ziyaretçinin sitenize ilk girişinde indirdiği statik dosyaları (resimler, CSS, yazı tipleri, JavaScript) belirli bir süre kendi cihazında saklamasını sağlar. Apache mod_expires dokümantasyonuna göre bu modül, sunucunun yanıtına Expires ve Cache-Control: max-age başlıklarını ekler. Ziyaretçi ikinci kez geldiğinde tarayıcı bu dosyaları sunucudan yeniden istemez, yerel kopyayı kullanır. Sonuç, daha az istek, daha düşük sunucu yükü ve gözle görülür biçimde daha hızlı açılan sayfalardır.

Bu ayar, dinamik HTML çıktısını değil yalnız değişmeyen statik varlıkları hedefler. Bir görselin ya da stil dosyasının aylarca değişmeyeceğini bildiğiniz için ona uzun bir süre verirsiniz; sık güncellenen HTML’e ise çok kısa bir süre tanır ya da hiç önbelleğe almazsınız.

htaccess tarayıcı önbellekleme akış şeması — dosyayı yedekleme, sıkıştırma, son kullanma süresi ve doğrulama adımları
Ayar dört adımda özetlenir: .htaccess yedeği alma, sıkıştırmayı açma, dosya türlerine süre tanımlama ve yanıt başlıklarını doğrulama.

Adım Adım: htaccess Tarayıcı Önbellekleme Ayarı

.htaccess Dosyasını Açma ve Yedekleme

  1. cPanel’de Dosya Yöneticisi ile public_html dizinine girin. Gizli dosyaları görmek için Ayarlar’dan “Show Hidden Files” seçeneğini açın, .htaccess dosyasını seçip önce İndir ile bir yedeğini alın, sonra Düzenle (Edit) ile açın.

    Beklenen sonuç: dosyanın içeriği düzenleme ekranında görünür; WordPress kullanıyorsanız # BEGIN WordPress bloğunu görürsünüz.

Sıkıştırmayı Etkinleştirme (mod_deflate)

  1. Dosyanın üst kısmına aşağıdaki sıkıştırma bloğunu ekleyin; metin tabanlı dosyalar sunucudan sıkıştırılarak gönderilir.
    <IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html
      AddOutputFilterByType DEFLATE text/css
      AddOutputFilterByType DEFLATE text/javascript
      AddOutputFilterByType DEFLATE application/javascript
      AddOutputFilterByType DEFLATE application/xml
      AddOutputFilterByType DEFLATE image/svg+xml
    </IfModule>

    Beklenen sonuç: yanıt başlıklarında Content-Encoding: gzip değeri görünür.

Son Kullanma Sürelerini Tanımlama (mod_expires)

  1. Sıkıştırma bloğunun altına önbellek sürelerini tanımlayan bloğu ekleyin. Her ExpiresByType satırı bir dosya türüne süre verir.
    <IfModule mod_expires.c>
      ExpiresActive On
      ExpiresByType image/jpeg "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"
      ExpiresByType text/css "access plus 1 month"
      ExpiresByType application/javascript "access plus 1 month"
      ExpiresByType application/font-woff2 "access plus 1 year"
      ExpiresByType text/html "access plus 600 seconds"
    </IfModule>

    Beklenen sonuç: dosyayı kaydedip siteyi açtığınızda hata almazsınız; statik dosyaların yanıtında Cache-Control: max-age değeri görünür.

Dikkat

HTML çıktısına uzun bir süre vermeyin; aksi hâlde içerik güncellendiğinde ziyaretçi eski sayfayı görür. HTML için kısa bir süre (örnek 600 seconds) yeterlidir. Bir eklenti zaten önbellek başlığı ekliyorsa kuralları çakıştırmamak için önce eklentinin ayarını kontrol edin.

Doğrulama

Sonuç

Tarayıcının geliştirici araçlarında Ağ (Network) sekmesini açıp bir görseli yeniden yüklediğinizde yanıtta Expires ve Cache-Control: max-age başlıklarını görüyor ve ikinci ziyarette dosyanın “from disk cache” olarak geldiğini okuyorsanız ayar doğru çalışıyor demektir.

Hâlâ Çözülmediyse

  • Site açılmıyor, 500 hatası veriyor. Eklediğiniz satırlardan biri hatalı olabilir; yedeklediğiniz .htaccess dosyasını geri yükleyip blokları tek tek ekleyerek deneyin.
  • Başlıklar hâlâ görünmüyor. Bir önbellek katmanı ya da CDN araya girmiş olabilir; önbellek eklentisinin kendi ayarını kontrol edin.
  • Hız hâlâ düşük. Yalnız önbellek yetmeyebilir; Gzip/Brotli sıkıştırma ve görsel optimizasyonu adımlarını da uygulayın.
  • Ölçümü sayısal görmek istiyorsunuz.PageSpeed puanını artırma kartı önbellek ve diğer hız ayarlarını bir arada değerlendirir.

Narhost desteği

Talebinize alan adınızı, eklediğiniz .htaccess bloğunu ve aldığınız hata mesajını ekleyin; ekip yönergeleri sizin için gözden geçirir.

Destek talebi aç

Sıkça sorulan sorular

htaccess tarayıcı önbellekleme neyi hızlandırır?

Tekrar eden ziyaretleri hızlandırır. İlk ziyarette indirilen resim, CSS ve JavaScript dosyaları ziyaretçinin tarayıcısında saklandığı için ikinci ve sonraki açılışlarda bu dosyalar yeniden indirilmez; sayfa belirgin biçimde daha hızlı açılır.

Statik dosyalara ne kadar süre vermeliyim?

Nadiren değişen resim ve yazı tiplerine bir yıla kadar uzun süre verebilirsiniz. CSS ve JavaScript için bir ay pratik bir değerdir. HTML çıktısına ise yalnız birkaç dakikalık kısa bir süre tanıyın ki güncellemeler ziyaretçiye gecikmeden ulaşsın.

Bir dosyayı güncelledim ama ziyaretçi eskisini görüyor, ne yapmalıyım?

Uzun süreli önbellekte dosya adını değiştirmek (sürüm eklemek, örnek style.css?v=2) en güvenilir yoldur; tarayıcı yeni adı yeni dosya sayıp indirir. HTML sürelerini kısa tutmak da bu sorunu azaltır.

Bu ayarı VPS ya da sunucumda da aynı şekilde yapar mıyım?

Apache çalıştıran her sunucuda aynı .htaccess yönergeleri geçerlidir. Nginx kullanan bir sunucuda ise önbellek başlıkları .htaccess yerine sunucu yapılandırma dosyasında tanımlanır.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

Etiketler: htaccess

İlgili çözümler