Table of contents
Website WordPress yang terkena malware perlu segera dibersihkan agar infeksi tidak menyebar atau kembali aktif. Cara membersihkan WordPress dari malware dapat dilakukan dengan backup, scanning Imunify360, pemeriksaan manual, overwrite file core, hingga scan ulang.
Langkah 1: Lakukan Backup Website Terlebih Dahulu
Sebelum menghapus file yang dicurigai sebagai malware, buat backup website dan database terlebih dahulu. Langkah ini penting karena proses pembersihan melibatkan penghapusan file. Jika ada file penting yang ikut terhapus, kamu masih memiliki cadangan untuk memulihkannya.
Sebaiknya simpan backup di lokasi yang berbeda dari hosting. Jangan hanya menyimpan satu salinan backup di hosting yang sama karena ketika akun atau server mengalami masalah, backup tersebut berpotensi ikut terdampak.
Cara membuat full backup melalui cPanel
1. Login ke cPanel hosting WordPress kamu.
2. Cari dan buka menu Backup.

3. Pilih Download a Full Account Backup.

4. Klik Generate untuk membuat full backup.

Setelah proses selesai, file backup akan tersimpan di home directory pada File Manager.
Setelah backup berhasil dibuat, kamu bisa melanjutkan ke proses scanning tanpa terlalu khawatir kehilangan file penting.
Catatan: Jangan melewati tahap backup hanya karena website masih bisa dibuka. Malware bisa saja berada di file yang terlihat normal dan proses pembersihan dapat memengaruhi file tersebut.
Langkah 2: Scan WordPress dengan Imunify360
Setelah backup tersedia, lakukan scanning untuk mengetahui file mana saja yang terindikasi malware.
Jika hosting kamu menggunakan Imunify360, proses scanning dapat dilakukan melalui cPanel. Untuk hosting IDwebhost, Imunify360 sudah diatur dengan fitur auto scan, sehingga kamu dapat mengecek hasil deteksi yang tersedia.
Cara melakukan pengecekan malware di Imunify360
- Login ke cPanel.

- Buka menu tersebut, pada hosting di IDwebhost, Imunify sudah disetting auto scan.
- Setelah proses scanning selesai, kamu tinggal cek daftar file yang terdeteksi.

- Periksa kembali file yang ditandai sebelum menghapusnya.
- Jika file memang merupakan malware dan bukan false positive, gunakan opsi Delete atau tindakan pembersihan yang tersedia.
Jangan langsung menghapus seluruh file yang ditandai tanpa pemeriksaan. Beberapa file website bisa saja terdeteksi karena pola kode tertentu, sehingga perlu dipastikan terlebih dahulu apakah file tersebut memang berbahaya.
Jika setelah scanning masih ditemukan file mencurigakan, lanjutkan dengan pemeriksaan manual.
Langkah 3: Periksa dan Hapus File Malware Secara Manual
Scanning otomatis tidak selalu berarti seluruh infeksi sudah selesai. Malware dapat berada pada file yang belum terdeteksi atau menyebar ke lokasi lain dalam instalasi WordPress.
Karena itu, lakukan pemeriksaan manual menggunakan File Manager cPanel, FTP, atau SSH.
#1. Periksa file PHP yang mencurigakan
Buka direktori instalasi WordPress dan cari:
- File PHP yang muncul secara tiba-tiba.
- File dengan nama yang tidak dikenal.
- File yang berada di lokasi yang tidak semestinya.
- File berisi script yang tidak normal.
- File asing dengan ukuran 0 byte.

Jika file tersebut memang tidak seharusnya ada dan sudah dipastikan sebagai bagian dari malware, kamu dapat menghapusnya.

File kosong atau berukuran 0 byte juga dapat diperiksa dan dihapus apabila merupakan sisa file yang telah dibersihkan oleh Imunify360.

#2. Ubah permission jika file tidak bisa dihapus
Kadang-kadang file malware tidak dapat dihapus karena permission-nya tidak mengizinkan perubahan.
Jika menemukan file dengan permission seperti 555 atau 444, lakukan langkah berikut:
- Klik kanan file.
- Pilih Change Permissions.
- Ubah permission menjadi 644.
- Simpan perubahan.
- Coba hapus file tersebut kembali.

#3. Periksa folder yang biasanya tidak berisi script
Jangan hanya memeriksa direktori utama WordPress. Periksa juga folder seperti:
.well-known
cgi-bin

