Home Ancaman & Malware Cloud Security Forensik Digital Internet of Things Karier & Sertifikasi Keamanan Jaringan Keamanan Web Linux & Server Pengujian Keamanan Perlindungan Data Privasi & Anonimitas Tools & Software Search
Home » Keamanan Web » Keamanan Website WordPress — 12 Tips Melindungi dari Seranga...

Keamanan Website WordPress — 12 Tips Melindungi dari Serangan Hacker

Ilustrasi keamanan website WordPress dengan perisai biru melindungi dashboard dari serangan hacker serta berbagai tips pengamanan untuk CMS WordPress

Keamanan Website WordPress — 12 Tips Melindungi dari Serangan Hacker

Tahun lalu saya dapet telepon panik dari seorang klien pemilik toko online herbal langka. “Bandi, coba buka website saya dong! Kok jadi situs judi online?!” Saya langsung buka domain klien, dan benar — setiap halaman redirect ke situs judi dengan domain .xyz yang nggak dikenal. Setelah saya investigasi, sumber masalahnya bikin saya mengelus dada: klien saya install plugin “Premium SEO Pack” versi nulled (bajakan) yang dia download dari forum internet random. Ternyata di dalam plugin bajakan itu ada backdoor tersembunyi — attacker bisa upload file apa saja ke server tanpa perlu login WordPress. Dan mereka upload web shell, inject malware redirect, dan mengubah .htaccess supaya semua pengunjung diarahkan ke situs judi mereka. Semua ini terjadi karena satu keputusan: download plugin dari sumber nggak terpercaya demi hemat beberapa dolar.

Dari pengalaman itu dan puluhan kasus WordPress hacked yang pernah saya tangani, saya belajar bahwa keamanan website WordPress bukan sekadar install plugin security lalu beres. Ini soal kebiasaan sehari-hari, awareness terhadap ancaman, dan langkah-langkah kecil yang konsisten diterapkan. Artikel ini adalah rangkuman 12 tips paling efektif yang saya selalu rekomendasikan ke klien — dari yang paling sederhana sampai yang butuh sedikit kerja teknis. Semua dirancang supaya bisa diikuti oleh pemilik website WordPress tanpa background IT.

Disclaimer: Semua tips di sini bertujuan untuk MELINDUNGI website kamu sendiri dari ancaman. Jangan gunakan informasi ini untuk aktivitas yang merugikan pihak lain. Keamanan adalah tentang membangun pertahanan, bukan menyerang.

Kenapa WordPress Jadi Target Favorit Hacker?

Sebelum masuk ke tips, kamu perlu paham dulu kenapa WordPress spesifik jadi sasaran empuk. Ini bukan karena WordPress nggak aman — tapi karena popularity-nya yang luar biasa:

  1. Market share raksasa: WordPress menguasai sekitar 43% dari seluruh website di internet. Dari blog kecil sampai situs berita besar. Dengan jumlah sebesar itu, hacker tinggal cari satu vulnerability umum dan bisa kena ribuan target sekaligus dengan bot otomatis.
  2. Ekosistem plugin yang terbuka: Ada 60.000+ plugin gratis di repository resmi WordPress, plus ribuan plugin premium. Kualitas keamanannya bervariasi drastis — dari yang diaudit ketat oleh tim keamanan sampai yang dibuat oleh developer pemula tanpa pemahaman security sama sekali.
  3. Banyak yang nggak di-maintain: Website yang dibuat sekali terus ditinggal. Plugin dan theme kadaluarsa bertahun-tahun. Update keamanan kritis nggak pernah di-install. Bot scanner langsung bisa mengenali versi yang vulnerable.
  4. Otomatisasi serangan: Bot scanner hacker jalan 24/7 mencari WordPress version, plugin version, dan melakukan user enumeration. Begitu nemu yang vulnerable, exploit langsung dijalankan otomatis — nggak perlu campur tangan manusia.

1. Selalu Update WordPress Core, Plugin, dan Theme

Ini tips paling dasar tapi paling sering diabaikan. Setiap rilis update WordPress — terutama minor release dengan label “Security Update” atau “Security and Maintenance Release” — langsung install. Jangan tunda sehari pun.

