Situs Anda tiba-tiba putih total. Pengunjung melihat "Internal Server Error" atau "Error 500". Paling menyebalkan: Anda tidak tahu apa yang salah.
Error 500 adalah pesan server yang paling kabur di WordPress. Bisa karena plugin, theme, limit PHP, atau konfigurasi hosting yang berantakan. Kabar baiknya? Mayoritas kasus bisa diperbaiki dalam 15 menit tanpa perlu hubungi support hosting.
Artikeli ini akan menunjukkan penyebab sebenarnya dan langkah eksak untuk mengatasi error 500 WordPress, dari yang paling sering terjadi hingga yang jarang.
Mengapa Error 500 Terjadi di WordPress?
Error 500 adalah cara server mengatakan "Ada sesuatu yang sangat salah, tapi aku tidak bisa memberi tahu detailnya." Itu karena WordPress tidak bisa mengeksekusi kode PHP dengan baik.
Penyebab paling umum:
- Plugin atau theme yang bermasalah — Ini penyebab #1. Sebuah plugin mengandung syntax error atau konflik dengan versi PHP Anda.
- Limit memory PHP terlalu rendah — Default 40 MB sering tidak cukup untuk WordPress modern.
- File .htaccess rusak — Aturan rewrite yang salah bisa membuat server bingung.
- Versi PHP tidak kompatibel — Plugin lama tidak support PHP 8.0+.
- Timeout script — Plugin atau query database terlalu lambat.
Sekarang kita perbaiki satu per satu.
Langkah 1: Aktifkan Debug Mode WordPress
Sebelum coba apapun, Anda perlu lihat error message sebenarnya. WordPress menyembunyikannya secara default untuk keamanan.
Buka file wp-config.php via FTP atau file manager hosting Anda. Cari baris ini:
define('WP_DEBUG', false);
Ganti menjadi:
define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);
Simpan file. Sekarang error akan tercatat di /wp-content/debug.log bukannya ditampilkan di situs.
Akses file tersebut via FTP atau file manager. Baca baris terakhir — itu adalah error sebenarnya. Biasanya akan menyebutkan nama plugin atau file yang bermasalah.
Peringatan: Jangan aktifkan WP_DEBUG_DISPLAY di situs live. Error akan terlihat oleh pengunjung dan membuka celah keamanan.
Langkah 2: Nonaktifkan Semua Plugin
Jika debug log tidak membantu (atau Anda tidak bisa akses), coba nonaktifkan semua plugin. Ini cara tercepat untuk isolasi masalah.
Via FTP atau file manager:
- Buka folder
/wp-content/ - Rename folder
pluginsmenjadiplugins-old - Akses situs Anda. Apakah error hilang?
Jika error hilang, masalahnya di plugin. Rename folder kembali menjadi plugins, lalu:
- Buat folder baru bernama
plugins-test - Pindahkan satu plugin ke
plugins-test - Rename
pluginsmenjadiplugins-off - Rename
plugins-testmenjadiplugins - Akses situs. Error kembali?
Jika ya, plugin itu bermasalah. Hapus atau update ke versi terbaru. Lanjutkan dengan plugin berikutnya.
Jika error tetap ada setelah nonaktifkan plugin, masalahnya bukan plugin.
Langkah 3: Periksa Limit Memory PHP
WordPress modern membutuhkan minimal 64 MB, sebaiknya 128 MB atau lebih. Hosting murah sering set 40 MB.
Buka wp-config.php lagi. Cari baris:
define('WP_MEMORY_LIMIT', '40M');
Jika tidak ada, tambahkan baris baru sebelum /* That's all, stop editing! */:
define('WP_MEMORY_LIMIT', '256M');
Simpan. Akses situs. Apakah error hilang?
Jika masih error, kemungkinan hosting Anda membatasi memory secara keras di level server. Hubungi support hosting dan minta naikkan memory_limit di php.ini ke minimal 128 MB.
Langkah 4: Reset File .htaccess
File .htaccess mengatur URL rewrite WordPress. Jika rusak, semua permintaan bisa error.
Via FTP atau file manager:
- Cari file
.htaccessdi root situs (folder yang sama dengan wp-config.php) - Hapus file tersebut
- Login ke WordPress admin
- Buka Settings → Permalinks
- Klik tombol Save Changes (jangan ubah apapun)
WordPress akan membuat .htaccess baru yang benar.
Jika situs masih error dan Anda tidak bisa login ke admin, buat file .htaccess baru dengan konten:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.html$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Upload via FTP dan coba akses situs lagi. Jika Anda menggunakan Nginx sebagai reverse proxy di server sendiri, konfigurasi rewrite rules-nya berbeda — nginx reverse proxy setup Ubuntu 22.04 dari systemary.io menjelaskan detailnya.
Langkah 5: Periksa Versi PHP dan Kompatibilitas Theme
Jika situs baru saja update PHP (misalnya dari 7.4 ke 8.0), plugin atau theme lama mungkin tidak kompatibel.
Login ke panel hosting Anda (cPanel, Plesk, atau dashboard hosting). Cari bagian "PHP" atau "Environment". Lihat versi PHP yang aktif.
Kemudian:
- Hubungi developer theme atau plugin Anda — apakah support versi PHP itu?
- Jika tidak, downgrade PHP ke versi yang kompatibel, atau ganti theme/plugin.
- Jika ya, update theme/plugin ke versi terbaru.
Untuk melihat kompatibilitas di WordPress.org, buka halaman plugin, scroll ke bagian "Requires PHP" di sidebar kanan.
Langkah 6: Periksa Batas Timeout dan Proses
Jika error 500 hanya terjadi saat melakukan action tertentu (upload, import, atau custom query), masalahnya adalah timeout.
Buka wp-config.php dan tambahkan:
define('WP_MEMORY_LIMIT', '256M');
define('WP_MAX_MEMORY_LIMIT', '512M');
set_time_limit(300);
Nilai 300 berarti script diberi 5 menit untuk selesai sebelum timeout.
Jika masih timeout, hubungi hosting dan minta naikkan max_execution_time di php.ini ke minimal 300 detik.
Checklist Cepat Untuk Troubleshooting
Jika Anda terburu-buru, ikuti urutan ini:
- Nonaktifkan semua plugin (rename folder plugins) — 2 menit
- Naikkan memory limit di wp-config.php — 1 menit
- Reset .htaccess — 2 menit
- Aktifkan debug mode dan baca debug.log — 3 menit
- Hubungi hosting jika masih error — mereka bisa lihat error log server
Salah satu dari lima langkah itu akan menyelesaikan masalah di 99% kasus.
Kapan Harus Hubungi Support Hosting?
Hubungi support jika:
- Error tetap ada setelah nonaktifkan semua plugin dan naikkan memory
- Debug log menunjukkan error di file WordPress core (bukan plugin)
- Situs error di semua halaman, bahkan sebelum login
- Anda lihat pesan tentang "PHP fatal error" yang berhubungan dengan server config
Beri tahu support:
- Screenshot error atau copy paste dari debug.log
- Versi WordPress, PHP, dan plugin yang Anda gunakan
- Kapan error mulai terjadi (setelah update? install plugin baru?)
Support yang baik akan cek error log server mereka dan kasih solusi spesifik.
Takeaway: Jangan Panik, Isolasi Dulu
Error 500 terlihat menakutkan, tapi solusinya sistematis. Mulai dari yang paling mungkin (plugin rusak), lalu naik ke yang lebih teknis (config server).
Tiga langkah pertama — nonaktifkan plugin, naikkan memory, reset .htaccess — akan mengatasi 90% kasus dalam 10 menit. Jangan langsung panik dan bayar orang untuk perbaiki. Jika Anda sedang mempertimbangkan pindah ke infrastruktur yang lebih kompleks, baca dulu apakah Kubernetes worth it untuk tim Anda sebelum memutuskan.
Aktifkan debug mode sekarang, simpan di bookmark. Saat error 500 terjadi lagi, Anda sudah tahu apa yang harus dilakukan.