WordPress

    WordPress Güvenliği: Siteyi Hacklenmekten Koruyan 10 Adım

    WordPress sitenizi saldırılara karşı sağlamlaştıran güncelleme, parola, 2FA, giriş koruması, dosya izinleri, XML-RPC, yedekleme ve WAF adımlarını uygulamalı anlatan güvenlik rehberi.

    10 dk okuma Güncellendi: 1 Temmuz 2026

    WordPress'in internet üzerindeki sitelerin büyük bir bölümünü çalıştırması, onu yalnızca popüler değil, aynı zamanda saldırganların en sevdiği hedeflerden biri yapar. İyi haber şu: kaba kuvvet giriş denemesi, eski bir eklentideki açık ya da zayıf bir parola gibi WordPress sitelerinin ele geçirilmesine yol açan sebeplerin neredeyse tamamı önlenebilir. Bir sitenin hacklenmesi çoğu zaman gelişmiş bir siber saldırı değil, ihmal edilmiş temel önlemlerin sonucudur.

    Bu rehberde WordPress sitenizi ele geçirilmekten koruyan 10 somut adımı öğreneceksiniz. Her adımı yalnızca "yapın" demekle bırakmıyor, neden gerektiğini ve pratikte nasıl uygulanacağını komut ve örneklerle gösteriyoruz. Yeni başlıyor olsanız da, birden fazla siteyi yönetiyor olsanız da bu listeyi bir kontrol listesi gibi kullanabilir; sitenizin saldırı yüzeyini kısa sürede ciddi biçimde daraltabilirsiniz.

    1. Çekirdeği, Temaları ve Eklentileri Güncel Tutun#

    WordPress sitelerinin ele geçirilmesinin bir numaralı sebebi güncel olmayan yazılımdır. Bir eklentide güvenlik açığı bulunup yamalandığında, açığın ayrıntıları çoğu zaman kamuya açılır; saldırganlar da otomatik botlarla internette o eski sürümü hâlâ çalıştıran siteleri tarar. Yani güncellemeyi geciktirdiğiniz her gün, bilinen ve herkesin gördüğü bir açığı açık bırakmak anlamına gelir.

    Üç katmanı da güncel tutun:

    • Çekirdek (WordPress'in kendisi): Küçük güvenlik yamaları için otomatik güncellemeyi açık tutun. Büyük sürümleri ise önce yedek alıp geçin.
    • Temalar: Kullanmadığınız temaları tamamen silin; yüklü kalan pasif bir tema bile açık taşıyabilir.
    • Eklentiler: Aktif olmayan eklentileri devre dışı bırakmakla yetinmeyin, silin.

    Çekirdeğin küçük güvenlik güncellemelerini otomatikleştirmek için wp-config.php dosyanıza şu satırı ekleyebilirsiniz:

    define( 'WP_AUTO_UPDATE_CORE', 'minor' );
    

    WP-CLI kullanıyorsanız tüm bileşenleri tek komutla güncelleyebilirsiniz:

    wp core update
    wp plugin update --all
    wp theme update --all
    

    Güncellemeleri sürekli takip etmek istemiyorsanız, bu işi düzenli üstlenen bir WordPress bakım hizmeti, açıkların günlerce açık kalmasını önler.

    2. Güçlü Parola ve İki Adımlı Doğrulama (2FA) Kullanın#

    Otomatik saldırıların en yaygın türü kaba kuvvet (brute force) denemesidir: bot, saniyede onlarca parolayı deneyerek yönetici hesabına girmeye çalışır. 123456, admin123 ya da site adının kendisi gibi zayıf parolalar bu botlar için birkaç saniyelik iştir.

    İyi bir parola en az 16 karakter uzunluğunda, tahmin edilemez ve her hesapta benzersiz olmalıdır. Elle uydurmak yerine rastgele üretmek en güvenlisidir; bunun için parola üretici aracımızı kullanabilirsiniz.

    Parola tek başına yeterli değildir. İki adımlı doğrulama (2FA) açtığınızda, saldırgan parolayı ele geçirse bile telefonunuzdaki doğrulama kodu olmadan giremez. WordPress'te 2FA'yı bir güvenlik eklentisiyle (Wordfence, Solid Security — eski adıyla iThemes Security — ya da bağımsız bir 2FA eklentisi) etkinleştirebilir, ardından Google Authenticator veya Authy gibi bir uygulamayla eşleştirebilirsiniz. Yönetici hakkına sahip her hesapta 2FA'yı açmak, tek bir önlemle sağlayabileceğiniz en yüksek getirili korumalardan biridir.

    3. Giriş Sayfasını Koruyun#

    wp-login.php ve wp-admin, botların ilk uğradığı adreslerdir. Bu sayfayı sağlamlaştırmanın birkaç etkili yolu var.

    Giriş Denemelerini Sınırlayın#

    Varsayılan WordPress, birinin kaç kez yanlış parola girdiğini umursamaz — bu, sınırsız deneme demektir. Bir limit login eklentisi (ya da Wordfence'in bu özelliği), örneğin 5 başarısız denemeden sonra o IP'yi geçici olarak engeller. Bu tek ayar, kaba kuvvet saldırılarının büyük kısmını işe yaramaz hale getirir.

    Giriş Adresini Değiştirin#

    Botlar wp-login.php'yi doğrudan hedef aldığından, giriş adresini örneğin siteniz.com/gizli-giris gibi bir şeye taşımak, otomatik denemelerin çoğunu daha en baştan boşa çıkarır. Bunu WPS Hide Login gibi hafif bir eklentiyle yapabilirsiniz. Bu bir "güvenlik duvarı" değildir ama gürültünün büyük bölümünü keser.

    Giriş Sayfasını IP ile Kısıtlayın#

    Sabit (statik) IP'niz varsa, giriş sayfasına erişimi yalnızca kendi IP'nizle sınırlamak çok güçlü bir önlemdir; dışarıdan gelen tüm bot denemeleri daha isteği görmeden reddedilir. Apache 2.4 ve sonrasında .htaccess içine şu bloğu ekleyin (203.0.113.25 yerine kendi IP'nizi yazın):

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

    Nginx kullanıyorsanız aynı mantık bir location bloğuyla kurulur:

    location = /wp-login.php {
        allow 203.0.113.25;
        deny all;
    }
    

    Yalnızca wp-login.php değil, wp-admin klasörünün tamamını korumak isterseniz kuralı o dizine ait bir .htaccess dosyasına taşıyın. Ancak dikkat: wp-admin altındaki admin-ajax.php, bazı temaların ön yüzde de çağırdığı bir dosyadır; tüm dizini kapatırsanız bu isteklerin geçebilmesi için admin-ajax.php'yi ayrıca istisna tutmanız gerekir.

    .htaccess yönlendirmeleri ve kuralları hakkında daha fazla bilgi için htaccess yönlendirme yazısına göz atabilirsiniz.

    4. Bir Güvenlik Eklentisi Kurun#

    Tek bir güvenlik eklentisi, yukarıdaki önlemlerin çoğunu tek arayüzde toplar. Wordfence bu alanda en yaygın kullanılanlardan biridir; ücretsiz sürümü bile ciddi koruma sağlar:

    • Web uygulama güvenlik duvarı (WAF): Kötü amaçlı istekleri site kodunuza ulaşmadan filtreler.
    • Zararlı yazılım taraması: Dosyalarınızı bilinen zararlı kod imzalarına karşı tarar.
    • Giriş güvenliği: Deneme sınırlama ve 2FA'yı birlikte sunar.
    • Canlı trafik ve engelleme: Şüpheli IP'leri görüp elle ya da otomatik engellemenizi sağlar.

    Wordfence, Solid Security (eski adıyla iThemes Security) ve Sucuri gibi seçenekler arasında ihtiyacınıza en uygun olanı seçebilirsiniz; ama yalnızca birini kurun. Aynı işi yapan iki güvenlik eklentisini birlikte çalıştırmak, kural çakışmalarına, yanlış pozitif engellemelere ve gereksiz sunucu yüküne yol açar.

    5. Dosya İzinlerini Doğru Ayarlayın#

    Yanlış dosya izinleri, sunucuya bir şekilde sızan bir saldırganın dosyalarınızı değiştirmesine kapı aralar. WordPress için önerilen standart yaklaşım şudur: dizinler 755, dosyalar 644. Bu, sahip kullanıcının yazabildiği ama başkalarının yalnızca okuyabildiği güvenli bir dengedir.

    Site kök dizininizde tek seferde tüm izinleri düzeltmek için:

    # Tüm dizinler için 755
    find /var/www/siteniz -type d -exec chmod 755 {} \;
    
    # Tüm dosyalar için 644
    find /var/www/siteniz -type f -exec chmod 644 {} \;
    

    wp-config.php özel bir dosyadır: veritabanı parolanızı ve güvenlik anahtarlarınızı düz metin olarak taşır. Bu dosyanın izinlerini daha da daraltın:

    chmod 640 wp-config.php
    

    Hiçbir zaman 777 izni kullanmayın. 777, dosyayı sunucudaki herkesin okuyup yazıp çalıştırabileceği anlamına gelir ve bir saldırgan için altın anahtardır. Bir eklenti kurulumu "yazma izni yok" hatası verirse çözüm izinleri 777 yapmak değil, dosya sahipliğini web sunucusu kullanıcısına (çoğunlukla www-data) doğru atamaktır.

    6. XML-RPC'yi Kapatın#

    xmlrpc.php, WordPress'in eski bir uzaktan erişim arayüzüdür. Bugün çoğu site onu hiç kullanmaz, ama saldırganlar iki nedenle çok sever: system.multicall yöntemiyle tek istekte yüzlerce parola deneyerek kaba kuvvet saldırısını hızlandırabilir, ya da onu bir DDoS aracına çevirebilirler. Jetpack veya mobil WordPress uygulaması gibi belirli araçları kullanmıyorsanız, XML-RPC'yi tamamen kapatmak en temizidir.

    Apache 2.4 ve sonrasında .htaccess ile erişimi engelleyin:

    <Files xmlrpc.php>
      Require all denied
    </Files>
    

    Nginx'te:

    location = /xmlrpc.php {
        deny all;
    }
    

    Alternatif olarak temanızın functions.php dosyasına şu satırı ekleyerek de devre dışı bırakabilirsiniz:

    add_filter( 'xmlrpc_enabled', '__return_false' );
    

    7. Düzenli Yedek Alın#

    Yedekleme bir "güvenlik önlemi" gibi görünmese de, aslında son ve en önemli savunma hattıdır. Yukarıdaki adımların hepsini uygulasanız bile hiçbir sistem %100 güvenli değildir. Bir gün siteniz ele geçirilir ya da bir güncelleme her şeyi bozarsa, temiz ve güncel bir yedek sizi felaketten kurtaracak tek şeydir.

    İyi bir yedekleme stratejisi şu ilkelere dayanır:

    • Otomatik ve düzenli olsun. Elle almayı unutursunuz; günlük ya da haftalık otomatik yedek kurun.
    • Sunucu dışında saklansın. Yedeği aynı sunucuda tutarsanız, sunucu çökünce yedeği de kaybedersiniz. Ayrı bir depolama alanına (harici disk, bulut) kopyalayın.
    • Hem dosyaları hem veritabanını içersin. Bir WordPress sitesi bu iki parçadan oluşur; ikisi olmadan geri dönüş eksik kalır.

    Basit bir veritabanı yedeğini komut satırından şöyle alabilirsiniz (--single-transaction, canlı sitede tabloları kilitlemeden tutarlı bir kopya almanızı sağlar):

    mysqldump --single-transaction -u wp_user -p wp_site > yedek_$(date +%F).sql
    

    Bu tür yedekleri bir zamanlanmış görevle otomatikleştirmek için Linux cron görevleri rehberi yol gösterir. Süreci hiç düşünmeden çalışan bir çözüm istiyorsanız, otomatik yedekleme hizmetimiz devreye girer.

    8. HTTPS/SSL'i Zorunlu Kılın#

    SSL sertifikası, ziyaretçi ile sunucu arasındaki trafiği şifreler. Bu olmadan, birisi giriş yaptığında kullanıcı adı ve parolası ağ üzerinde düz metin olarak gider ve aynı ağdaki bir saldırgan tarafından yakalanabilir. Bugün SSL bir lüks değil, temel bir zorunluluktur.

    Sertifikanız kurulduktan sonra wp-config.php dosyanıza şu satırı ekleyerek yönetim paneline erişimin her zaman şifreli kanaldan yapılmasını zorunlu kılın:

    define( 'FORCE_SSL_ADMIN', true );
    

    Tüm sitenin https:// üzerinden sunulduğundan da emin olun; Ayarlar → Genel menüsünden site adresini https:// ile başlayacak şekilde güncelleyin. Ücretsiz bir sertifikayı Let's Encrypt ile alabilir, hazır bir kurulum için ise bir SSL hizmetinden yararlanabilirsiniz.

    9. Bir Web Uygulama Güvenlik Duvarı (WAF) Kullanın#

    WAF, sitenize gelen HTTP isteklerini WordPress'e ulaşmadan önce inceleyen bir filtredir. SQL enjeksiyonu, XSS ve bilinen açıklara yönelik saldırı denemelerini kalıptan tanıyıp daha kapıda engeller. Böylece henüz yama uygulamadığınız yeni bir eklenti açığı bile, WAF sayesinde zararsız hale gelebilir.

    İki tür WAF vardır. Eklenti tabanlı WAF (örneğin Wordfence'in dahili güvenlik duvarı) sitenin içinde çalışır; kurması kolaydır. Bulut/ağ katmanı WAF ise trafiği sunucunuza hiç ulaşmadan filtreler ve daha güçlü koruma sağlar. Kritik siteler için ikisini birlikte kullanmak yaygın bir yaklaşımdır. Sunucu düzeyinde güvenlik önlemlerini bir bütün olarak ele almak isterseniz sunucu güvenliği temelleri yazısı iyi bir başlangıçtır.

    10. Yalnızca Güvenilir Kaynaklardan Yükleyin#

    En sinsi WordPress saldırılarından bazıları, sitenize dışarıdan sızmaz — siz elinizle içeri davet edersiniz. İnternette "ücretsiz premium tema" ya da "nulled eklenti" olarak dağıtılan dosyalar çoğu zaman gizli arka kapılar (backdoor) içerir. Bunları kurduğunuz an saldırgana sitenizin kapısını kendi ellerinizle açmış olursunuz.

    Basit kuralları izleyin:

    • Tema ve eklentileri yalnızca resmî WordPress deposundan, tanınmış geliştiricilerden ya da doğrudan geliştiricinin kendi sitesinden indirin.
    • "Ücretsiz sürdürülen premium" vaat eden korsan/nulled paketlerden kesinlikle uzak durun.
    • Bir eklentiyi kurmadan önce son güncelleme tarihine, aktif kurulum sayısına ve yorumlarına bakın. Yıllardır güncellenmeyen bir eklenti, açık taşıyor olabilir.

    Aynı özen barındırma ortamınız için de geçerlidir: paylaşımlı bir ortamda komşu bir sitenin ele geçirilmesi sizi de etkileyebilir. Daha izole ve kontrollü bir ortam istiyorsanız, kaynaklarınızın size ait olduğu bir sanal sunucu ya da tam yalıtım için bir VDS tercih edebilirsiniz.

    Sıkça Sorulan Sorular#

    WordPress'in hacklenip hacklenmediğini nasıl anlarım?#

    Belirtiler arasında sitenizde açtığınızı hatırlamadığınız yönlendirmeler, arama sonuçlarında görünen spam bağlantılar, tanımadığınız yönetici hesapları, ani yavaşlama ve barındırma sağlayıcınızdan gelen "zararlı yazılım" uyarıları vardır. Wordfence gibi bir eklentiyle dosyalarınızı taratmak ve değiştirilmiş çekirdek dosyalarını tespit etmek, şüpheyi kesinliğe dönüştürmenin en hızlı yoludur.

    En önemli WordPress güvenlik önlemi hangisidir?#

    Tek bir "en önemli" önlem yerine üçlü bir temel vardır: her şeyi güncel tutmak, güçlü parola ile 2FA kullanmak ve düzenli yedek almak. Bunların üçü birlikte, WordPress saldırılarının büyük çoğunluğunu daha en baştan engeller. Yedekleme ise diğerleri başarısız olduğunda sizi kurtaran son güvencedir.

    Ücretsiz güvenlik eklentisi yeterli mi?#

    Küçük ve orta ölçekli çoğu site için Wordfence'in ücretsiz sürümü gibi bir eklenti, temel korumayı fazlasıyla sağlar: güvenlik duvarı, zararlı yazılım taraması, giriş sınırlama ve 2FA. Ücretli sürümler genellikle gerçek zamanlı tehdit imzaları ve öncelikli destek gibi eklerle gelir; yüksek trafikli ya da e-ticaret siteleri için bu yatırım anlamlı olabilir.

    XML-RPC'yi kapatmak siteme zarar verir mi?#

    Çoğu site XML-RPC'yi hiç kullanmaz, bu yüzden kapatmak sorun çıkarmaz. Ancak Jetpack eklentisi, resmî WordPress mobil uygulaması ya da bazı uzaktan yayınlama araçları bu arayüze ihtiyaç duyar. Bunları kullanıyorsanız XML-RPC'yi tamamen kapatmak yerine, bir güvenlik eklentisiyle yalnızca kaba kuvvet denemelerini sınırlamak daha doğru olur.

    Sitem hacklenirse ne yapmalıyım?#

    Önce paniklemeyin ve mümkünse siteyi bakım moduna alarak ziyaretçileri koruyun. Ardından tüm parolaları (yönetici, veritabanı, FTP/SSH, barındırma paneli) değiştirin, zararlı yazılım taraması çalıştırın ve şüpheli dosyaları temizleyin. En sağlıklı çözüm ise güvenli olduğunu bildiğiniz temiz bir yedekten siteyi geri yüklemek ve ardından bu rehberdeki önlemlerle sitenizi yeniden sağlamlaştırmaktır.

    Paylaşımlı hosting güvenli midir?#

    Kaliteli bir paylaşımlı barındırma, hesaplar arası yalıtım ve sunucu düzeyinde güvenlik önlemleri sunar; küçük siteler için yeterince güvenlidir. Yine de kaynaklar ve komşu siteler paylaşıldığından, yüksek güvenlik gerektiren projeler için kaynakların size ait olduğu bir sanal sunucu daha fazla kontrol ve yalıtım sağlar. Site güvenliğinin büyük kısmının barındırma türünden bağımsız olarak sizin yapılandırmanıza bağlı olduğunu unutmayın.

    WordPress güvenliği tek seferlik bir işlem değil, süreklilik isteyen bir alışkanlıktır: güncellemeleri takip etmek, yedekleri kontrol etmek ve yeni açıkları izlemek düzenli bir bakım disiplini gerektirir. Bu yükü kendiniz taşımak istemiyorsanız, güncelleme ve güvenlik takibini üstlenen bir WordPress bakım hizmeti ya da altyapı tarafında güvenli bir başlangıç için bir WordPress hosting paketi işinizi ciddi biçimde kolaylaştırır. Kuruluma yeni başlıyorsanız, önce WordPress kurulumu rehberiyle sağlam bir temel atmanızı öneririz.

    WordPressGüvenlik

    Uygulamaya geçmeye hazır mısınız?

    NVMe SSD, ücretsiz SSL ve %99.9 uptime garantisiyle Clou.TR hosting ve sunucu çözümleriyle projenizi hayata geçirin.