Kenapa? Karena hacker biasanya reverse-engineer security patch untuk menemukan vulnerability yang ditambal, lalu bikin exploit dan menyebarkan ke botnet dalam hitungan jam. Timeline-nya: patch dirilis → hacker analisis dalam 2-6 jam → exploit published → bot scanner mulai nyerang website yang belum update. Makin lama kamu nunda, makin besar risikonya.

Cara praktis:

  • Aktifkan auto-update untuk plugin dan theme di Dashboard → Plugins → klik “Enable auto-updates” untuk setiap plugin.
  • Atau install plugin Easy Updates Manager untuk kontrol auto-update yang lebih detail — bisa pilih plugin mana yang auto-update, mana yang manual.
  • Cek dashboard minimal seminggu sekali. Kalau ada badge angka di menu Updates, langsung klik dan install. Jangan di-snooze.

2. Gunakan Password Kuat dan Two-Factor Authentication

Ini mungkin terdengar klise, tapi dari semua website WordPress yang pernah saya tangani pasca-hack, sekitar 30% berawal dari password lemah atau credential reuse. Admin dengan password “admin”, “12345678”, “password123”, atau nama website itu sendiri — hacker cuma butuh hitungan detik sampai menit untuk brute force.

Standar Password yang Kuat

  • Minimal 16 karakter random, bukan kata-kata yang bermakna.
  • Kombinasi huruf besar, huruf kecil, angka, dan simbol.
  • Jangan pakai kata yang berhubungan dengan brand, nama pribadi, atau tanggal lahir. Terlalu gampang ditebak.
  • Jangan pakai password yang sama di tempat lain. Kalau database layanan lain bocor, attacker akan coba password yang sama di websitemu.
  • Gunakan password manager seperti Bitwarden (gratis, open-source) untuk generate dan menyimpan password random yang kamu sendiri nggak perlu ingat.

Setup 2FA dengan Wordfence

  • Install Wordfence (gratis)
  • Buka Wordfence → Login Security
  • Scan QR code dengan Google Authenticator atau Authy di HP
  • Simpan recovery codes di tempat yang aman (cetak dan simpan di brankas, atau simpan di password manager)

Dengan 2FA, meskipun password bocor, attacker tetap nggak bisa login tanpa kode dari HP-mu. Ini lapisan keamanan paling powerful yang bisa kamu tambahkan dalam 5 menit.

3. Jangan Pakai Username “admin”

Username default WordPress installer dulu selalu “admin”. Meskipun sekarang installer meminta username custom, masih banyak banget website lama yang pakai “admin” — atau user yang sengaja pilih “admin” karena gampang diingat. Ini jadi target pertama brute force attack karena attacker tahu 100% ada user dengan username ini.

Cara memperbaiki:

  • Buat user admin baru dengan username unik (kombinasi nama dan angka random, bukan pattern seperti namatoko_admin).
  • Beri role Administrator ke user baru.
  • Login sebagai user baru, lalu hapus user lama dengan username “admin”.
  • Pastikan semua post dibuat oleh user lama di-assign ke user baru sebelum dihapus.

4. Batasi Percobaan Login (Limit Login Attempts)

Brute force attack bekerja dengan mencoba ribuan kombinasi username dan password dalam waktu singkat. Kalau websitemu mengizinkan percobaan login unlimited tanpa konsekuensi, hacker bisa terus mencoba sampai berhasil.

Solusi:

  • Wordfence otomatis limit login attempts. Default: 20 percobaan gagal dari IP yang sama dalam 4 jam = IP diblokir. Bisa dikustom di Wordfence → All Options → Rate Limiting. Saya rekomendasikan 5-10 percobaan untuk keamanan lebih ketat.
  • Limit Login Attempts Reloaded — alternatif plugin yang lebih ringan khusus untuk fitur rate limiting login.
  • Kedua plugin di atas memblokir berdasarkan IP, mencatat log, dan bisa kirim notifikasi email ke admin.

Jangan lupa whitelist IP-mu sendiri (kantor, rumah) biar nggak ke-lockout kalau kamu sendiri lupa password dan mencoba berulang kali.

5. Nonaktifkan XML-RPC Kalau Tidak Dibutuhkan

