WordPress güvenliği hakkında en sık duyduğum cümle şu: “Bir güvenlik eklentisi kursak yeter mi?” Keşke bu kadar basit olsaydı. Güvenlik eklentisi faydalı, hatta çoğu sitede gerekli; fakat tek başına bütün sorumluluğu ona bırakmak doğru değil.
WordPress sitelerinde problem çoğu zaman tek bir büyük açıkla başlamıyor. Aylarca güncellenmemiş bir eklenti, unutulmuş bir yönetici hesabı, zayıf parola ya da geri yüklenip yüklenmediği hiç denenmemiş bir yedek… Bunların her biri tek başına küçük görünebilir. Bir araya geldiklerinde ise sitenin başını ağrıtırlar.
Ben güvenliği katmanlı ele almayı tercih ediyorum. Hosting altyapısı, ağ koruması, WordPress yönetimi ve yedekler birlikte çalıştığında anlamlı bir güvenlik seviyesi oluşuyor.
WordPress güvenliği neden tek bir eklentiyle çözülmez?
WordPress çekirdeği düzenli güncellenen bir yazılım. Buna rağmen bir sitenin güvenli kalması, yalnızca çekirdeğin güncel olmasına bağlı değil. Tema ve eklentiler de işin içinde. Özellikle “bir gün lazım olur” diye bırakılan ama kimsenin takip etmediği eklentiler zamanla risk oluşturabiliyor.
Bir tarafta sitenize gelen trafik var; diğer tarafta WordPress panelinde yapılan işlemler. Bunlar farklı katmanlar:
- Sunucu ve ağ katmanı, şüpheli trafikle ve sunucu tarafındaki zararlı dosyalarla ilgilenir.
- WordPress tarafı ise kullanıcı hesapları, güncellemeler, eklentiler, giriş denemeleri ve içerideki dosya değişiklikleriyle ilgilidir.
Birini iyi yapıp diğerini boşlamak pek işe yaramıyor. Güçlü bir firewall, yıllardır güncellenmeyen bir eklentiyi güvenli hâle getirmez. Aynı şekilde güvenlik eklentisi de altyapıdaki her saldırıyı tek başına karşılayamaz.

