Wordpress

CSS ve JS Dosyalarından Versiyon Bilgisi Nasıl Kaldırılır?

 Versiyon Bilgisi Neden Önemlidir?

Web sitenizin kaynak kodları arasında bulunan CSS ve JS dosyalarının sonuna eklenen ?ver=1.0.0 gibi parametreler, birçok geliştirici tarafından önemsiz gibi görünse de, siber güvenlik açısından potansiyel riskler taşır. Bu versiyon bilgisi, saldırganların hangi tema veya eklenti sürümünü kullandığınızı tespit etmesine ve açıkları hedef almasına yardımcı olabilir.

Bu yazıda, versiyon bilgisi nasıl tespit edilir, neden kaldırılmalıdır ve WordPress sitenizden nasıl temizlenir sorularını tüm ayrıntılarıyla cevaplıyoruz.

1. Versiyon Bilgisi Nedir?

CSS ve JS dosyaları yüklenirken, WordPress tarafından bu dosyaların sonuna genellikle şu formatta parametre eklenir:

html
<link rel="stylesheet" href="style.css?ver=6.5.2">
<script src="script.js?ver=1.3.4"></script>

Bu değer, dosyanın önbellekleme sistemleriyle daha verimli çalışması için eklense de, aynı zamanda potansiyel bir güvenlik riski taşır.

2. Neden Versiyon Bilgisi Kaldırılmalıdır?

2.1. Güvenlik Açıkları

Versiyon bilgisi sayesinde saldırganlar, tema veya eklentinizin sürümünü öğrenebilir. Bu da bilinen güvenlik açıklarının hedef alınmasını kolaylaştırır.

2.2. SEO Performansı

Arama motorları, yinelenen versiyonlu URL’leri farklı kaynaklar gibi yorumlayabilir. Bu da tarama bütçesini etkileyebilir.

2.3. Kaynak Temizliği

Kod yapısının sade olması, bakım ve optimizasyon sürecini kolaylaştırır.

3. CSS ve JS Dosyalarındaki Versiyon Bilgisi Nasıl Görülür?

Bir sitenin kaynak kodunu incelemek için:

  1. Web tarayıcınızda siteyi açın.

  2. Sağ tıklayıp “Sayfa Kaynağını Görüntüle” seçeneğine tıklayın.

  3. <link> ve <script> etiketlerini inceleyin. ?ver= parametresi varsa versiyon bilgisi mevcuttur.

Örnek:
https://siteadi.com/wp-content/themes/theme-name/style.css?ver=6.5.3

4. functions.php Dosyası ile Versiyon Bilgisi Kaldırma

WordPress sitenizin functions.php dosyasına aşağıdaki kodu ekleyerek CSS ve JS dosyalarındaki versiyon bilgilerini kolayca kaldırabilirsiniz:

php
function remove_css_js_version($src) {
if(strpos($src, '?ver='))
$src = remove_query_arg('ver', $src);
return $src;
}
add_filter('style_loader_src', 'remove_css_js_version', 9999);
add_filter('script_loader_src', 'remove_css_js_version', 9999);

Açıklama:

  • style_loader_src ve script_loader_src filtreleri sayesinde CSS ve JS dosyaları işlenir.

  • remove_query_arg fonksiyonu ile URL sonundaki ver parametresi silinir.

5. Otomatik Güncellemeleri Kapatmadan Versiyon Gizleme

Versiyon bilgisi sadece dosya URL’lerinden kaldırılır, ancak WordPress ve eklentiler yine de güncellenebilir. Bu nedenle güvenlik açısından güncellemeleri açık tutmak en iyi yaklaşımdır.

Gizleme işlemi sadece istemci tarafına yöneliktir ve sistem güncellemelerini etkilemez.

6. Eklenti ile Versiyon Bilgisi Kaldırma Yöntemleri

Kodla uğraşmak istemiyorsanız, aşağıdaki eklentiler yardımıyla işlemi birkaç tıklama ile gerçekleştirebilirsiniz:

