Web sitenizin hızını artırmak istiyorsanız, önbellekleme (cache) işlemi kesinlikle göz ardı edilmemeli. Ancak burada dikkat edilmesi gereken bazı önemli istisnalar var. Özellikle site haritaları (sitemap) gibi bazı özel dosyaların önbelleğe alınmaması gerekiyor. Çünkü bu dosyalar, arama motorlarına sitenizin en güncel halini göstermek için kullanılır. Bu kılavuz, site haritalarını önbellekten hariç tutma işleminin nasıl yapılacağı konusunda size rehberlik edecektir.
💡 Hızlı Yanıt: Rank Math site haritalarını (sitemap_index.xml) önbellekten hariç tutmak için önbellek eklentinizin ayarlarında “Hariç Tutulanlar” kısmına sitemap(_.*)?.xml kuralını ekleyin. Alternatif olarak, temanızın functions.php dosyasına basit bir filtre ekleyerek önbellek sorununu çözebilirsiniz.
1. Eklenti ile Site Haritalarını Önbellekten Hariç Tutma
Önbellek eklentilerinin çoğu varsayılan olarak site haritalarını önbelleğe almayacak şekilde ayarlıdır. Eklentiniz site haritanızı önbelleğe alıyorsa, basit bir istisna (hariç tutma) komutu ekleyerek bu sorunu çözebilirsiniz. Adımlar kullandığınız önbellek eklentisine göre farklılık gösterir. Aşağıda, bazı popüler önbellek eklentileri ile bu işlemin nasıl yapılacağını adım adım açıkladık.
# WP Rocket
- Öncelikle Ayarlar > WP Rocket > Gelişmiş Kurallar bölümüne gidin.
- Burada karşınıza çıkan “Asla Önbelleğe Alınmayacak URL’ler” kutucuğuna aşağıdaki kodu yapıştırın. Sonrasında ayarları kaydedin
/(.*)sitemap(.*).xml
/(.*)sitemap.xsl

# LiteSpeed Cache
- Site haritanızın LiteSpeed Cache tarafından önbelleğe alınmaması için LiteSpeed Cache > Cache > Excludes bölümüne gidin.
- Ardından “Do Not Cache URIs” (Önbelleğe Alınmayacak Adresler) alanına aşağıdaki kodu ekleyin:
/(.*)sitemap(.*).xml
/(.*)sitemap.xsl
/sitemap_index.xsl
/sitemap_index.xml

# WP Super Cache
- Ayarlar > WP Super Cache yolunu izleyin ve oradan “Advanced” (Gelişmiş) sekmesine geçin.
- “Bir sayfayı önbelleğe alınmamaya zorlayan dizeleri (dosya adı değil) buraya ekleyin” şeklinde bir alan göreceksiniz. İşte bu bölüme aşağıdaki kodu eklemeniz yeterli:
sitemap?\.xml?
[a-z0-9_\-]*sitemap[a-z0-9_\-]*\xml|xsl)?
([az0-9_\-]*?)sitemap([a-z0-9_\-]*)?.xml

# WP Fastest Cache
- İlk olarak, WP Fastest Cache > Exclude (Hariç Tut) yolunu takip edin.
- Karşınıza çıkan ekranda, “Sayfaları Hariç Tut” seçeneğinin hemen yanındaki “Yeni Kural Ekle” butonuna tıklayın.
- Açılır menüden olanı seçin ve kutucuğa sadece sitemap yazın. Ardından Kaydet butonuna basarak işlemi tamamlayın.

# W3 Total Cache
- WordPress yönetim panelinize giriş yapın.
- Sol menüden Ayarlar > WP Super Cache sekmesine tıklayın.
- “Özel URL’leri önbellekten hariç tut” kısmına gelin.
- Aşağıdaki URL kalıplarını ekleyin:
sitemap(_index)?\.xml(\.gz)?
[a-z0-9_\-]*sitemap[a-z0-9_\-]*\.(xml|xsl|html)(\.gz)?
([a-z0-9_\-]*)?\.xml

- Aynı komutları Performans>Veritabanı Önbelleği altındaki “Aşağıdaki sayfaları hiçbir zaman önbelleğe alma” kısmına da ekleyebilirsiniz:

- W3 Total Cache ile Minify özelliği kullanıyorsanız, Performans > Minify > Aşağıdaki Sayfaları Hiçbir Zaman Küçültmeyin‘e gidin ve aynı dizeleri oraya da ekleyin.

NOT: W3 Total Cache son sürümlerinde bu istisnaları otomatik olarak eklemiştir. Eğer aşağıdaki görseldekine benzer bir kod görürseniz değişiklik yapmayın. Herhangi bir kod yoksa yukarıdaki işlemi yapabilirsiniz.

# Hummingbird Cache
- İlk olarak, Hummingbird eklentisinin “Cache” (Önbellek) bölümüne girin.
- Buradan “Page Caching” yani Sayfa Önbellekleme sekmesine geçin ve “Etkinleştir” butonuna tıklayın.
- Sonrasında, “Exclusions” (Hariç Tutulanlar) kısmına gelin.
- Burada genellikle sitemap.xml dosyası için bir istisna zaten yer alır. Ancak “sitemap.xml” ifadesini bu alanda göremiyorsanız, manuel olarak eklemeniz gerekir.

# Swift Performance
- Araçlar > Swift Performansı > Ayarlar > Önbelleğe Alma > Genel sekmesine gidin.
- Önbellek site haritası seçeneğinin devre dışı olduğundan emin olun.
2. Sunucu Tarafında Önbellekleme Kullananlar İçin (Nginx, Varnish, Apache)
- Nginx için aşağıdaki kodu nginx.conf dosyasına ekleyin:
location ~* /sitemap.*\.xml$ {
add_header Cache-Control "no-cache, no-store, must-revalidate";
}
- Varnish için: VCL dosyanıza site haritalarını cache bypass edecek bir kural ekleyin:
if (req.url ~ "^/sitemap") {
return (pass);
}
- Apache için .htaccess dosyanıza aşağıdaki satırları ekleyin:
<FilesMatch "sitemap.xml$">
Header set Cache-Control "no-cache, no-store, must-revalidate"
Header set Pragma "no-cache"
Header set Expires 0
</FilesMatch>