XML-RPC adalah API WordPress yang memungkinkan koneksi remote ke WordPress. Berguna kalau kamu pakai aplikasi mobile WordPress, Jetpack, atau tool external yang perlu publish konten. Tapi XML-RPC juga jadi vektor serangan favorit karena bisa digunakan untuk:

  • Brute force amplification: Satu request XML-RPC bisa mencoba ratusan password sekaligus lewat method system.multicall.
  • Pingback DDoS: Fitur pingback bisa disalahgunakan untuk refleksi DDoS.

Cara menonaktifkan XML-RPC:

  • Pakai plugin “Disable XML-RPC” — instal, aktifkan, beres. Satu klik.
  • Atau via .htaccess:
# Block akses ke xmlrpc.php
<Files xmlrpc.php>
order deny,allow
deny from all
</Files>
  • Atau via functions.php theme:
add_filter('xmlrpc_enabled', '__return_false');

Pengecualian: Kalau kamu pakai Jetpack (terutama fitur Stats atau Related Posts) atau aplikasi WordPress mobile, XML-RPC diperlukan — jangan dinonaktifkan. Tapi kalau nggak pakai layanan ini, matikan.

6. Pasang Plugin Keamanan yang Terpercaya

Ini lapisan pertahanan paling praktis untuk non-developer. Plugin keamanan yang bagus menangani firewall, malware scanning, login security, dan monitoring file integrity — semuanya dari dashboard WordPress.

Rekomendasi Plugins Keamanan

Wordfence (gratis + premium):

  • Web Application Firewall (WAF) di level aplikasi dengan Threat Defense Feed
  • Malware scanner komprehensif dengan signature matching
  • Login security + 2FA + CAPTCHA + rate limiting
  • Notifikasi real-time via email untuk aktivitas mencurigakan
  • Versi gratis sudah sangat powerful — bahkan untuk website bisnis

iThemes Security (gratis + pro):

  • 30+ fitur keamanan terintegrasi
  • Security checklist dan score untuk bantu prioritas perbaikan
  • Interface sederhana, cocok untuk pemula
  • Fitur unggulan: database backup, file change detection

Sucuri (berbayar, dengan CDN):

  • Firewall di level DNS (sebelum traffic sampai server)
  • Tim profesional untuk malware removal
  • DDoS protection
  • Cocok untuk website bisnis yang nggak bisa toleransi downtime

All In One WP Security (gratis):

  • Sangat ringan — cocok untuk shared hosting dengan resource terbatas
  • Fitur komplit: firewall, login security, file protection, database security
  • Security meter gauge yang menunjukkan score keamanan website secara visual

Aturan Penting

Pilih SATU plugin security saja — jangan install banyak plugin security sekaligus. Bisa konflik dan bikin website lambat. Masing-masing plugin di atas sudah komprehensif sendiri.

7. Atur File Permission dengan Benar

File permission yang salah bisa membuat wp-config.php — file paling sensitif di WordPress yang berisi database credentials, authentication keys, dan salts — bisa dibaca oleh siapa pun lewat web. Atau lebih parah, attacker bisa menulis file baru di direktori WordPress.

Permission yang Direkomendasikan

  • Semua folder: 755 (rwxr-xr-x) — owner read/write/execute, group dan world read/execute
  • Semua file: 644 (rw-r–r–) — owner read/write, group dan world read
  • wp-config.php: 600 (rw-------) — HANYA owner yang bisa baca dan tulis. Ini file paling sensitif.
  • .htaccess: 644 atau 444 — pastikan nggak writable oleh web server

Cara Cek dan Atur Permission

Via cPanel File Manager:

  • Klik kanan file/folder → Change Permissions → masukkan angka permission

Via SSH:

# Set semua folder ke 755
find /path/ke/wordpress -type d -exec chmod 755 {} \;

# Set semua file ke 644
find /path/ke/wordpress -type f -exec chmod 644 {} \;

# wp-config.php khusus, paling ketat
chmod 600 /path/ke/wordpress/wp-config.php

8. Ubah Prefix Tabel Database

Default WordPress menggunakan prefix wp_ untuk semua tabel database (wp_posts, wp_users, wp_options, dll.). Karena ini sudah diketahui semua orang, attacker yang berhasil melakukan SQL injection langsung bisa menebak nama tabel tanpa perlu enumerasi.