6.1. Perfmatters

  • Performans optimizasyonları ile birlikte versiyon bilgisini de kaldırabilir.

  • Eklenti sayfası: https://perfmatters.io

6.2. Asset CleanUp

7. CDN Kullanıyorsanız Ne Yapmalısınız?

Cloudflare gibi CDN servisleri, versiyon parametresi taşıyan dosyaları önbelleğe alabilir. Ancak bazı CDN’ler bu parametreleri ayrı kaynak olarak görüp önbellekleme verimliliğini azaltabilir.

Cloudflare kullanıcıları için öneri:

  • URL Query String’lerini yoksayacak şekilde önbellekleme kuralı oluşturun.

Detaylı bilgi:
https://developers.cloudflare.com/cache/how-to/create-cache-keys/

8. Sadece Tema Dosyalarında Versiyon Bilgisini Kaldırmak

Eğer sadece tema dosyalarındaki versiyon bilgisini kaldırmak istiyorsanız aşağıdaki örnek size göre:

php
function theme_only_version_removal($src) {
if (strpos($src, get_template_directory_uri()) !== false && strpos($src, '?ver=')) {
$src = remove_query_arg('ver', $src);
}
return $src;
}
add_filter('style_loader_src', 'theme_only_version_removal', 9999);
add_filter('script_loader_src', 'theme_only_version_removal', 9999);

Bu kod sadece tema dizinine ait CSS ve JS dosyalarından ?ver= parametresini kaldırır.

9. Olası Dezavantajlar

9.1 Önbellek Sorunları

Versiyon bilgisi önbellek kontrolü için kullanılır. Kaldırıldığında tarayıcı, güncel dosyayı değil eski sürümü kullanabilir. Bu durumda:

  • Dosya adını değiştirmek gerekir (style.css → style-v2.css)

  • Veya mod_pagespeed ya da CDN cache-clearing sistemleri kullanılmalı.

9.2 Kapsamlı Test Gerekliliği

Değişiklik sonrası sitenin tüm sayfalarında CSS ve JS dosyalarının doğru yüklendiğinden emin olun. Mobil görünüm dahil test yapın.

10. Alternatif: Sürüm Bilgisini Rastgeleleştirmek

Bazı geliştiriciler versiyon bilgilerini kaldırmak yerine rastgele verilerle değiştirerek saldırganların işini zorlaştırır:

php
function randomize_version_param($src) {
$src = remove_query_arg('ver', $src);
$src = add_query_arg('ver', rand(), $src);
return $src;
}
add_filter('style_loader_src', 'randomize_version_param', 9999);
add_filter('script_loader_src', 'randomize_version_param', 9999);

Bu yöntemle her sayfa yenilendiğinde farklı bir ver değeri oluşur. Ancak bu, tarayıcı önbelleklemesini engelleyebilir.

11. Sık Sorulan Sorular (SSS)

S: Versiyon bilgisini kaldırmak SEO açısından faydalı mı?

Evet. Temiz kaynak kodu ve yinelenen URL’lerin önlenmesi SEO açısından olumlu etkiler sunar.

S: Versiyon bilgisi tüm tarayıcılar için görünür mü?

Evet. Sayfa kaynağını görüntüleyen herkes bu parametreyi görebilir.

S: Otomatik güncellemeler etkilenir mi?

Hayır. Bu işlem sadece istemci tarafındaki görünümü etkiler.

Sonuç: WordPress Güvenliğinde Küçük Ama Etkili Adım

Versiyon bilgisi kaldırma işlemi, sitenizin daha güvenli, hızlı ve SEO uyumlu olmasına katkı sağlar. Özellikle saldırılara açık sürüm bilgilerini gizlemek, bir önlem olarak değerlendirilmelidir.

Küçük bir kod bloğu ile veya uygun bir eklentiyle bu işlemi kolayca gerçekleştirebilir, sitenizi dijital tehditlere karşı daha dayanıklı hale getirebilirsiniz.

Diğer WordPress Blogları: Admin Panelinden Şifre Sıfırlama

Daha Fazla Göster

İlgili Makaleler

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu
Kapalı