WordPress sitelerinde sunucu tarafındaki güvenlik katmanları
Imunify360: zararlı yazılım tespiti ve koruması
Imunify360, sunucuda çalışan antivirüs ve güvenlik yazılımlarından biri. WordPress’in içinden değil, hosting ortamında devreye giriyor. Bu nedenle zararlı kodlar ve şüpheli dosyalar için WordPress eklentisinden farklı bir kontrol noktası sağlıyor.
Bunu bir emniyet kemeri gibi düşünebilirsiniz: Tek başına bütün kazaları önlemez, ama gerçekten ihtiyaç duyulduğunda etkisi büyüktür. Yine de açık bırakan eklentiyi güncellemek ya da kullanmadığınız temayı kaldırmak size düşüyor. Koruma katmanları sorumluluğu tamamen ortadan kaldırmaz; hatanın etkisini azaltmaya çalışır.
FortiGate: ağ trafiği, firewall ve saldırı filtreleme
FortiGate ise işin ağ tarafında duruyor. Bir isteğin WordPress’e, PHP’ye veya veritabanına kadar gelmesi şart değil. Şüpheli ya da saldırı niteliğindeki trafik, sitenin önünde filtrelenebilir.
Bu yapı özellikle yoğun bot trafiği, kaba kuvvetle giriş denemeleri ve DDoS türü isteklerde önem kazanıyor. WordPress içindeki eklenti, uygulamanın gördüğü olaylarla ilgilenirken; ağ katmanı siteye ulaşmaya çalışan trafiğe daha erken müdahale edebiliyor.
Bu katmanlar WordPress eklentilerinden neden farklıdır?
Güvenlik eklentileri WordPress uygulama katmanında çalışır. Sunucu ve ağ koruması ise isteğin WordPress’e ulaşmasından önce devreye girebilir. Bu yüzden “hosting zaten koruyor, eklentiye gerek yok” demek de, “eklentiyi kurdum, altyapı önemli değil” demek de eksik bir bakış açısı.
Benim için doğru model; altyapının ilk darbeyi karşılaması, WordPress tarafının da kendi düzenini koruması.
WordPress için güvenlik eklentileri
Her site için aynı eklentiyi önermek istemem. Beş sayfalık bir kurumsal siteyle, her gün sipariş alan bir WooCommerce mağazasının ihtiyacı aynı değil. Ama başlangıç için bakılabilecek birkaç güvenlik eklentisi var.
Wordfence Security
Wordfence Security, firewall, kötü amaçlı yazılım taraması ve giriş güvenliği özelliklerini aynı yerde topluyor. Dosya taraması yapmak, başarısız giriş denemelerini takip etmek ve WordPress tarafındaki güvenliği tek panelden yönetmek isteyenler için mantıklı bir seçenek.
All-In-One Security (AIOS)
All-In-One Security, daha anlaşılır ayarlar isteyenlerin değerlendirebileceği bir alternatif. Giriş denemelerini sınırlandırma, iki aşamalı doğrulama, dosya değişikliklerini izleme ve firewall kuralları gibi temel başlıkları içeriyor.
Sucuri Security
Sucuri Security, güvenlik olaylarının kaydını ve dosya bütünlüğü takibini öne çıkarıyor. Bir sorun yaşandığında “bu dosya ne zaman değişti?” ya da “hangi kullanıcı işlem yaptı?” sorularının cevabını bulmak, tahmin edilenden daha kıymetli olabiliyor.
Aynı anda birden fazla güvenlik eklentisi kurmalı mıyım?
Ben önermiyorum. Aynı işi yapmaya çalışan iki firewall ya da iki tarama eklentisi gereksiz kaynak tüketebilir, birbirinin kurallarını bozabilir ve yönetimi zorlaştırabilir. İhtiyacınızı karşılayan bir eklenti seçin, ayarlarını anlayın ve düzenli kontrol edin. Güvenlikte “ne kadar çok eklenti, o kadar iyi” diye bir kural yok.
İlk yapılması gereken WordPress güvenlik ayarları
Eklenti kurmadan önce şu temel kontrolleri yaparım:
- WordPress çekirdeğini, aktif temanızı ve eklentileri güncel tutarım. Güncelleme öncesinde yedek almak da alışkanlık olmalı.
- Kullanmadığım eklenti ve temaları sadece pasifleştirmem; gerçekten gerekmiyorsa kaldırırım. Devre dışı olması, unutulmuş bir bileşeni zararsız yapmıyor.
- Her yönetici için ayrı bir hesap açarım. Ortak kullanılan
adminhesabı, kimin ne yaptığını takip etmeyi de zorlaştırıyor. - Mümkün olan yerlerde iki aşamalı doğrulamayı açarım. Özellikle mağaza, ajans ve birden fazla editörü olan sitelerde bu küçük ayar ciddi fark yaratıyor.
- Yedeklerin geri yüklendiğini de kontrol ederim. Yedek alındığına dair e-posta gelmesi güzel; ama kritik anda çalışmayan yedek hiçbir işe yaramaz.