Mengubah prefix jadi sesuatu yang random mempersulit serangan otomatis yang bergantung pada nama tabel default.

Cara mengubah prefix:

  • Pakai plugin Change Table Prefix — otomatis rename semua tabel dan update referensi
  • Atau fitur bawaan di iThemes Security dan All In One WP Security
  • PENTING: Backup database dulu sebelum mengubah prefix. 100% wajib. Kalau proses gagal di tengah jalan, database bisa corrupt dan website down.

9. Lakukan Backup Rutin — Ini Asuransi Terbaik

Sekali lagi dan nggak bosan saya ulangi: nggak ada website yang 100% aman. Bahkan dengan semua tips di atas, selalu ada kemungkinan breach — entah dari zero-day vulnerability, human error, atau social engineering. Backup adalah safety net yang memastikan kamu bisa restore website dalam hitungan jam, bukan harus rebuild dari nol.

Strategi Backup Otomatis

  • UpdraftPlus (gratis): Plugin paling populer untuk backup WordPress. Backup database + file ke Google Drive, Dropbox, OneDrive, atau S3. Bisa schedule harian/mingguan dan retain multiple backup copies.
  • BlogVault (berbayar): Incremental backup + one-click restore + staging environment. Cocok untuk WooCommerce yang transaksinya real-time.
  • Jetpack Backup (berbayar): Real-time backup untuk situs WooCommerce dan high-traffic.
  • Hosting backup: Banyak hosting menyediakan backup harian sebagai fitur bawaan (Hostinger, Niagahoster). Tapi tetap punya backup eksternal — jangan cuma andalkan backup hosting.

Aturan Penting Backup

  • Simpan backup di LOKASI BERBEDA dari server website. Kalau server kena ransomware atau dihapus, backup di server yang sama ikut hilang.
  • Tes restore backup secara berkala — minimal sebulan sekali ke staging atau lokal. Backup yang nggak bisa di-restore itu percuma.
  • Punya minimal 3 generasi backup (hari ini, kemarin, minggu lalu) dengan sistem rotasi.

10. Pilih Hosting yang Aman dan Terpercaya

Keamanan website WordPress juga sangat bergantung pada hosting yang kamu pakai. Hosting murah yang overselling servernya biasanya kompensasi di sisi keamanan — tim support terbatas, server nggak di-patch rutin, nggak ada firewall server-side.

Yang Harus Diperhatikan Saat Pilih Hosting

  • Auto-update WordPress dan plugin untuk minor security release — tanpa nunggu kamu login
  • Firewall di level server (misalnya ModSecurity + OWASP CRS) — melindungi semua website di server
  • Malware scanning reguler di server — deteksi dini sebelum malware menyebar
  • Backup harian otomatis — meskipun kamu tetap harus punya backup sendiri
  • Isolasi antar akun hosting di server yang sama — satu website kena hack, tetangga nggak ikut kena
  • Support 24/7 yang beneran responsif, bukan cuma bot auto-reply

Rekomendasi Umum

  • Managed WordPress Hosting (Hostinger WordPress, Niagahoster WordPress) untuk pemula — mereka handle update, backup, caching, dan optimasi.
  • VPS unmanaged (Vultr, DigitalOcean) untuk yang lebih teknis — kontrol penuh tapi tanggung jawab keamanan juga penuh.
  • Hindari hosting gratisan atau unlimited storage dengan harga sangat murah — keamanan hampir pasti diabaikan.

11. Nonaktifkan File Editing di Dashboard WordPress

WordPress punya built-in editor untuk theme dan plugin yang bisa diakses dari dashboard (Appearance → Theme Editor, Plugins → Plugin Editor). Fitur ini berguna untuk quick edit, tapi sangat berbahaya kalau ada yang berhasil login ke dashboard — attacker bisa langsung edit file .php, menyisipkan backdoor, dan mendapatkan akses penuh ke server tanpa perlu FTP atau cPanel.

Cara menonaktifkan:

Tambahkan satu baris ini di wp-config.php:

define('DISALLOW_FILE_EDIT', true);

Setelah ini, menu Theme Editor dan Plugin Editor akan hilang dari dashboard. Kalau kamu perlu edit file, lakukan dengan cara yang lebih aman: lewat FTP/SFTP atau cPanel File Manager — ini mengharuskan attacker punya akses ke level yang lebih tinggi, bukan cuma dashboard WordPress.

