WordPress sitesini adım adım güvenceye alma

WordPress güvenliği için pratik rehber: Düzenli güncelleme, giriş kısıtlama, dosya izinlerini ayarlama ve WordPress sürümünü gizleme ile sitenizi gerçekten koruyun.

7 dk Güncellendi 6 Oct 2026

WordPress Güvenliği Neden Her Zamankinden Daha Önemli?

Dünyanın en popüler içerik yönetim sistemi olan WordPress, otomatik ve insan kaynaklı saldırıların ana hedefidir. Her gün binlerce tarayıcı bot, bilinen güvenlik açıklarını bulmak için WordPress sitelerini tarar. Küçük sitenizin saldırıya değmeyeceğini düşünüyorsanız çok yanılıyorsunuz; çoğu otomatik saldırı büyük siteleri değil, savunmasız siteleri arar. Bu makalede, en önemli ve etkili önlemlerden başlayıp teknik ayrıntılara kadar uzanan pratik bir WordPress güvenliği yol haritası sunuyoruz.

Kilit nokta şudur: Güvenlik bir ürün değil, bir süreçtir. Hiçbir eklenti tek başına sitenizi güvenli yapmaz. Doğru alışkanlıklar, hassas ayarlar ve sürekli izlemenin birleşimi, sitenizin güvenlik seviyesini önemli ölçüde artırır. Aşağıda dört ana alanı ele alıyoruz: güncelleme, giriş kısıtlama, dosya izinleri ve WordPress sürümünü gizleme.

Güncelleme; İlk ve En Önemli Savunma Hattı

WordPress sitelerine yapılan başarılı saldırıların çoğu, yeni sürümü yayınlanmış ancak sitelerin güncellemediği bilinen güvenlik açıklarından yararlanır. WordPress çekirdeğini, eklentileri ve temaları düzenli olarak güncellemek, WordPress güvenliği için en basit ve en etkili önlemdir.

Otomatik Güncellemeyi Etkinleştirme

WordPress 5.6 ve sonrası sürümlerde, küçük (minor) sürüm güncellemeleri varsayılan olarak otomatik yapılır. Ancak ana (major) sürümler ve eklentiler için kendiniz karar vermelisiniz. wp-config.php dosyasına aşağıdaki kodu ekleyerek her şey için otomatik güncellemeyi etkinleştirebilirsiniz:

// Her şey için otomatik güncellemeyi etkinleştir
add_filter( 'auto_update_core', '__return_true' );
add_filter( 'auto_update_plugin', '__return_true' );
add_filter( 'auto_update_theme', '__return_true' );

Daha fazla kontrol sahibi olmayı tercih ediyorsanız, en azından güvenlik güncellemelerini etkinleştirin ve ana sürümler için düzenli bir haftalık veya aylık program belirleyin. Güncellemeleri az ziyaretçi olan saatlerde yapın ve her zaman öncesinde sitenizin yedeğini alın.

Gereksiz Eklentileri ve Temaları Kaldırma

Kurduğunuz her eklenti, sitenizin saldırı yüzeyini artırır. Kullanmadığınız eklentileri devre dışı bırakmak yerine kaldırın. Devre dışı bırakılan dosyalar sunucuda kalmaya devam eder ve güvenlik açıkları içerebilir. Aynı kural temalar için de geçerlidir; yalnızca aktif temayı ve bir varsayılan temayı (Twenty Twenty-Four gibi) saklayın.

Yaygın hata: Birçok kullanıcı eklentileri devre dışı bırakır ancak kaldırmaz. Bu, eklenti dosyaları hâlâ erişilebilir ve istismar edilebilir olduğundan güvenliği ciddi şekilde azaltır.

WordPress Yönetim Paneline Girişi Kısıtlama

Giriş sayfası (wp-login.php), her WordPress sitesinin en çok saldırıya uğrayan noktalarından biridir. Brute-force (şifre tahmin etme) saldırıları otomatik olarak ve dakikada binlerce denemeyle yapılır. Girişi kısıtlamak, WordPress güvenliğinin temel direklerinden biridir.

