Cara tercepat mengatasi 500 Internal Server Error di WordPress adalah dengan menonaktifkan semua plugin via FTP/File Manager, me-reset file .htaccess, dan meningkatkan PHP Memory Limit. Jika error masih terjadi, periksa log error server (error_log) untuk menemukan skrip spesifik yang menyebabkan crash.
Mengapa 500 Internal Server Error Terjadi di WordPress?
Error 500 bukan sebuah penyakit spesifik, melainkan respons generik server ketika ia gagal memproses permintaan tetapi tidak tahu penyebab pastinya.
Di ekosistem WordPress, ini biasanya berarti ada skrip PHP yang kehabisan memori, file konfigurasi server (.htaccess) yang korup, atau konflik fatal antar-plugin. Server pada dasarnya “menyerah” dan menampilkan layar putih atau teks error generik untuk melindungi sistem dari kerusakan lebih lanjut.
Memahami bahwa ini adalah wrapper error (pembungkus error) akan mengubah cara Anda melakukan troubleshooting. Anda tidak mencari “penyebab 500”, melainkan mencari “skrip mana yang membuat server berhenti bekerja”.
Diagnosis Awal Tanpa Merusak Data
Banyak tutorial menyarankan untuk langsung menonaktifkan plugin atau mengedit file inti. Ini adalah kesalahan fatal praktisi pemula yang bisa merusak struktur database atau pengaturan situs.
Langkah pertama yang wajib dilakukan oleh administrator sistem adalah membaca error_log. File ini adalah rekam jejak pasti mengapa server gagal.
- Akses hosting Anda melalui cPanel File Manager atau FTP/SFTP.
- Navigasi ke folder
public_html(atau folder root domain Anda). - Cari file bernama
error_logataudebug.log(jika WP_DEBUG diaktifkan). - Buka file tersebut dan gulir ke baris paling bawah.
Anda akan melihat pesan seperti PHP Fatal error: Allowed memory size of X bytes exhausted atau Parse error: syntax error, unexpected.... Baris terakhir ini akan memberi tahu Anda file dan nomor baris mana yang harus diperbaiki, menghemat waktu troubleshooting dari jam menjadi menit.
Bagaimana Cara Memperbaiki File .htaccess yang Korup?
File .htaccess mengatur aturan penulisan ulang URL (permalink) dan keamanan. Jika file ini terkorupsi akibat plugin yang salah menulis aturan atau transfer FTP yang terputus, server akan langsung menolak akses dan memicu error 500.
Ini adalah perbaikan paling aman karena tidak menyentuh database atau file plugin.
- Akses File Manager atau FTP, lalu buka folder root WordPress.
- Cari file
.htaccess. (Jika tidak terlihat, pastikan opsi “Show Hidden Files” diaktifkan di File Manager). - Ubah nama file menjadi
.htaccess_backup. - Coba muat ulang website Anda.
Jika website kembali normal, masalahnya ada di file tersebut. Jangan biarkan file lama. Masuk ke Dashboard WordPress, navigasi ke Settings > Permalinks, dan klik Save Changes tanpa mengubah apa pun. WordPress akan menghasilkan file .htaccess baru yang bersih dan terstandarisasi.
Mengisolasi Konflik Plugin vs Tema
Jika .htaccess bukan masalahnya, kemungkinan besar ada konflik kode. Namun, menonaktifkan plugin secara sembarangan via FTP dapat memutus hubungan data plugin dengan database (orphan records).
Gunakan metode isolasi bertingkat ini untuk menghindari kerusakan data:
Skenario A: Anda masih bisa mengakses Dashboard WordPress (wp-admin)
- Masuk ke Plugins > Installed Plugins.
- Pilih semua plugin, pilih Deactivate dari menu Bulk Actions.
- Cek frontend website. Jika normal, aktifkan plugin satu per satu hingga error 500 muncul kembali. Plugin terakhir yang diaktifkan adalah biang keroknya.
Skenario B: Anda terkunci total dari Dashboard (White Screen / Error 500 di semua halaman)
- Akses via FTP/File Manager ke folder
wp-content/. - Ubah nama folder
pluginsmenjadiplugins_old. Ini akan memaksa WordPress menonaktifkan semua plugin secara paksa. - Cek website. Jika normal, ubah kembali nama folder menjadi
plugins. - Masuk ke Dashboard WordPress. Semua plugin akan berstatus nonaktif. Aktifkan kembali satu per satu dari dashboard (bukan via FTP) untuk memastikan database sinkron.
Catatan Kritis: Jika error terjadi hanya di halaman tertentu (misal: halaman checkout WooCommerce), fokuskan isolasi pada plugin yang terkait dengan fungsi halaman tersebut, bukan menonaktifkan semuanya.
Kapan Harus Meningkatkan PHP Memory Limit?
Jika error_log Anda menampilkan pesan Allowed memory size exhausted, solusinya adalah menambah alokasi memori PHP. Namun, ada batasan logis yang sering diabaikan.
WordPress secara default membatasi memori di 40MB (frontend) dan 256MB (admin). Jika plugin Anda membutuhkan memori hingga 512MB atau lebih, plugin tersebut yang bermasalah (memiliki memory leak atau query loop yang buruk), bukan server Anda yang lemah.
Menambah memory limit hanyalah solusi sementara (band-aid). Jika Anda tetap ingin melakukannya:
- Buka file
wp-config.phpdi folder root via FTP/File Manager. - Tambahkan baris ini tepat sebelum tulisan
/* That's all, stop editing! */:
define( 'WP_MEMORY_LIMIT', '256M' ); - Simpan dan cek website.
Jika hosting Anda membatasi kenaikan ini, Anda harus mengubahnya via file php.ini atau .user.ini di folder root, atau menghubungi dukungan hosting untuk menaikkan PHP Memory Limit di level server.
Memperbaiki File Core dan Database
Jika semua langkah di atas gagal, kemungkinan file inti WordPress terkorupsi atau database mengalami kerusakan tabel (crashed tables).
Memperbaiki Database:
Akses phpMyAdmin dari panel hosting Anda. Pilih database WordPress, centang semua tabel, pilih Repair table dari menu dropdown. Ini aman dan tidak menghapus data.
Mengganti File Core WordPress:
- Unduh versi WordPress terbaru dari WordPress.org dan ekstrak di komputer lokal.
- Hapus folder
wp-contentdan filewp-config.phpdari hasil ekstrak (jangan menimpa data dan konfigurasi Anda). - Unggah sisa folder (
wp-admin,wp-includes) via FTP ke server Anda, timpa file yang ada. - Ini akan mengganti file mesin WordPress yang mungkin korup tanpa menyentuh konten Anda.
Pencegahan Agar Error 500 Tidak Terulang
| Tindakan Pencegahan | Frekuensi | Tujuan Teknis |
|---|---|---|
| Backup Otomatis Off-site | Harian / Pre-update | Memastikan rollback cepat jika update plugin merusak core. |
| Staging Environment | Sebelum update mayor | Menguji konflik plugin di lingkungan terisolasi sebelum ke production. |
| Monitoring Uptime & Log | Real-time | Mendeteksi lonjakan error 500 sebelum dilaporkan oleh pengunjung. |
| Audit Plugin Aktif | Bulanan | Menghapus plugin tidak terpakai untuk mengurangi attack surface dan beban memori. |
| Update PHP Version | Tahunan | Memastikan server menggunakan versi PHP yang didukung dan dioptimalkan (PHP 8.1+). |
FAQ
Apakah error 500 di WordPress berarti data saya hilang?
Tidak. Error 500 adalah masalah eksekusi server (PHP/Apache/Nginx), bukan masalah penyimpanan data. Database dan file media Anda tetap utuh di server. Anda hanya kehilangan akses sementara hingga skrip yang menyebabkan crash diperbaiki.
Mengapa error 500 hanya muncul di halaman admin (wp-admin) tapi frontend normal?
Ini hampir selalu disebabkan oleh plugin atau tema yang membebani memori saat memuat dashboard, atau file .htaccess yang memblokir akses ke direktori wp-admin. Coba nonaktifkan plugin keamanan atau plugin optimasi dashboard terlebih dahulu.
Apakah CDN (seperti Cloudflare) bisa menyebabkan error 500?
CDN tidak menyebabkan error 500 asli dari server asal (origin server). Jika Anda melihat error 500 yang berlogo Cloudflare, itu berarti Cloudflare gagal terhubung ke server hosting Anda karena server sedang down atau memblokir IP Cloudflare. Periksa firewall hosting Anda atau status server asal.





