Cara Mengganti URL wp-admin WordPress
Tanpa Plugin
Lindungi halaman login WordPress Anda dari serangan brute force dengan mengubah URL admin secara manual β tanpa perlu satu plugin pun.
/wp-admin adalah pintu masuk ke seluruh website WordPress Anda. Karena semua orang tahu URL default ini, bot otomatis terus-menerus mencoba login dengan ribuan kombinasi username dan password β ini disebut serangan brute force. Dengan mengganti URL admin, Anda menyembunyikan “pintu” dari para penyerang.
Mengapa Harus Mengganti URL wp-admin?
Persiapan Sebelum Mulai
Sebelum mengubah URL login, pastikan Anda sudah mempersiapkan hal-hal berikut:
- Backup website lengkap β selalu backup database dan file sebelum mengubah konfigurasi core WordPress
- Akses FTP atau File Manager cPanel β dibutuhkan untuk mengedit file .htaccess dan functions.php
- Akses ke phpMyAdmin β untuk metode yang melibatkan database (opsional)
- Catat URL baru yang ingin digunakan β pilih URL yang mudah diingat tapi sulit ditebak orang lain
- Login ke WordPress terlebih dahulu β jangan mulai proses ini jika belum login
Metode 1: Menggunakan File .htaccess
Metode ini menggunakan redirect di level server (Apache) untuk mengalihkan URL admin lama ke URL baru. Ini adalah cara paling ringan karena tidak memerlukan perubahan pada kode PHP.
Masuk ke cPanel β File Manager atau hubungkan via FTP. Navigasi ke root directory website Anda (biasanya public_html). Temukan file .htaccess di sana. Jika tidak terlihat, aktifkan “Show Hidden Files” karena file ini tersembunyi.
Buka file .htaccess dan tambahkan kode berikut di bawah tag # BEGIN WordPress namun sebelum tag # END WordPress:
# BEGIN WordPress RewriteEngine On # Ganti "my-secret-login" dengan URL pilihan Anda RewriteRule ^my-secret-login$ /wp-login.php [L,NC] RewriteRule ^my-secret-login/$ /wp-login.php [L,NC] # Blokir akses langsung ke /wp-admin jika belum login RewriteCond %{REQUEST_URI} ^/wp-admin RewriteCond %{HTTP_COOKIE} !wordpress_logged_in RewriteRule ^ /index.php [L,R=302] # END WordPress
Simpan file .htaccess. Buka tab baru di browser dan coba akses yoursite.com/my-secret-login. Halaman login WordPress harus muncul. Kemudian coba yoursite.com/wp-admin β seharusnya diarahkan ke halaman utama.
my-secret-login dengan URL unik seperti akses-saya-2024 atau masuk-admin-xyz. Hindari kata-kata umum seperti “login”, “admin”, “masuk”, atau “portal”.Metode 2: Menggunakan functions.php (Child Theme)
Metode ini menggunakan hook WordPress untuk mengubah URL login di level PHP. Ini lebih fleksibel karena bisa dikombinasikan dengan logika kondisional lainnya. Selalu gunakan child theme agar tidak hilang saat update tema.
functions.php tema utama secara langsung. Saat tema diperbarui, semua perubahan Anda akan hilang. Buat child theme terlebih dahulu.Buka wp-content/themes/nama-child-theme/functions.php dan tambahkan fungsi berikut:
/** * Mengubah URL Login WordPress * Tambahkan di child theme functions.php */ add_filter( 'login_url', function( $login_url, $redirect, $force_reauth ) { return home_url( 'my-secret-login' ); }, 10, 3 ); // Redirect wp-login.php langsung β halaman 404 atau home add_action( 'login_init', function() { $slug = 'my-secret-login'; // Ganti sesuai keinginan // Cek apakah request datang dari URL baru yang benar if ( isset( $_SERVER['REQUEST_URI'] ) ) { $path = trim( parse_url( $_SERVER['REQUEST_URI'], PHP_URL_PATH ), '/' ); if ( $path !== $slug && ! is_user_logged_in() ) { wp_redirect( home_url( '/' ) ); exit; } } } ); // Ubah URL logout agar mengarah ke halaman custom add_filter( 'logout_url', function( $logout_url ) { return str_replace( '/wp-login.php', '/my-secret-login', $logout_url ); } );
WordPress perlu “mengetahui” slug baru Anda. Tambahkan flush rewrite rules agar WordPress mendaftarkan URL baru:
// Jalankan sekali saat plugin/tema diaktifkan add_action( 'after_switch_theme', function() { flush_rewrite_rules(); } ); // Atau pergi ke: Dashboard β Settings β Permalinks // Klik "Save Changes" (tanpa perubahan) untuk flush manual
Metode 3: Kombinasi .htaccess + Blokir wp-login.php Penuh
Metode paling kuat. Selain mengubah URL, kita juga memblokir akses langsung ke wp-login.php sehingga bot tidak bisa mengakses halaman login melalui URL asli sama sekali.
# ============================== # PROTEKSI WP-LOGIN LENGKAP # ============================== RewriteEngine On RewriteBase / # 1. Izinkan URL login baru RewriteRule ^my-secret-login(/.*)?$ /wp-login.php$1 [L,NC,QSA] # 2. Blokir wp-login.php jika tidak datang dari URL baru RewriteCond %{THE_REQUEST} ^[A-Z]+\s/+wp-login\.php [NC] RewriteRule ^ /? [L,R=301] # 3. Proteksi wp-admin (izinkan hanya yang sudah login) RewriteCond %{REQUEST_URI} ^/wp-admin RewriteCond %{HTTP_COOKIE} !wordpress_logged_in [NC] RewriteRule ^ http://%{HTTP_HOST}/? [L,R=302] # 4. Izinkan akses ke wp-admin/admin-ajax.php (diperlukan AJAX) RewriteRule ^wp-admin/admin-ajax\.php$ - [L]
wp-admin/admin-ajax.php! File ini digunakan oleh WordPress dan banyak plugin untuk request AJAX. Memblokir file ini bisa membuat banyak fitur website menjadi tidak berfungsi.Perbandingan Ketiga Metode
| Metode | Kemudahan | Keamanan | Risiko | Cocok untuk |
|---|---|---|---|---|
| .htaccess Dasar | ββββ | βββ | Rendah | Pemula, server Apache |
| functions.php | βββ | ββββ | Sedang | Developer, fleksibilitas tinggi |
| .htaccess + Blokir Penuh | ββ | βββββ | Sedang | Situs kritis, keamanan maksimal |
Troubleshooting: Masalah Umum
Q: URL baru menampilkan halaman 404
Ini terjadi karena WordPress belum mengetahui slug baru Anda. Solusinya: pergi ke Dashboard β Settings β Permalinks dan klik Save Changes tanpa mengubah apapun. Ini akan me-refresh daftar URL yang dikenali WordPress.
Q: Saya terkunci dan tidak bisa login sama sekali
Jangan panik. Hubungkan via FTP atau gunakan cPanel File Manager. Buka file yang Anda edit (.htaccess atau functions.php) dan hapus kode yang baru ditambahkan. Setelah akses pulih, perbaiki kode dengan hati-hati.
Q: AJAX di frontend tidak bekerja setelah perubahan
Kemungkinan Anda memblokir wp-admin/admin-ajax.php. Pastikan ada exception untuk file ini di aturan .htaccess Anda (lihat baris ke-4 di Metode 3).
Q: Apakah ini bisa diterapkan di server Nginx?
File .htaccess hanya bekerja di Apache. Untuk Nginx, aturan rewrite harus diletakkan di konfigurasi server (nginx.conf atau file konfigurasi virtual host), dan biasanya memerlukan akses root ke server.
Tips Keamanan Tambahan
Mengganti URL admin hanyalah satu lapisan keamanan. Kombinasikan dengan langkah-langkah berikut untuk perlindungan maksimal:
- Gunakan password yang kuat β minimal 16 karakter dengan kombinasi huruf besar, kecil, angka, dan simbol
- Aktifkan Two-Factor Authentication (2FA) β tambahkan lapisan verifikasi kedua saat login
- Batasi percobaan login β gunakan plugin seperti Limit Login Attempts Reloaded untuk membatasi brute force
- Proteksi dengan password di .htaccess β tambahkan HTTP authentication untuk double protection
- Whitelist IP untuk wp-admin β jika IP Anda statis, batasi akses wp-admin hanya dari IP Anda
- Aktifkan SSL/HTTPS β pastikan website menggunakan HTTPS agar kredensial tidak dikirim dalam plaintext

Contact Us
Leave a Reply