Cara Mengamankan WordPress dari Peretas: Panduan Lengkap 25 Langkah (2026)

Cara Mengamankan WordPress dari Peretas: Panduan Lengkap 25 Langkah (2026)

Diterbitkan: · Diperbarui:

WordPress menggerakkan sekitar 4 dari 10 situs di internet. Popularitas itu membuatnya menjadi sasaran favorit peretas. Setiap hari ada bot otomatis yang mencoba menebak password admin, mencari plugin yang belum diperbarui, dan menyusupkan kode jahat ke situs yang lengah.

Kabar baiknya, sebagian besar peretasan WordPress bukan karena WordPress-nya lemah, melainkan karena hal-hal yang bisa dicegah: plugin usang, password lemah, plugin bajakan, dan tidak adanya backup. Artikel ini adalah panduan lengkap mengamankan WordPress, dari langkah paling dasar yang bisa dilakukan siapa saja hingga pengaturan server untuk yang lebih teknis.

Kenapa Situs WordPress Diretas?

Menurut laporan tahunan Patchstack, perusahaan keamanan yang khusus memantau ekosistem WordPress, sepanjang 2025 tercatat lebih dari 11.000 kerentanan baru di ekosistem WordPress. Hampir semuanya berasal dari plugin dan tema, bukan dari inti (core) WordPress. Patchstack juga mencatat bahwa 46% kerentanan belum punya perbaikan saat pertama kali diumumkan, dan kerentanan populer bisa mulai dieksploitasi massal hanya dalam hitungan jam.

Artinya, ancaman terbesar justru ada di “aksesori” yang kita pasang sendiri. Berikut penyebab peretasan yang paling umum:

Penyebab Contoh Akibat
Plugin atau tema usang Plugin form yang tidak diperbarui setahun Peretas menyusupkan file berbahaya lewat celah yang sudah dikenal
Plugin atau tema bajakan (nulled) Tema premium “gratis” dari situs tidak resmi Sering sudah disisipi backdoor sejak awal
Password lemah Username “admin”, password “admin123” Ditebak bot dalam hitungan menit (brute force)
Akun bocor Password yang sama dipakai di situs lain yang bocor Peretas login seperti pemilik sah
Hosting dan PHP usang PHP 7.x yang sudah tidak didukung Celah di tingkat server
Hak akses berlebihan Semua penulis diberi peran Administrator Satu akun bocor, seluruh situs jatuh

Dampaknya pun beragam: halaman diganti (deface), situs disisipi link judi online atau obat-obatan, pengunjung dialihkan ke situs penipuan, data pelanggan dicuri, situs masuk daftar hitam Google, hingga server dipakai untuk mengirim spam.

Bagian 1: Fondasi yang Wajib Dilakukan Semua Orang

Bagian ini tidak butuh keahlian teknis. Jika Anda hanya sempat melakukan satu bagian dari artikel ini, lakukan bagian ini.

1. Selalu Perbarui WordPress, Plugin, dan Tema

Ini langkah terpenting. Sebagian besar serangan memanfaatkan celah yang sudah diperbaiki di versi terbaru, tetapi pemilik situs belum memperbarui.

  • Buka Dasbor → Pembaruan secara rutin, minimal seminggu sekali.
  • Aktifkan pembaruan otomatis untuk plugin dan tema di halaman Plugin (tautan “Aktifkan pembaruan otomatis”). Untuk situs yang sangat penting, uji dulu di situs staging.
  • Pembaruan keamanan inti WordPress (versi minor, misalnya 7.1.3 ke 7.1.4) sudah otomatis secara bawaan. Jangan dimatikan.
  • Hanya versi terbaru WordPress yang didukung aktif. Situs yang tertinggal beberapa versi besar berisiko tinggi.

2. Hapus Plugin dan Tema yang Tidak Dipakai

Plugin yang dinonaktifkan tetap ada di server, dan file-nya tetap bisa diserang. Jadi:

  • Hapus (bukan sekadar nonaktifkan) plugin yang tidak dipakai.
  • Sisakan hanya satu tema aktif dan satu tema bawaan WordPress sebagai cadangan.
  • Sebelum memasang plugin baru, cek: kapan terakhir diperbarui, jumlah instalasi aktif, rating, dan apakah pengembangnya merespons di forum dukungan. Plugin yang tidak diperbarui lebih dari setahun sebaiknya dihindari.