Güçlü Şifre ve İki Adımlı Doğrulama Kullanma

Site yöneticisi şifresi en az 16 karakter olmalı ve büyük/küçük harf, rakam ve sembol kombinasyonu içermelidir. Şifrenizi diğer sitelerde tekrar kullanmaktan kesinlikle kaçının. Ek güvenlik katmanı için WP 2FA veya Wordfence gibi bir eklenti kurarak iki adımlı doğrulamayı (2FA) etkinleştirin. 2FA ile şifreniz sızdırılsa bile, saldırgan iki adımlı kod olmadan giriş yapamaz.

Giriş Denemelerini Sınırlama

Limit Login Attempts Reloaded gibi eklentiler başarısız deneme sayısını sınırlar. Önerilen ayar: her 10 dakikada en fazla 3 başarısız deneme ve 30 dakika kilitlenme. Bu, brute-force saldırılarını pratik olarak etkisiz kılar.

Giriş Sayfası Adresini Değiştirme

Varsayılan giriş adresini değiştirerek botların kafasını karıştırırsınız. WPS Hide Login eklentisi, giriş adresini /my-secret-login gibi istediğiniz bir yola değiştirmenize olanak tanır. Bunun mutlak güvenlik sağlamadığını ancak otomatik saldırı sayısını ciddi şekilde azalttığını unutmayın.

IP Tabanlı Giriş Kısıtlama

Sabit bir IP kullanıyorsanız, wp-login.php erişimini yalnızca kendi IP'nize sınırlayabilirsiniz. Bunu (Apache için) .htaccess dosyasında yapabilirsiniz:

<Files wp-login.php>
    Require ip YOUR_IP_ADDRESS
</Files>

Nginx kullanıyorsanız, server bloğuna aşağıdaki kodu ekleyin:

location = /wp-login.php {
    allow YOUR_IP_ADDRESS;
    deny all;
}
Yaygın hata: IP'niz dinamikse, bu kısıtlama kendinizin kilitlenmesine neden olur. Uygulamadan önce IP'nizin sabit olduğundan veya geçerli bir IP aralığı kullandığınızdan emin olun.

Dosya ve Klasör İzinlerini Ayarlama

Yanlış dosya izinleri (permissions), WordPress sitelerine sızmanın başlıca nedenlerinden biridir. Dosyalar herkes tarafından yazılabilir durumdaysa, saldırgan kötü amaçlı kod enjekte edebilir. Doğru izin ayarları, WordPress güvenliğinin kritik bir parçasıdır.

Standart ve Güvenli İzinler

Aşağıdaki izinler altın standart olarak kabul edilir:

  • Dosyalar: 644 (sahip okuyup yazabilir, diğerleri yalnızca okuyabilir)
  • Klasörler: 755 (sahip okuyup yazabilir ve çalıştırabilir; diğerleri yalnızca okuyup çalıştırabilir)
  • wp-config.php dosyası: 600 (yalnızca sahip okuyup yazabilir)

Bu izinleri SSH üzerinden uygulamak için aşağıdaki komutları kullanın:

# Tüm dosyaların iznini 644 yap
find /path/to/wordpress -type f -exec chmod 644 {} \;

# Tüm klasörlerin iznini 755 yap
find /path/to/wordpress -type d -exec chmod 755 {} \;

# wp-config.php için özel izin
chmod 600 /path/to/wordpress/wp-config.php

wp-config.php Dosyasını Koruma

wp-config.php dosyası, veritabanı kullanıcı adı ve şifresi gibi hassas bilgiler içerir. 600 iznine ek olarak, bu dosyayı site kök dizininin üzerindeki bir klasöre taşıyabilirsiniz. WordPress bu dosyayı otomatik olarak üst dizinde arar. Bu, dosyanın web üzerinden erişilemez olmasını sağlar.

Yükleme Klasörlerinde PHP Çalıştırmayı Devre Dışı Bırakma