Jika terdapat file yang tidak normal atau tidak dikenal, periksa terlebih dahulu sebelum menghapusnya.
#4. Periksa file PHP di folder uploads
Folder berikut juga perlu diperhatikan:
/wp-content/uploads/

Folder uploads umumnya digunakan untuk menyimpan gambar dan media. Karena itu, keberadaan file PHP asing di dalamnya patut dicurigai.
Setelah membersihkan malware, kamu juga bisa mencegah file PHP dieksekusi dari folder tersebut.
Cara memblokir eksekusi PHP di folder uploads
- Buka folder:
/wp-content/uploads/
- Buat file baru bernama:
.htaccess
- Masukkan konfigurasi berikut untuk Apache modern:
<FilesMatch "\.(php|php[0-9]?|phtml|phar)$">
Require all denied
</FilesMatch>
Konfigurasi tersebut mencegah file dengan ekstensi PHP tertentu diakses melalui HTTP.
Misalnya, jika terdapat file seperti:
shell.php
backdoor.php
malware.phtml
image.php
cmd.php
file tersebut tidak dapat dieksekusi melalui HTTP.
Untuk server Apache lama, konfigurasi yang dapat digunakan adalah:
<FilesMatch "\.(php|php[0-9]?|phtml|phar)$">
Order Allow,Deny
Deny from all
</FilesMatch>
Untuk Apache modern, Require all denied lebih direkomendasikan.
Jika folder uploads memang hanya digunakan untuk gambar, dokumen, dan media, pembatasan dapat dibuat lebih ketat:
<FilesMatch "\.(php|php[0-9]?|phtml|phar|cgi|pl|py|sh|cgi-bin)$">
Require all denied
</FilesMatch>
Namun, jangan menerapkan konfigurasi terlalu agresif jika website memang membutuhkan jenis file tertentu.
#5. Periksa file konfigurasi WordPress
Setelah memeriksa file umum, periksa juga:
.htaccess
wp-config.php
Perhatikan apakah terdapat kode tambahan atau perubahan yang tidak kamu kenali.
Selain file, pastikan juga tidak ada akun administrator WordPress yang dibuat tanpa izin.
Langkah 4: Timpa Ulang File Core WordPress
Jika malware telah memodifikasi banyak file core, membersihkannya satu per satu bisa menjadi tidak efektif. Dalam kondisi seperti ini, file core WordPress dapat diganti menggunakan paket WordPress resmi yang bersih.
Cara overwrite file core WordPress
- Download paket WordPress resmi sesuai versi yang digunakan.
- Ekstrak file WordPress tersebut.
- Pada instalasi website, pertahankan:
wp-content/
wp-config.php
.htaccess
- Hapus atau siapkan penggantian folder:
wp-admin/
wp-includes/
- Timpa file core WordPress pada direktori utama menggunakan file dari paket resmi.
- Pastikan file wp-config.php tetap dipertahankan.
Folder wp-content jangan ditimpa secara sembarangan karena di dalamnya terdapat theme, plugin, dan file upload website.
File wp-config.php juga perlu dipertahankan karena berisi konfigurasi database dan pengaturan penting lainnya.

Jika ingin memastikan file core benar-benar diganti, folder wp-admin, wp-includes, dan file core selain wp-config.php dapat dibersihkan terlebih dahulu. Setelah itu, ekstrak paket WordPress resmi dan pindahkan file serta foldernya ke direktori instalasi WordPress.

Langkah 5: Periksa Plugin dan Theme
Setelah file core dibersihkan, jangan langsung melakukan scan terakhir. Malware juga bisa berasal dari plugin atau theme yang memiliki celah keamanan.
#1. Periksa folder theme
Buka:
/wp-content/themes/
Kemudian periksa apakah terdapat file atau folder yang tidak dikenali.

Jika ada theme yang sudah tidak digunakan, hapus. Pastikan theme yang aktif juga menggunakan versi terbaru.
Jika theme sudah tidak lagi dikembangkan atau tidak mendapatkan pembaruan keamanan, pertimbangkan untuk menggantinya dengan alternatif yang masih mendapatkan update.

#2. Periksa folder plugin
Selanjutnya buka:
/wp-content/plugins/
Periksa apakah terdapat plugin asing atau folder yang tidak seharusnya ada.

Hapus plugin yang tidak digunakan dan pastikan plugin yang masih dipakai sudah diperbarui.
Malware terkadang menggunakan nama file yang sama dan menyebar ke banyak folder. Kondisi seperti ini bisa membuat penghapusan manual menjadi cukup merepotkan.