3. Jangan Pernah Memakai Plugin atau Tema Bajakan

Tema premium “gratis” dari situs tidak resmi hampir pasti membawa masalah: backdoor, link spam tersembunyi, atau kode yang mengirim data situs Anda ke pihak lain. Selain itu, versi bajakan tidak menerima pembaruan keamanan. Penghematan beberapa ratus ribu rupiah bisa berujung pada situs yang harus dibangun ulang dari nol.

4. Password Kuat dan Unik, Plus Password Manager

  • Jangan memakai username admin. Ini tebakan pertama setiap bot.
  • Gunakan password panjang (minimal 16 karakter) dan unik, tidak dipakai di layanan lain.
  • Gunakan password manager seperti Bitwarden, 1Password, atau fitur bawaan browser agar tidak perlu menghafal.
  • Ganti juga password hosting/cPanel, database, FTP/SFTP, dan email admin. Semua pintu masuk sama pentingnya.

5. Aktifkan Verifikasi Dua Langkah (2FA)

Dengan 2FA, peretas yang berhasil mendapatkan password tetap tidak bisa masuk tanpa kode dari ponsel Anda. Ini salah satu perlindungan paling efektif dengan usaha paling kecil.

  • Pasang plugin seperti Two Factor (dikembangkan kontributor WordPress), atau fitur 2FA dari Wordfence maupun Solid Security.
  • Gunakan aplikasi authenticator (Google Authenticator, Microsoft Authenticator, atau Authy), lebih aman daripada kode lewat SMS atau email.
  • Wajibkan 2FA untuk semua akun Administrator dan Editor.
  • Simpan kode cadangan (backup codes) di tempat aman, jangan sampai Anda sendiri terkunci.

6. Backup Otomatis dengan Prinsip 3-2-1

Backup adalah jaring pengaman terakhir. Jika semua pertahanan gagal, backup yang baik membuat situs bisa pulih dalam hitungan jam, bukan minggu.

  • 3 salinan data, di 2 media berbeda, dengan 1 salinan di luar server (misalnya Google Drive, Dropbox, atau penyimpanan cloud lain).
  • Backup database dan file (terutama folder wp-content), bukan salah satunya saja.
  • Jadwalkan otomatis, misalnya harian untuk situs berita atau toko online, mingguan untuk situs yang jarang berubah.
  • Simpan beberapa versi ke belakang (misalnya 30 hari), karena peretasan sering baru ketahuan berminggu-minggu kemudian.
  • Uji pemulihan sesekali. Backup yang tidak pernah diuji belum tentu bisa dipakai.

Plugin seperti UpdraftPlus bisa mengirim backup otomatis ke Google Drive. Untuk server sendiri, skrip backup terjadwal dengan alat seperti rclone juga bisa digunakan.

7. Gunakan HTTPS

