WordPress XML-RPC Nasıl Kapatılır (xmlrpc.php Engelleme)

Son gözden geçirme: Eylül 2026 · cPanel 136 test hesabı ekranları ve WordPress resmî dokümanına göre

Hızlı çözüm

WordPress XML-RPC kapatma işleminin en sağlam yolu, xmlrpc.php dosyasına erişimi .htaccess ile engellemektir; böylece bu dosya üzerinden yapılan şifre denemeleri ve pingback istekleri WordPress’e hiç ulaşmaz.

  1. Jetpack, eski mobil uygulama ya da uzaktan yayın aracı kullanıp kullanmadığınızı kontrol edin.
  2. cPanel Dosya Yöneticisi’nde public_html/.htaccess dosyasının yedeğini alın.
  3. Dosyanın en üstüne xmlrpc.php için erişim engeli ekleyin.
  4. https://ornek.com/xmlrpc.php adresinin 403 döndüğünü doğrulayın.
Panel cPanel, WordPress yönetim paneli
Sistem Paylaşımlı hosting (CloudLinux, LiteSpeed)
Yetki cPanel kullanıcısı
Narhost ürünü WordPress Hosting

Başlamadan önce

  • Dosya Yöneticisi’nde gizli dosyaların görünür olduğundan emin olun; .htaccess nokta ile başladığı için varsayılan olarak gizlenebilir.
  • .htaccess dosyasını düzenlemeden önce bilgisayarınıza indirin.
  • Siteye bağlı harici servislerin listesini çıkarın (Jetpack, yayın araçları, mobil uygulama).

XML-RPC ne işe yarar, neden kapatılır

xmlrpc.php, WordPress’e uzaktan yazı gönderme, düzenleme ve pingback alma işlerini yapan eski bir arayüzdür; desteklediği yöntemler WordPress geliştirici el kitabında listelenir. REST API ve uygulama şifreleri geldikten sonra çoğu araç o yola geçti; bugün XML-RPC’ye bağlı kalanlar genelde Jetpack’in bazı işlevleri, eski sürüm mobil uygulamalar ve birkaç masaüstü yayın aracıdır.

Kullanılmayan XML-RPC ise botlar için wp-login.php dışında ikinci bir giriş kapısıdır. Güncel sürümler tek istekte birden çok şifre denemesini sınırlasa da bu dosyaya gelen yoğun POST istekleri sunucu kaynağını tüketir. pingback.ping yöntemi ise sitenizi başka sitelere istek yansıtan bir araca dönüştürebilir. Erişim kayıtlarında POST /xmlrpc.php satırları çoğalıyorsa kapatma zamanı gelmiştir.

WordPress XML-RPC kapatma adımları

Yöntem 1 — .htaccess ile tam engelleme (önerilen)

  1. cPanel → Dosyalar → Dosya Yöneticisi ile public_html klasörünü açın. .htaccess görünmüyorsa sağ üstteki Ayarlar’dan gizli dosyaları göster seçeneğini işaretleyin.
    WordPress XML-RPC kapatma için cPanel Dosya Yöneticisi'nde public_html ve .htaccess dosyası
    Dosya Yöneticisi; gizli dosyalar Ayarlar penceresinden görünür yapılır, .htaccess Düzenle ile açılır.

    Beklenen sonuç: .htaccess dosya listesinde görünür.

  2. .htaccess dosyasını seçip Düzenle ile açın ve en üste, # BEGIN WordPress satırının üstüne şu bloğu ekleyin. WordPress işaretler arasındaki bölümü kalıcı bağlantı ayarında yeniden yazdığı için blok dışarıda kalmalı.
    # XML-RPC erişimini kapat
    <Files xmlrpc.php>
        Require all denied
    </Files>

    Beklenen sonuç: dosya kaydedilir, site açılmaya devam eder.

Yöntem 2 — Filtre ile kısmi kapatma

Dosyaya erişimi açık bırakıp WordPress içinden kapatmak istiyorsanız alt temanın functions.php dosyasına ya da bir kod parçacığı eklentisine şu satırları ekleyin; kod ekleme yolları WordPress siteye kod ekleme kartında.

add_filter( 'xmlrpc_enabled', '__return_false' );
add_filter( 'xmlrpc_methods', function ( $methods ) {
    unset( $methods['pingback.ping'] );
    return $methods;
} );

İlk satır yalnız kimlik doğrulama isteyen yöntemleri kapatır; resmî dokümana göre pingback bu filtreden etkilenmez, bu yüzden ikinci filtre pingback.ping yöntemini ayrıca kaldırır. Bu yöntemde istek yine PHP’yi çalıştırır, yani yük azalmaz; yük sorunu varsa Yöntem 1’i seçin.

Kapatınca ne bozulur

Jetpack bağlantısı, XML-RPC kullanan eski mobil uygulama sürümleri ve uzaktan yayın araçları çalışmayı bırakır. Bunlardan birini kullanıyorsanız XML-RPC’yi kapatmak yerine giriş denemelerini sınırlayın.

Doğrulama

Sonuç

Tarayıcıda https://ornek.com/xmlrpc.php adresini açın. Yöntem 1’den sonra sayfa 403 Forbidden döner. Kapatmadan önce aynı adres XML-RPC server accepts POST requests only. metnini gösterir. Yöntem 2’de bu metin görünmeye devam eder; kimlik isteyen bir çağrı ise XML-RPC services are disabled on this site. yanıtı alır. Birkaç gün sonra erişim kayıtlarında xmlrpc.php isteklerinin 403 ile bittiğini görebilirsiniz.

Hâlâ çözülmediyse

  • Kaydettikten sonra site 500 hatası veriyor..htaccess içinde yazım hatası var; indirdiğiniz yedeği geri yükleyip bloğu yeniden, satır satır ekleyin.
  • Giriş denemeleri wp-login.php üzerinden sürüyor. XML-RPC’yi kapatmak oradaki saldırıyı durdurmaz; Imunify360 brute force koruması kartındaki ayarları uygulayın.
  • Kod yazmadan yönetmek istiyorum. Çoğu güvenlik eklentisinde XML-RPC anahtarı vardır; seçim için WordPress güvenlik eklentileri kartına bakın.

Narhost desteği

Talebe şunları ekleyin: alan adınız, .htaccess dosyasına eklediğiniz satırlar, gördüğünüz hata metni birebir ve sorunun başladığı saat.

Destek talebi aç

Sıkça sorulan sorular

WordPress XML-RPC kapatma REST API’yi de kapatır mı?

Hayır. REST API /wp-json/ altında ayrı çalışır; blok düzenleyici de bu arayüzü kullanır ve etkilenmez.

Jetpack kullanıyorum, XML-RPC’yi kapatabilir miyim?

Tamamen kapatırsanız Jetpack bağlantısı kopar. Bu durumda XML-RPC’yi açık bırakıp giriş denemelerini güvenlik katmanında sınırlayın.

Pingback’leri ayrıca kapatmam gerekir mi?

Yöntem 1 bütün dosyayı engellediği için gerekmez. Yöntem 2’de ikinci filtre bu işi görür.

Bu makale sorununuzu çözdü mü?

Çözemediniz mi?

Teknik ekibimiz sunucu tarafındaki ayarları sizin için kontrol edebilir. Destek talebinizde alan adınızı ve aldığınız hata metnini paylaşmanız süreci hızlandırır.

Etiketler: guvenlik

İlgili çözümler