wp-content/uploads klasörü, kullanıcı dosyalarının yüklendiği yerdir. Saldırgan bu klasöre kötü amaçlı bir PHP dosyası yükleyip çalıştırabilirse, siteniz ciddi risk altındadır. Yükleme klasöründeki .htaccess dosyasına aşağıdaki kodu ekleyerek PHP çalıştırmayı devre dışı bırakın:

<FilesMatch "\.(php|php5|phtml)$">
    Require all denied
</FilesMatch>

Nginx için, location bloğuna aşağıdaki kodu ekleyin:

location ~* /wp-content/uploads/.*\.(php|php5|phtml)$ {
    deny all;
}
Yaygın hata: Bazı kullanıcılar yükleme sorununu çözmek için klasör izinlerini 777 yapar. Bu çok tehlikelidir ve saldırganın sunucuya herhangi bir dosya yazmasına olanak tanır. Her zaman standart izinleri kullanın.

WordPress Sürümünü Gizleme

Saldırganlar, WordPress, eklenti ve temaların tam sürümünü bilerek o sürümün bilinen güvenlik açıklarını hedefleyebilir. Sürümü gizlemek, saldırganın gözünden değerli bilgileri saklar ve WordPress güvenliğinin bir parçasıdır.

Başlıktan Sürüm Meta Etiketini Kaldırma

WordPress varsayılan olarak site başlığına sürüm içeren bir meta etiket ekler. Bunu kaldırmak için alt tema (child theme) functions.php dosyasına aşağıdaki kodu ekleyin:

remove_action( 'wp_head', 'wp_generator' );

Statik Dosya URL'lerinden Sürümü Kaldırma

WordPress, CSS ve JS dosya adreslerinin sonuna sürümü ekler (style.css?ver=6.4.2 gibi). Bu parametreyi kaldırmak için aşağıdaki kodu ekleyin:

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

Bilgi Dosyalarına Erişimi Kısıtlama

readme.html ve license.txt gibi dosyalar sürüm bilgisi içerir. Bu dosyaları silin veya .htaccess üzerinden erişimi engelleyin:

<FilesMatch "^(readme\.html|license\.txt|wp-config\.php)$">
    Require all denied
</FilesMatch>

XML-RPC Dosyasına Erişimi Kısıtlama

xmlrpc.php dosyası, brute-force ve DDoS saldırıları için bir giriş noktası olarak bilinir. Kullanmıyorsanız (örneğin mobil uygulama bağlantısı için), devre dışı bırakın. .htaccess dosyasına aşağıdaki kodu ekleyerek:

<Files xmlrpc.php>
    Require all denied
</Files>
Yaygın hata: Bazı kullanıcılar yalnızca sürüm meta etiketini kaldırır ancak readme.html dosyasını bırakır. Saldırgan, doğrudan /readme.html adresine giderek WordPress'in tam sürümünü görebilir. Sürüm bilgisi içeren tüm kaynakları kapsayın.

Özet ve Sonraki Adımlar

WordPress güvenliği sürekli bir süreçtir. Aşağıdaki adımları uygulayarak sitenizin güvenlik seviyesini önemli ölçüde artırabilirsiniz:

  1. Çekirdek, eklenti ve temaları düzenli güncelleyin
  2. Güçlü şifre, 2FA ve deneme sınırı ile girişi kısıtlayın
  3. Dosya izinlerini 644, klasör izinlerini 755 olarak ayarlayın
  4. WordPress sürümünü tüm kaynaklardan gizleyin
  5. Düzenli yedek alın ve geri yükleme testi yapın

Yüksek trafikli veya kritik siteler için, güvenliği altyapı düzeyinde sağlayan barındırma hizmetlerinin kullanılması önerilir. ServerNet, hosting ve bulut altyapı sağlayıcısı olarak WordPress için optimize edilmiş güvenlik yapılandırmaları sunar ve bu, güvenlik stratejinizin bir parçası olabilir. Ancak unutmayın, hiçbir hizmet uygulama düzeyindeki güvenlik ilkelerine uymanın yerini tutmaz. Bu rehberi uygulayarak siteniz çoğu yaygın saldırıya karşı dayanıklı olacaktır.

Bu sayfa yardımcı oldu mu?