Pastikan situs memakai sertifikat SSL (alamat diawali https://). Sebagian besar hosting menyediakan sertifikat Let’s Encrypt gratis, dan Cloudflare juga menyediakan SSL gratis. Setelah aktif, pastikan alamat di Pengaturan → Umum sudah memakai https://.

Butuh bantuan mengamankan WordPress Anda?
Kami menerima jasa konsultasi WordPress: audit keamanan, pembersihan situs yang terkena malware, pengaturan backup otomatis, hingga optimasi server.
Hubungi kami via WhatsApp →

Bagian 2: Mengamankan Pintu Masuk (Login dan Akun)

8. Batasi Percobaan Login

Secara bawaan, WordPress mengizinkan percobaan login tanpa batas. Bot bisa mencoba ribuan password per jam. Batasi dengan plugin keamanan (Wordfence, Solid Security) atau plugin khusus seperti Limit Login Attempts Reloaded, sehingga IP yang gagal login beberapa kali diblokir sementara.

9. Atur Peran Pengguna dengan Prinsip “Seperlunya”

WordPress punya beberapa peran dengan hak akses berbeda:

Peran Hak Akses Cocok Untuk
Administrator Semua, termasuk pasang plugin dan kelola pengguna Pemilik atau pengelola teknis saja (1–2 orang)
Editor Kelola semua tulisan dan halaman Pemimpin redaksi
Author Menulis dan menerbitkan tulisan sendiri Penulis tetap
Contributor Menulis tapi tidak bisa menerbitkan Penulis tamu
Subscriber Hanya mengelola profil Pembaca atau pelanggan terdaftar

Periksa Pengguna → Semua Pengguna secara berkala. Hapus akun yang sudah tidak aktif, turunkan peran yang berlebihan, dan curigai akun Administrator yang tidak Anda kenal karena itu tanda klasik situs sudah dibobol.

Jika situs Anda membuka pendaftaran pengguna, pastikan Peran bawaan pengguna baru di Pengaturan → Umum adalah Subscriber, bukan peran yang lebih tinggi.

10. Jangan Tampilkan Username Asli

Bot sering mencari username dari halaman arsip penulis (/?author=1) atau dari REST API (/wp-json/wp/v2/users). Atur Nama tampilan publik di profil agar berbeda dari username login. Plugin keamanan umumnya juga punya opsi untuk memblokir pencarian username semacam ini.

11. Pertimbangkan Mengganti Alamat Login

Mengganti /wp-login.php ke alamat lain (misalnya dengan plugin WPS Hide Login) bukan perlindungan utama, tetapi efektif mengurangi serangan bot dan membuat log lebih bersih. Anggap ini sebagai lapisan tambahan, bukan pengganti password kuat dan 2FA.

12. Kelola Application Passwords dan XML-RPC

  • Application Passwords (di halaman profil) dipakai aplikasi pihak ketiga untuk mengakses situs. Hapus yang tidak Anda kenali atau tidak dipakai lagi.
  • XML-RPC (xmlrpc.php) adalah fitur lama untuk aplikasi eksternal, dan sering dipakai untuk brute force. Jika Anda tidak memakai aplikasi WordPress mobile atau Jetpack, nonaktifkan lewat plugin keamanan atau blokir di server/Cloudflare.

Bagian 3: Pengaturan Teknis di wp-config.php dan Server

Bagian ini untuk pengelola yang punya akses ke file situs atau server. Selalu backup file sebelum mengubahnya.

13. Matikan Editor File di Dasbor

WordPress punya fitur untuk mengedit kode tema dan plugin langsung dari dasbor. Jika akun admin dibobol, fitur ini menjadi jalan pintas peretas untuk menyisipkan kode. Tambahkan baris ini di wp-config.php:

define( 'DISALLOW_FILE_EDIT', true );

Jika semua pembaruan dilakukan lewat SFTP atau sistem deploy, Anda bahkan bisa memakai DISALLOW_FILE_MODS untuk melarang pemasangan dan pembaruan plugin dari dasbor. Hati-hati: opsi ini juga mematikan pembaruan otomatis, jadi pastikan Anda punya prosedur pembaruan rutin sendiri.

14. Matikan Mode Debug di Situs Live

Pesan error bisa membocorkan lokasi file dan informasi server. Pastikan di situs live:

define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );

15. Gunakan Kunci Keamanan (Salts) yang Unik

Bagian AUTH_KEY, SECURE_AUTH_KEY, dan seterusnya di wp-config.php mengamankan sesi login. Pastikan berisi nilai acak panjang, bukan teks bawaan. Anda bisa membuat yang baru di generator resmi WordPress. Mengganti salts juga akan mengeluarkan semua pengguna yang sedang login, langkah berguna setelah situs dibobol.

16. Atur Izin File dan Folder

Objek Izin yang Disarankan
Folder 755
File 644
wp-config.php 600 atau 640 (sesuaikan dengan konfigurasi hosting)

Hindari izin 777 karena berarti siapa pun di server bisa menulis ke file tersebut.

17. Cegah PHP Dijalankan di Folder Uploads

Folder wp-content/uploads seharusnya hanya berisi gambar dan dokumen. Jika peretas berhasil mengunggah file PHP ke sana, mereka bisa menjalankannya sebagai backdoor. Di server Apache, buat file .htaccess di dalam folder uploads:

<FilesMatch "\.(php|phtml|phar)$">
    Require all denied
</FilesMatch>

Untuk server Nginx, aturan serupa ditambahkan di konfigurasi server. Tanyakan ke penyedia hosting jika tidak yakin.

18. Matikan Directory Listing dan Lindungi File Sensitif

Jika folder tanpa file index bisa dibuka dan isinya terlihat, peretas bisa melihat struktur situs. Di Apache, tambahkan di .htaccess utama:

Options -Indexes

<Files wp-config.php>
    Require all denied
</Files>

Jangan pula meninggalkan file cadangan seperti backup.zip, wp-config.php.bak, atau dump database di folder publik. File semacam ini bisa diunduh siapa saja yang menebak namanya.

19. Gunakan Versi PHP yang Masih Didukung

Versi PHP lama tidak lagi menerima perbaikan keamanan. Gunakan versi yang masih didukung resmi: minimal PHP 8.2, dan lebih disarankan PHP 8.3 atau yang lebih baru karena dukungan keamanan PHP 8.2 berakhir pada akhir 2026 dan cek kompatibilitas plugin sebelum memperbarui. Pengaturannya biasanya ada di panel hosting.

20. Database yang Aman

  • Gunakan pengguna database khusus untuk setiap situs, dengan password kuat.
  • Jangan memakai akun root database untuk WordPress.
  • Pastikan database tidak bisa diakses langsung dari internet, hanya dari server web.
  • Jika memakai phpMyAdmin, lindungi dengan password tambahan atau batasi aksesnya.

21. Pasang Security Headers

Header keamanan memberi instruksi tambahan ke browser pengunjung. Beberapa yang umum:

Header Fungsi
Strict-Transport-Security (HSTS) Memaksa browser selalu memakai HTTPS
X-Content-Type-Options: nosniff Mencegah browser salah menafsirkan jenis file
X-Frame-Options / frame-ancestors Mencegah situs ditampilkan di dalam frame situs lain (clickjacking)
Referrer-Policy Membatasi informasi alamat yang dikirim ke situs lain
Content-Security-Policy Membatasi sumber skrip yang boleh dijalankan (perlu diuji hati-hati)

Header bisa dipasang lewat konfigurasi server, plugin, atau Cloudflare. Cek hasilnya di securityheaders.com.

Bagian 4: Lapisan Pelindung Tambahan

22. Gunakan Web Application Firewall (WAF)

WAF menyaring lalu lintas berbahaya sebelum sampai ke situs. Ada dua jenis:

  • WAF berbasis DNS/cloud seperti Cloudflare. Menyaring di luar server, sekaligus mempercepat situs dan menahan serangan DDoS. Paket gratisnya sudah sangat membantu, misalnya untuk membuat aturan yang memblokir xmlrpc.php atau memberi tantangan (challenge) ke halaman login.
  • WAF berbasis plugin seperti Wordfence. Berjalan di dalam WordPress, lebih paham konteks situs, tetapi memakai sumber daya server.

Patchstack juga menawarkan perlindungan “virtual patching”, yaitu memblokir serangan terhadap celah plugin yang belum punya perbaikan resmi.

23. Plugin Keamanan: Pilih Satu Saja

Plugin Kekuatan
Wordfence Firewall, pemindai malware, 2FA, batas login
Solid Security (dulu iThemes Security) Pengaturan pengerasan (hardening), 2FA, batas login
Sucuri Security Pemantauan integritas file dan audit aktivitas
Patchstack Pemantauan kerentanan plugin dan virtual patching

Jangan memasang beberapa plugin keamanan sekaligus. Fiturnya saling tumpang tindih, bisa bentrok, dan memperlambat situs.

24. Pantau Aktivitas dan Perubahan File

  • Pasang plugin log aktivitas (misalnya WP Activity Log atau Simple History) untuk mencatat siapa login, mengubah apa, dan kapan.
  • Aktifkan pemantauan perubahan file agar Anda diberi tahu jika ada file inti atau plugin yang berubah tanpa pembaruan resmi.
  • Pasang pemantau uptime (misalnya UptimeRobot) agar segera tahu jika situs mati atau berubah.
  • Daftarkan situs di Google Search Console. Google akan memberi tahu jika menemukan malware atau konten spam di situs Anda.

