WordPress sitelerinin güvenliği konusunda en sık karşılaşılan sorulardan biri, "wp-admin nasıl gizlenir?" şeklindedir. Çoğu kullanıcıya verilen yanıt ise genellikle aynıdır: wp-login.php adresini yeniden adlandırarak giriş formunu farklı bir URL'e taşıyın. Bu öneri teknik olarak yanlış olmasa da, sorulan sorunun sadece küçük bir kısmına yanıt vermektedir.
Yeniden adlandırma işlemi, varsayılan giriş yolunu değiştirir ve bot saldırılarını azaltabilir. Ancak bu yöntem, WordPress'in arka planda çalışmaya devam ettiği, eklenti klasörlerinin hâlâ site kaynaklarını açıkladığı ve REST API bağlantılarının siteyi ele verdiği gibi üç kritik güvenlik açığını kapatmamaktadır. Eğer amacınız sadece otomatik saldırıları engellemekse, bu yöntem yeterli olabilir. Fakat WordPress olduğunu tamamen gizlemek ve hedef olmaktan kaçınmak istiyorsanız, çok daha geniş bir yaklaşım gerekmektedir.
WordPress'in varsayılan giriş yoluna yapılan istekler neden sorun yaratır?
Birçok kullanıcı, wp-login.php adresini yeniden adlandırarak saldırıları engellediğini düşünür. Ancak bu işlem, aslında WordPress'in tamamen yüklenmesine engel olmaz. Varsayılan giriş yoluna yapılan bir istek, hâlâ WordPress'in PHP motorunu başlatır, eklentileri yükler ve ardından kullanıcıya 404 yanıtı gönderir. Bu durum, sessiz bir şekilde gerçekleştiğinde fark edilmeyebilir. Fakat yoğun trafiğe sahip bir sitede, binlerce istek için WordPress'in her seferinde tamamen yüklenmesi, sunucu kaynaklarını gereksiz yere tüketir.
Bu sorunu çözmek için giriş yolunun sunucu düzeyinde reddedilmesi gerekir. Aşağıdaki örneklerde, Apache ve Nginx için sunucu düzeyinde 404 yanıtı oluşturacak yapılandırmalar bulunmaktadır:
# Apache .htaccess — varsayılan giriş yolunu sunucu düzeyinde reddet
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/(wp-login\.php|wp-admin) [NC]
RewriteCond %{HTTP_COOKIE} !wordpress_logged_in [NC]
RewriteRule .* - [R=404,L]
</IfModule># Nginx — aynı mantık, ancak yapılandırma değişikliği için yeniden yükleme gerekir
location ~* ^/(wp-login\.php|wp-admin) {
if ($http_cookie !~* "wordpress_logged_in") {
return 404;
}
}Bu yapılandırmalar sayesinde, giriş yoluna yapılan istekler doğrudan 404 yanıtıyla reddedilir ve WordPress hiç yüklenmez. Sunucu kaynakları korunurken, aynı zamanda varsayılan giriş yoluna yapılan saldırılar da engellenmiş olur.
Eklenti ve tema klasörleri nasıl güvenlik açığı oluşturur?
WordPress sitelerinde sadece giriş formunun yeniden adlandırılması, saldırganların siteyi tanımlamasını engellemez. Bir saldırgan, giriş formunu bulamadığı durumda, sitenin arka planda çalışan teknolojiyi tanımlamaya çalışır. Bu tanımlama genellikle, sayfa kaynak kodunda yer alan eklenti ve tema yollarını okuyarak gerçekleştirilir. Örneğin:
/wp-content/plugins/woocommerce//wp-content/plugins/elementor//wp-content/themes/your-theme/style.css?ver=2.4.1/wp-content/plugins/some-plugin/readme.txt(sürüm bilgisi içeren dosya)
Bu yollar, sitenin giriş sayfasından bağımsız olarak herkes tarafından görülebilir. Patchstack'un 2025 verilerine göre, WordPress güvenlik açıklarının %91'i çekirdek yerine eklentilerde bulunmaktadır. Bir saldırgan, bu yolları okuyarak sitenin kullandığı eklentileri ve sürümlerini belirleyebilir, ardından bunlara yönelik bilinen güvenlik açıklarını kullanabilir.
Bu güvenlik açığını kapatmak için, eklenti ve tema yollarının yeniden adlandırılması ve sürüm bilgilerinin kaldırılması gerekir. Bu sayede, saldırganlar sitenin WordPress olduğunu bile anlayamazlar.
REST API ve diğer kalıntı bağlantılar neden tehlike oluşturur?
WordPress, sadece giriş formunu yeniden adlandırmakla tamamen gizlenemez. CMS tanımlayıcıları (Wappalyzer, BuiltWith gibi araçlar), aşağıdaki kalıntı bağlantılar üzerinden siteyi tespit edebilir:
<meta name="generator" content="WordPress 6.x" /><link rel=" href=" />wp-json/wp/v2/users(kullanıcı listesini açığa çıkarır)admin-ajax.php(varsayılan yolunda çalışır)
Bu bağlantılar, giriş formunun yeniden adlandırılmasıyla ortadan kalkmaz. Saldırganlar, bu yolları kullanarak sitenin WordPress olduğunu anlayabilir ve kullanıcı listesini elde edebilir. Bu nedenle, REST API bağlantılarının da yeniden yapılandırılması gerekmektedir.
Yeniden adlandırma ve kapsamlı güvenlik arasındaki fark
Aşağıdaki karşılaştırma tablosu, sadece giriş yolunu yeniden adlandırmak ile daha kapsamlı bir güvenlik yaklaşımı arasındaki farkları göstermektedir:
| Yetkinlik | Giriş URL'si yeniden adlandırma (örn. WPS Hide Login) | Kapsamlı güvenlik yaklaşımı | |-----------|-----------------------------------------------------|-----------------------------| | Giriş yolunu değiştirme | Evet | Evet | | Varsayılan giriş yolunu PHP yüklenmeden reddetme | Hayır | Evet | | wp-content / eklenti / tema yollarını yeniden adlandırma | Hayır | Evet | | generator etiketi ve ?ver= sorgularını kaldırma | Hayır | Evet | | wp-json kullanıcı listesini kısıtlama | Hayır | Evet | | Yük ve karmaşıklık | Çok hafif, tek amaçlı | Daha ağır, geniş yapılandırma gerektirir | | Ücretsiz kullanım | Evet | Evet |
Giriş yolunu yeniden adlandırmak, hafif ve basit bir çözümdür. Ancak kapsamlı bir güvenlik yaklaşımı, sadece giriş yolunu değil, tüm siteyi WordPress olarak tanımlanabilir olmaktan çıkarır. All-in-One Security gibi araçlar, giriş yolunu yeniden adlandırmanın yanı sıra birtakım güvenlik duvarları ekler, ancak tam bir gizlilik sağlamaz.
Uygulamanızın gerçekten ne kadar gizlendiğini nasıl test edersiniz?
Birçok kullanıcı, yaptıkları değişikliklerin işe yaradığını düşünürken aslında sadece yanılgıya düşmektedir. Test yaparken dikkat edilmesi gereken en önemli nokta, kendi sitenizi admin olarak kontrol ederken değil, yeni bir tarayıcı penceresinde ve oturum açmadan test etmektir. Aksi takdirde, admin ekranlarından yayılan WordPress sinyalleri nedeniyle gerçek durumu göremezsiniz.
Test etmek için aşağıdaki komutları kullanabilirsiniz:
# Generator etiketi ve REST bağlantıları hâlâ görünüyor mu?
curl -s | grep -iE 'generator|api.w.org|/wp-json'
# Varsayılan giriş yoluna yapılan istek WordPress'i başlatıyor mu?
curl -s -o /dev/null -w "%{http_code}\n"
# Kullanıcı listesine REST API üzerinden erişilebiliyor mu?
curl -s Bu testlerin sonuçlarına göre:
- İlk komut çıktı veriyorsa, site hâlâ WordPress olarak tanımlanabilir durumdadır.
- İkinci komut 200 (veya yavaş bir 404) yanıtı döndürüyorsa, WordPress hâlâ varsayılan giriş yolunda yüklenmektedir.
- Üçüncü komut kullanıcı listesini döndürüyorsa, REST API üzerinden kullanıcı bilgileri açıktır.
Giriş yolunun yeniden adlandırılması, sadece bir URL'in değiştirilmesi anlamına gelir. WordPress'in tüm bileşenlerini gizlemek için daha geniş bir güvenlik stratejisine ihtiyaç vardır. Bu stratejiyi uygulamadan önce, mevcut durumunuzu tam olarak anlamak ve gereksinimlerinizi belirlemek önemlidir.
Günümüzde WordPress siteleri, sürekli gelişen saldırı yöntemlerine karşı korunmalıdır. Basit bir giriş yolu değişikliğinden ziyade, tüm siteyi kapsayan bir güvenlik yaklaşımı benimsemek, uzun vadede çok daha etkili olacaktır.
Yapay zeka özeti
WordPress sitelerinde wp-login.php adresini yeniden adlandırmak güvenlik için yeterli değil. Üç önemli güvenlik açığını kapatmayan bu yöntem yerine kapsamlı çözümleri keşfedin.