12. Sembunyikan WP-Admin URL

Default login WordPress selalu di /wp-admin atau /wp-login.php. Karena semua orang — termasuk bot scanner hacker — tahu ini, halaman login jadi target langsung brute force setiap detik. Mengubah URL login ke path yang unik bisa mengurangi 90% serangan otomatis.

Cara menyembunyikan login URL:

  • WPS Hide Login — plugin ringan khusus untuk mengubah /wp-admin jadi path custom, misalnya /portal-rahasia. Instal, set custom URL, simpan. Ingat URL barunya.
  • Fitur serupa ada di iThemes Security (Hide Login Area) dan All In One WP Security (Rename Login Page).

Penting: Ini bukan keamanan tingkat tinggi (prinsip security by obscurity — keamanan lewat kerahasiaan dianggap lemah secara fundamental). Attacker yang menargetkan website-mu secara spesifik masih bisa menemukan URL login lewat teknik seperti enumerasi author archive atau XML-RPC. Tapi untuk menghilangkan noise brute force dari bot scanner otomatis (yang merupakan mayoritas serangan), ini sangat efektif. Tetap kombinasikan dengan password kuat, 2FA, dan limit login attempts.

Checklist Cepat: 12 Tips Keamanan WordPress

Biar kamu gampang ingat dan bisa langsung action, ini checklist ringkasnya:

  • [ ] Update rutin core, plugin, theme — aktifkan auto-update minimal untuk minor release
  • [ ] Password admin kuat (16+ karakter random) + 2FA wajib pakai Wordfence
  • [ ] Ganti username admin dari “admin” ke yang unik dan sulit ditebak
  • [ ] Limit login attempts dengan Wordfence — maksimal 5-10 percobaan per IP
  • [ ] Nonaktifkan XML-RPC kalau nggak dipakai untuk Jetpack atau mobile app
  • [ ] Install plugin keamanan (Wordfence atau iThemes Security) — pilih SATU
  • [ ] Atur file permission — folder 755, file 644, wp-config 600
  • [ ] Ubah prefix database dari wp_ ke prefix custom — backup dulu!
  • [ ] Backup rutin ke cloud (Google Drive/Dropbox) dengan UpdraftPlus
  • [ ] Pilih hosting aman yang support managed WordPress dengan keamanan server-side
  • [ ] Disable file editor di wp-config.php dengan DISALLOW_FILE_EDIT
  • [ ] Sembunyikan wp-admin URL dengan WPS Hide Login

Penutup

Keamanan website WordPress itu bukan proyek sekali jalan yang bisa diselesaikan dalam satu sore. Ini kebiasaan yang harus dipelihara seumur website. Dan kabar baiknya: kamu nggak perlu jadi developer atau sysadmin handal untuk mengamankan WordPress. Sebagian besar tips di atas bisa dilakukan sendiri dalam hitungan menit — bahkan oleh pemilik toko online yang awam teknologi.

Mulai dari tiga langkah paling fundamental: update rutin, password kuat + 2FA, dan backup otomatis. Tiga hal ini aja udah menghilangkan mayoritas risiko yang paling sering saya temukan di website WordPress yang kena hack. Kalau udah nyaman, lanjutkan ke tips berikutnya satu per satu sesuai prioritas.

Ingat cerita toko online herbal tadi? Satu plugin nulled hampir menghancurkan bisnisnya yang sudah dibangun bertahun-tahun. Tapi setelah kita terapkan semua tips di atas, websitenya udah bertahan tanpa insiden selama lebih dari setahun. Kuncinya bukan pada teknologi canggih yang mahal — tapi pada konsistensi dan awareness bahwa keamanan adalah tanggung jawab pemilik website setiap hari, bukan cuma hosting atau developer yang mungkin cuma kamu kontak setahun sekali.

Security Researcher at IT Security
Banditz Cyber adalah security researcher di IT Security yang berfokus pada keamanan web, analisis kerentanan, dan edukasi keamanan siber. Melalui tulisannya, ia membagikan panduan praktis, riset teknis, dan wawasan keamanan digital dengan pendekatan yang mudah dipahami.
View all posts →