25. Hati-Hati dengan Fitur AI dan Integrasi Baru

WordPress versi terbaru mulai membuka jalan bagi integrasi AI, termasuk plugin yang menghubungkan situs dengan agen AI. Fitur semacam ini memberi pihak luar kemampuan membaca atau bahkan mengubah konten. Aktifkan hanya jika benar-benar dipakai, batasi izinnya, dan perlakukan kunci API seperti password.

Bagian 5: Checklist Rutin

Frekuensi Tugas
Harian (otomatis) Backup database dan file, pemantauan uptime
Mingguan Cek dan pasang pembaruan, tinjau notifikasi plugin keamanan
Bulanan Tinjau daftar pengguna dan peran, hapus plugin tak terpakai, cek log aktivitas
Tiga bulanan Uji pemulihan backup, ganti password penting, cek versi PHP
Tahunan Audit keamanan menyeluruh, tinjau ulang semua plugin dan hosting

Bagian 6: Jika Situs Sudah Telanjur Diretas

Tanda-tanda situs diretas: muncul halaman atau link judi online, pengunjung dialihkan ke situs lain, ada akun admin asing, Google menampilkan peringatan “situs ini mungkin diretas”, atau hosting menangguhkan akun karena spam.

Langkah penanganan:

  1. Jangan panik, dan jangan langsung menghapus semuanya. Buat salinan kondisi situs saat ini untuk dianalisis.
  2. Aktifkan mode pemeliharaan atau batasi akses sementara jika situs menyebarkan malware ke pengunjung.
  3. Ganti semua password: WordPress, hosting, database, FTP/SFTP, dan email. Ganti juga salts di wp-config.php.
  4. Hapus akun asing dan Application Passwords yang tidak dikenal.
  5. Pindai malware dengan Wordfence atau layanan pemindai lain. Periksa folder uploads dari file PHP, dan file yang baru berubah.
  6. Pasang ulang inti WordPress dan semua plugin/tema dari sumber resmi, jangan hanya menghapus file yang terlihat mencurigakan.
  7. Periksa database dari skrip atau link spam yang disisipkan di tulisan, opsi, atau widget.
  8. Atau pulihkan dari backup bersih sebelum tanggal peretasan, lalu segera perbarui semua komponen.
  9. Tutup celahnya. Cari tahu bagaimana peretas masuk (plugin tertentu, password bocor), karena tanpa itu situs akan diretas lagi.
  10. Minta peninjauan ulang di Google Search Console setelah situs bersih.

Pembersihan situs yang terinfeksi bisa rumit, karena backdoor sering disembunyikan di banyak tempat. Jika ragu, mintalah bantuan profesional agar tidak terulang.

Penutup

Keamanan WordPress bukan pekerjaan sekali jadi, melainkan kebiasaan. Tidak ada situs yang 100% kebal, tetapi situs yang rutin diperbarui, memakai password kuat dan 2FA, memiliki backup teruji, serta dilindungi firewall akan jauh lebih sulit diretas dibandingkan jutaan situs lain yang lengah. Peretas yang memakai bot otomatis biasanya mencari sasaran termudah. Pastikan situs Anda bukan salah satunya.

Jika Anda hanya punya waktu 30 menit hari ini, lakukan lima hal ini: perbarui semua komponen, hapus plugin tak terpakai, aktifkan 2FA, pastikan backup otomatis berjalan dan tersimpan di luar server, lalu batasi percobaan login.

Konsultasi WordPress
Situs Anda pernah diretas, terasa lambat, atau ingin diaudit keamanannya? Kami membantu audit keamanan, pembersihan malware, pemulihan situs, pengaturan backup otomatis, migrasi hosting, dan optimasi WordPress.
Chat via WhatsApp →

Sumber

Tinggalkan Komentar & Diskusi

Punya Pendapat atau Pertanyaan?

Tuliskan tanggapan Anda pada kolom di bawah ini (tidak perlu mendaftar akun, nama & email Anda aman).

This site uses Akismet to reduce spam. Learn how your comment data is processed.