WordPress’te kötü amaçlı yazılım taraması nasıl yapılır?
Eklentiyle dosya ve güvenlik taraması
Yukarıdaki eklentilerden biriyle WordPress dosyalarını ve güvenlik uyarılarını düzenli kontrol edebilirsiniz. Fakat tarama sonucu gördüğünüz her değişikliği zararlı kabul etmeyin. Tema özelleştirmesi, önbellek eklentisi veya yakın zamanda yapılan bir güncelleme de dosya değişikliğine sebep olabilir.
Bu yüzden şüpheli bir uyarı aldığımda ilk iş dosyayı silmek olmaz. Önce ne zaman değiştiğine, hangi eklenti veya temayla ilişkili olabileceğine bakarım. Emin değilsem yedek alır, geliştirici ya da teknik destekle birlikte ilerlerim.
Hash kontrolüyle WordPress çekirdek dosyalarını doğrulama
WordPress çekirdek dosyaları için daha net bir kontrol daha var: Kurulu sürümdeki dosyaların hash değerlerini, WordPress.org’un aynı sürüm ve dil için yayımladığı checksum listesiyle karşılaştırmak. Böylece wp-admin, wp-includes ve diğer bilinen çekirdek dosyalarında eksik ya da değiştirilmiş bir dosya olup olmadığını görebilirsiniz.
Terminal erişimi olmayan kullanıcılar için bu amaçla tek dosyalık bir WordPress çekirdek dosya kontrol aracı hazırladım. Dosyayı WordPress kök dizinine yükleyip kendi tokeninizi belirledikten sonra tarama ekranını açmanız yeterli. Araç, WordPress’i, temanızı veya eklentilerinizi çalıştırmadan kontrol yapar; sonuçları da doğrudan ekranda listeler. İşiniz bittiğinde dosyayı silmenizi öneririm.
Bu kontrol, değiştirilmiş bir çekirdek dosyayı fark etmek için faydalı; ancak zararlı yazılımın kesin kanıtı değildir. Özel tema ve eklentileri, uploads klasörünü, veritabanını veya sonradan eklenmiş bilinmeyen dosyaları kapsamaz. Bu yüzden sonucu güvenlik eklentisi taraması ve yedek kontrolüyle birlikte değerlendirmek gerekir.
Sucuri SiteCheck ile dışarıdan URL taraması
Sucuri SiteCheck ile sitenizin adresini yazarak dışarıdan hızlı bir kontrol yapabilirsiniz. Bilinen zararlı kodlar, kara liste durumu, bazı güvenlik sorunları ve güncel olmayan bileşenler için işaret verebiliyor.
Ancak bunun bir dış tarama olduğunu unutmamak lazım. Araç, hosting hesabındaki bütün dosyalara veya veritabanına erişemez. Temiz sonuç görmek elbette iyi bir işaret, ama sitenin yüzde yüz temiz olduğunun kanıtı değil. Şüpheli bir sonuç ise daha derin inceleme gerektiğini gösterir.
VirusTotal ile URL itibarı kontrolü
VirusTotal üzerinden bir URL’nin farklı güvenlik motorlarında işaretlenip işaretlenmediğine bakılabilir. Ziyaretçiler tarayıcı uyarısı görüyorsa veya sitenin itibarıyla ilgili soru işareti varsa, ben bunu ikinci bir kontrol olarak kullanırım.
VirusTotal’ın WordPress dosyalarını taramadığını da ayırmak gerekiyor. Araç, URL itibarı ve dışarıdan görünür tehditler için faydalı; sunucu içindeki bütün soruları cevaplayan bir çözüm değil.
Sitenizde zararlı yazılım olabileceğini gösteren işaretler
Site bir gün yavaşladı diye hemen “virüs bulaştı” demem. Fakat aşağıdaki durumlarda biraz daha dikkatli bakarım:
- Ziyaretçilerin siz istemeden başka sitelere yönlendirilmesi,
- Tarayıcıda veya arama motorunda güvenlik uyarısı çıkması,
- Siz eklemediğiniz hâlde yeni yönetici hesaplarının oluşması,
- Sitede açıklanamayan reklamlar, bağlantılar ya da pop-up’lar görünmesi,
- Dosyalarda sizin yapmadığınız değişikliklerin tespit edilmesi,
- Hosting kaynak kullanımının makul bir sebep olmadan artması.
Tarama şüpheli bir sonuç verirse ne yapmalısınız?
Panikle dosya silmeyin. Önce mevcut hâlin bir yedeğini alın. Sonra WordPress, tema ve eklenti sürümlerini kontrol edin; yönetici hesaplarını gözden geçirin, parolaları değiştirin ve kullanılmayan hesapları kaldırın.
Sorunun kapsamı net değilse, temiz olduğu bilinen bir yedeğe dönmek bazen tek tek zararlı kod aramaktan daha güvenli olabilir. Fakat geri yüklemeden önce açığın nereden geldiğini bulmak gerekir. Yoksa aynı açıkla birlikte yeniden başlarsınız.
Veridyen WordPress Hosting’de güvenlik yaklaşımı
Güvenlik yalnızca WordPress paneline kurduğunuz eklentiden ibaret değil. Veridyen WordPress Hosting paketlerinde Imunify360 sunucu tarafında, FortiGate ise ağ tarafında ek güvenlik katmanları sağlıyor. WordPress’e özgü firewall kuralları da bu yapıyı tamamlıyor.
Burada dürüst olmak gerekir: Hiç kimse internette mutlak güvenlik garantisi veremez. Ama güncel bir WordPress kurulumu, doğru kullanıcı yetkileri, çalışan yedekler ve bu altyapı katmanları bir araya geldiğinde riski ciddi biçimde azaltabilir; sorun yaşandığında da daha kontrollü hareket etmenizi sağlar.
Sık sorulan sorular
Güvenlik eklentisi tek başına yeterli mi?
Hayır. Eklenti önemli bir katman, ancak güncellemelerin, yedeğin, güçlü parolaların ve hosting altyapısının yerine geçmiyor.
Dışarıdan yapılan tarama sitenin tüm dosyalarını kontrol eder mi?
Hayır. Sucuri SiteCheck ve VirusTotal, dışarıdan erişilebilen URL’ler üzerinden kontrol yapar. Sunucudaki her dosyayı ve veritabanını göremezler.
WordPress sitemde şüpheli bir dosya görürsem hemen silmeli miyim?
Hayır. Önce yedek alın ve dosyanın hangi tema, eklenti veya güncellemeyle ilişkili olduğunu doğrulayın. Yanlış dosyayı silmek, sitenin çalışmasını bozabilir.