#3. Jika file malware tersebar, gunakan SSH
Jika hosting menyediakan akses Terminal atau SSH, kamu dapat mencari dan menghapus file yang sudah dipastikan sebagai malware secara lebih cepat.
Misalnya, jika file yang akan dihapus bernama wp-signup.php, gunakan:
find . -type f -name wp-signup.php -exec rm -f {} \;

Untuk menghapus folder dengan nama tertentu, misalnya system, gunakan:
find . -type d -name system -exec rm -rf {} \;

Pastikan nama file atau folder tersebut sudah diverifikasi sebagai malware sebelum menjalankan perintah penghapusan. Perintah rm -rf akan menghapus folder beserta isinya dan tidak cocok digunakan untuk pemeriksaan secara sembarangan.
#4. Periksa akun FTP
Masuk ke pengaturan akun FTP dan pastikan tidak ada akun yang tidak kamu kenali.

Jika menemukan akun yang memang tidak dibuat atau tidak digunakan, hapus akun tersebut setelah memastikan tidak ada kebutuhan legitimate yang terkait.
#5. Periksa Cron Job
Malware juga dapat memanfaatkan Cron Job untuk menjalankan perintah tertentu secara otomatis.

Periksa daftar Cron Job pada cPanel. Jika ada task yang tidak kamu kenali, periksa terlebih dahulu perintahnya sebelum menghapus.
#6. Periksa pengguna WordPress
Terakhir, buka daftar pengguna WordPress.
Pastikan tidak ada akun administrator atau pengguna lain yang tidak kamu kenali. Jika terdapat akun yang memang tidak sah, segera hapus.
Langkah 6: Scan Ulang dan Amankan WordPress
Setelah seluruh proses pembersihan selesai, lakukan scanning sekali lagi. Tahap ini penting untuk memastikan tidak ada malware yang masih tertinggal.
Checklist setelah membersihkan malware
- Jalankan kembali Imunify360 Malware Scanner.
- Pastikan tidak ada malware yang kembali terdeteksi.
- Buka halaman utama website.
- Coba login ke WordPress.
- Periksa form dan fungsi penting website.
- Pastikan tidak ada redirect ke website asing.
- Ganti password cPanel.
- Ganti password database.
- Ganti password seluruh akun administrator WordPress.
- Aktifkan Two Factor Authentication (2FA).
Untuk keamanan cPanel, kamu bisa mengikuti panduan Cara Mengaktifkan Two Factor Authentication cPanel.
Untuk mengamankan akun Member Area, gunakan juga panduan Cara Mengaktifkan 2FA di Halaman Member Area IDwebhost.
Mengganti seluruh kredensial setelah proses pembersihan penting dilakukan karena password lama mungkin sudah diketahui pihak yang memperoleh akses ke website.
Jika setelah seluruh langkah tersebut malware masih muncul kembali, sebaiknya jangan hanya menghapus file yang terdeteksi. Kondisi tersebut perlu ditelusuri karena masih mungkin terdapat file, akun, plugin, theme, atau mekanisme lain yang menjadi jalur masuk kembali.
Jika mengalami kendala saat membersihkan malware di hosting WordPress, kamu juga dapat meminta bantuan Tim Teknis IDwebhost.
Kesimpulan
Membersihkan WordPress dari malware membutuhkan lebih dari sekadar menghapus file yang terdeteksi. Supaya prosesnya lebih menyeluruh, lakukan backup → scan dengan Imunify360 → hapus file mencurigakan → overwrite file core → periksa plugin dan theme → cek akses serta Cron Job → scan ulang.
Setelah website bersih, jangan berhenti pada tahap penghapusan malware. Lakukan update WordPress, plugin, dan theme secara berkala serta gunakan hanya theme dan plugin dari penyedia terpercaya. Hindari theme atau plugin bajakan (nulled) karena dapat menjadi salah satu sumber masalah keamanan.
Untuk website yang digunakan dalam jangka panjang, lingkungan hosting yang mendukung kebutuhan WordPress juga membantu proses pemeliharaan menjadi lebih terarah. Hosting untuk WordPress dari IDwebhost dapat menjadi salah satu pilihan untuk kebutuhan tersebut, termasuk dukungan fitur keamanan pada layanan yang tersedia serta bantuan Tim Teknis ketika kamu menemukan kendala pada hosting.
Dengan begitu, fokusnya bukan hanya membersihkan website setelah terkena malware, tetapi juga mengurangi risiko masalah yang sama muncul kembali.