Mengatasi Error “Allowed Memory Size Exhausted” di WordPress: Penyebab, Cara Menambah Limit Memori, dan Batas Aman untuk Publisher

Mengatasi Error “Allowed Memory Size Exhausted” di WordPress: Penyebab, Cara Menambah Limit Memori, dan Batas Aman untuk Publisher

Pesan "Fatal error: Allowed memory size of 268435456 bytes exhausted" yang tiba-tiba muncul di layar adalah salah satu error WordPress yang paling membuat panik publisher. Satu menit situs masih normal, menit berikutnya halaman artikel tidak bisa dibuka, dashboard wp-admin menolak dimuat, dan pengunjung hanya melihat layar putih atau pesan error. Kabar baiknya, error ini hampir selalu bisa diperbaiki dalam waktu kurang dari lima belas menit, dan penyebabnya bisa dilacak dengan cukup jelas. Error ini berarti satu permintaan PHP di situs Anda meminta memori lebih besar daripada batas yang diizinkan server, sehingga PHP menghentikan proses itu di tengah jalan. Artikel ini menjelaskan apa arti pesan error tersebut, tiga lapisan limit memori yang bekerja di balik WordPress, cara menaikkan limit dengan aman lewat wp-config.php dan panel hosting, cara menemukan plugin atau proses yang sebenarnya menjadi penyebab, serta batas memori yang wajar untuk situs publisher agar iklan AdSense dan SEO tidak terganggu.

Daftar Isi
  1. Poin Kunci
  2. Daftar Isi
  3. Apa Itu Error "Allowed Memory Size Exhausted" di WordPress?
  4. Kapan error ini biasanya muncul?
  5. Tiga Lapisan Limit Memori yang Perlu Dipahami Publisher
  6. Penyebab Umum Error Ini pada Situs Publisher
  7. Plugin yang boros memori atau saling bertabrakan
  8. Gambar beresolusi sangat tinggi
  9. Impor, migrasi, dan pemrosesan massal
  10. Tema yang berat dan query yang tidak efisien
  11. Proses latar belakang yang menumpuk
  12. Kode yang bermasalah: loop tanpa akhir dan kebocoran memori
  13. Cara Mengecek Limit Memori Situs Anda Saat Ini
  14. Cara Menambah Limit Memori WordPress Langkah demi Langkah
  15. Metode 1: Edit wp-config.php (mulai dari sini)
  16. Metode 2: Naikkan limit PHP lewat panel hosting atau php.ini
  17. Metode 3: Atur lewat .htaccess (khusus server Apache)
  18. Metode 4: Minta bantuan dukungan hosting
  19. Verifikasi setelah perbaikan
  20. Berapa Limit Memori yang Aman untuk Situs Publisher?
  21. Menemukan Penyebab Sebenarnya: Jangan Hanya Menaikkan Limit
  22. Aktifkan log debug WordPress
  23. Gunakan Query Monitor untuk melihat pemakaian memori per permintaan
  24. Nonaktifkan plugin satu per satu
  25. Manfaatkan Recovery Mode WordPress
  26. Periksa gambar dan media yang baru diunggah
  27. Dampak Error Memori pada Iklan AdSense dan SEO
  28. Checklist Pencegahan agar Error Tidak Kembali
  29. Kesalahan Umum yang Harus Dihindari
  30. FAQ
  31. Apakah menaikkan WP_MEMORY_LIMIT akan mempercepat situs saya?
  32. Berapa nilai WP_MEMORY_LIMIT yang paling aman untuk situs berita?
  33. Mengapa error tetap muncul padahal saya sudah menambahkan define di wp-config.php?
  34. Apakah error ini berbahaya bagi keamanan situs?
  35. Apakah saya perlu plugin untuk memperbaiki error ini?
  36. Kapan saya harus menghubungi hosting, bukan memperbaiki sendiri?
  37. Kesimpulan
  38. Sumber resmi yang dirujuk

Poin Kunci

  • Error "Allowed memory size exhausted" berarti satu permintaan PHP kehabisan jatah memori, bukan berarti server Anda rusak atau situs Anda diretas.
  • WordPress secara bawaan hanya meminta 40 MB untuk situs tunggal dan 64 MB untuk multisite, dengan batas admin 256 MB; angka-angka ini adalah permintaan, bukan jaminan dari hosting.
  • Limit PHP memory_limit di server adalah plafon keras: nilai WP_MEMORY_LIMIT di wp-config.php tidak akan pernah bisa melampauinya.
  • Perbaikan tercepat adalah menambahkan define( 'WP_MEMORY_LIMIT', '256M' ); di wp-config.php, tepat di atas baris "That's all, stop editing!".
  • Menaikkan limit hanya mengobati gejala; penyebab sebenarnya — plugin boros, gambar terlalu besar, atau proses impor — tetap harus ditemukan agar error tidak kembali.
  • Untuk sebagian besar situs publisher, 256 MB adalah titik awal yang wajar; menaikkan sampai 512 MB atau 1 GB tanpa diagnosis hanya menyembunyikan masalah yang lebih besar.

Daftar Isi

  1. Apa Itu Error "Allowed Memory Size Exhausted" di WordPress?
  2. Tiga Lapisan Limit Memori yang Perlu Dipahami Publisher
  3. Penyebab Umum Error Ini pada Situs Publisher
  4. Cara Mengecek Limit Memori Situs Anda Saat Ini
  5. Cara Menambah Limit Memori WordPress Langkah demi Langkah
  6. Berapa Limit Memori yang Aman untuk Situs Publisher?
  7. Menemukan Penyebab Sebenarnya: Jangan Hanya Menaikkan Limit
  8. Dampak Error Memori pada Iklan AdSense dan SEO
  9. Checklist Pencegahan agar Error Tidak Kembali
  10. Kesalahan Umum yang Harus Dihindari
  11. FAQ
  12. Kesimpulan

Apa Itu Error "Allowed Memory Size Exhausted" di WordPress?

Setiap kali seseorang membuka halaman situs WordPress Anda, server menjalankan skrip PHP: memuat tema, menjalankan plugin yang aktif, mengambil artikel dari database, lalu merangkai semuanya menjadi halaman HTML. Setiap langkah itu memakai memori server (RAM) selama sepersekian detik. PHP membatasi berapa banyak memori yang boleh dipakai oleh satu permintaan semacam itu melalui pengaturan bernama memory_limit. Ketika kebutuhan memori sebuah permintaan melewati batas tersebut, PHP menghentikan eksekusi dan menampilkan pesan fatal error.

Pesan lengkapnya biasanya terlihat seperti ini:

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 20480 bytes) in /home/namasitus/public_html/wp-includes/media.php on line 123

Ada tiga informasi penting di dalam pesan itu. Pertama, angka byte di awal — 268435456 — adalah batas memori yang sedang berlaku ketika error terjadi. Kedua, frasa "tried to allocate" menunjukkan berapa memori tambahan yang sedang diminta ketika batas itu tercapai. Ketiga, jalur file dan nomor baris di akhir menunjukkan di mana tepatnya proses itu berhenti, dan ini sering kali menjadi petunjuk pertama tentang komponen mana yang bermasalah.

Angka byte dalam pesan error memang terlihat membingungkan, tetapi cara membacanya sederhana: bagi angka itu dengan 1.048.576 untuk mendapatkan nilai dalam megabyte. Tabel berikut memuat angka-angka yang paling sering muncul, supaya Anda bisa langsung tahu limit berapa yang sedang berlaku di situs Anda tanpa menghitung.

Angka byte dalam pesan errorNilai dalam megabyteArtinya
4194304040 MBBatas bawaan WordPress untuk situs tunggal (WP_MEMORY_LIMIT)
6710886464 MBBatas bawaan WordPress untuk multisite
134217728128 MBBatas bawaan PHP (memory_limit) pada banyak server
268435456256 MBBatas admin bawaan WordPress (WP_MAX_MEMORY_LIMIT)
536870912512 MBBatas yang sudah dinaikkan secara manual

Jika angka yang muncul adalah 41943040, berarti situs Anda masih berjalan dengan batas bawaan WordPress sebesar 40 MB — angka yang ditetapkan bertahun-tahun lalu, ketika WordPress jauh lebih sederhana, dan yang pada praktiknya hampir selalu terlalu kecil untuk situs modern dengan tema dan plugin aktif. Jika angka yang muncul adalah 268435456, berarti permintaan yang gagal itu sudah berjalan pada batas admin 256 MB, dan masalahnya hampir pasti bukan sekadar limit yang terlalu rendah, melainkan ada proses yang memakai memori secara tidak wajar.

Perlu dibedakan pula antara error ini dan error kehabisan memori di tingkat server. Error "Allowed memory size exhausted" selalu menyangkut satu permintaan PHP dan batas memory_limit miliknya. Ini berbeda dengan server yang kehabisan RAM secara keseluruhan, yang biasanya memunculkan error 500 atau 508 (resource limit is reached) dan memengaruhi semua situs di server yang sama. Dokumentasi resmi WordPress tentang error umum merangkum gejala ini dengan kalimat yang lugas: error kehabisan memori berarti instalasi WordPress Anda tidak memiliki cukup memori untuk menyelesaikan apa yang sedang diminta. Kalimat itu sekaligus menjadi petunjuk arah perbaikan: entah beri lebih banyak memori, atau kurangi apa yang diminta.

Kapan error ini biasanya muncul?

Error ini jarang muncul pada halaman artikel biasa yang ringan. Ia paling sering muncul pada momen-momen ketika WordPress diminta melakukan pekerjaan berat. Mengunggah dan memproses gambar beresolusi tinggi adalah pemicu klasik, karena WordPress membuat beberapa ukuran turunan (thumbnail, medium, large) dari setiap gambar yang diunggah, dan proses itu memakan memori besar dalam sekali jalan. Mengimpor konten dalam jumlah besar — misalnya migrasi ratusan artikel dari Blogspot atau dari situs lama — juga sering memicu error ini di tengah proses. Mengaktifkan atau memperbarui plugin dan tema, menjalankan backup, menjalankan cron WordPress yang tertunda, dan membuka halaman editor dengan page builder yang berat adalah pemicu-pemicu umum lainnya. Pada situs publisher, satu pemicu yang sering terlewat adalah penjadwalan: puluhan artikel terjadwal yang diterbitkan bersamaan, atau plugin optimasi yang memproses ulang seluruh media library dalam satu kali jalan, bisa menghabiskan memori secara tiba-tiba.

Tiga Lapisan Limit Memori yang Perlu Dipahami Publisher

Kebingungan paling umum seputar error ini adalah anggapan bahwa hanya ada satu angka limit memori. Pada kenyataannya ada tiga lapisan yang bekerja bersamaan, dan memahami ketiganya adalah kunci agar perbaikan Anda benar-benar berhasil, bukan sekadar mengubah angka yang salah.

Lapisan pertama adalah memory_limit milik PHP di server. Ini adalah pengaturan di file konfigurasi PHP (php.ini) atau di panel hosting, dan nilainya adalah plafon mutlak: tidak ada skrip PHP di server itu yang boleh memakai memori lebih besar dari angka ini dalam satu permintaan. Dokumentasi PHP mendefinisikan pengaturan ini sebagai jumlah maksimum memori yang boleh dipakai sebuah skrip per permintaan. Nilai bawaan PHP adalah 128 MB, tetapi penyedia hosting bisa menetapkan nilai yang lebih rendah pada paket shared hosting, atau lebih tinggi pada paket yang lebih besar. Lapisan inilah yang paling menentukan, karena dua lapisan lainnya tidak bisa melampauinya.

Lapisan kedua adalah WP_MEMORY_LIMIT, konstanta WordPress yang berlaku untuk permintaan biasa di bagian depan situs (front-end): membuka artikel, memuat arsip kategori, dan sebagian besar permintaan API. Menurut dokumentasi pengembang WordPress.org, nilai bawaan konstanta ini adalah 40 MB untuk instalasi situs tunggal dan 64 MB untuk multisite. Ketika WordPress berjalan, ia mencoba meminta PHP menaikkan limit ke angka ini melalui fungsi ini_set(). Namun permintaan itu hanya berhasil jika server mengizinkannya — seperti ditegaskan WordPress Hosting Handbook, apakah permintaan itu berhasil atau tidak sepenuhnya tergantung pada server. Jika hosting Anda menetapkan PHP memory_limit sebesar 128 MB, maka permintaan WordPress sebesar 40 MB tidak mengubah apa pun, karena limit yang berlaku sudah lebih tinggi. Sebaliknya, jika hosting menetapkan 32 MB, WordPress akan mencoba meminta 40 MB, dan berhasil atau tidaknya bergantung pada apakah host mengizinkan perubahan saat runtime.

Lapisan ketiga adalah WP_MAX_MEMORY_LIMIT, konstanta WordPress untuk pekerjaan di area admin dan operasi berat lainnya: memperbarui plugin, mengimpor konten, memproses gambar, dan menjalankan backup. Nilai bawaannya adalah 256 MB. WordPress menaikkan limit ke angka ini hanya pada konteks-konteks tertentu di wp-admin, misalnya ketika pengguna dengan hak mengelola opsi membuka halaman admin. Inilah sebabnya error dengan angka 268435456 byte (256 MB) biasanya muncul di dashboard atau saat impor, bukan di halaman depan situs.

Tabel berikut merangkum ketiga lapisan itu agar mudah dibandingkan.

PengaturanBerlaku untukNilai bawaanDiatur diSifat
PHP memory_limitSemua permintaan PHP di server128 MBphp.ini / panel hostingPlafon keras, tidak bisa dilampaui lapisan lain
WP_MEMORY_LIMITPermintaan front-end WordPress40 MB (situs tunggal), 64 MB (multisite)wp-config.phpPermintaan ke PHP, hanya naik bila server mengizinkan
WP_MAX_MEMORY_LIMITAdmin dan operasi berat256 MBwp-config.phpPermintaan ke PHP, hanya pada konteks admin tertentu

Hubungan ketiganya bisa diringkas dalam satu kalimat: WordPress hanya bisa meminta, PHP yang memutuskan. Jika Anda menetapkan WP_MEMORY_LIMIT sebesar 256 MB di wp-config.php sementara PHP memory_limit di server hanya 128 MB, maka permintaan itu akan diabaikan secara diam-diam dan limit efektif tetap 128 MB. Inilah alasan paling umum mengapa banyak publisher sudah mengedit wp-config.php tetapi error tetap muncul: mereka mengubah lapisan yang salah, atau hosting mereka mengunci lapisan yang benar.

Ada satu catatan teknis tambahan yang berguna untuk konteks modern. Sejak PHP 8.5, dikenal pengaturan max_memory_limit di tingkat startup PHP, tetapi pengaturan ini hanya relevan bagi administrator server dan tidak mengubah cara kerja publisher sehari-hari. Untuk kebutuhan artikel ini, tiga lapisan di atas sudah cukup untuk mendiagnosis dan memperbaiki hampir semua kasus.

Penyebab Umum Error Ini pada Situs Publisher

Menaikkan limit tanpa mengetahui penyebabnya sama seperti memperbesar tangki bahan bakar mobil yang bocor: perjalanan bisa dilanjutkan, tetapi masalahnya tetap ada dan akan kembali. Berikut penyebab-penyebab yang paling sering ditemui pada situs publisher, diurutkan dari yang paling umum.

Plugin yang boros memori atau saling bertabrakan

Plugin adalah penyebab nomor satu. Page builder visual, plugin optimasi gambar yang memproses ulang ribuan file sekaligus, plugin backup yang mengompresi seluruh situs dalam satu proses, dan plugin keamanan yang memindai setiap permintaan adalah pemakai memori besar. Masalah menjadi lebih buruk ketika dua plugin melakukan pekerjaan yang sama — misalnya dua plugin cache, dua plugin optimasi gambar, atau dua plugin SEO yang sama-sama memuat pustaka berat. Setiap plugin aktif menambah beban pada setiap permintaan, sehingga situs dengan 30 plugin aktif jauh lebih rentan terhadap error ini daripada situs dengan 10 plugin yang dipilih dengan hati-hati.

Gambar beresolusi sangat tinggi

Satu foto dari kamera modern bisa berukuran 6000 x 4000 piksel dan belasan megabyte. Ketika gambar seperti itu diunggah ke WordPress, server harus membukanya di memori, membuat beberapa ukuran turunan, lalu menyimpan hasilnya. Proses ini bisa membutuhkan memori beberapa kali lipat ukuran file aslinya. Publisher yang menerima foto dari kontributor tanpa kompresi terlebih dahulu adalah kelompok yang paling sering terkena pemicu ini. Mengompresi dan mengubah ukuran gambar sebelum mengunggah — atau memakai plugin optimasi yang memproses gambar satu per satu, bukan sekaligus — adalah pencegahan yang jauh lebih murah daripada menaikkan limit memori.

Impor, migrasi, dan pemrosesan massal

Mengimpor ratusan artikel, mengonversi kategori secara massal, menjalankan ulang pembuatan thumbnail untuk seluruh media library, atau mengekspor database besar adalah pekerjaan yang secara alamiah memakan memori besar karena dilakukan dalam satu permintaan PHP yang panjang. WordPress memang memiliki mekanisme untuk memecah pekerjaan besar menjadi beberapa langkah, tetapi tidak semua plugin impor menggunakannya dengan benar. Jika error muncul tepat saat Anda menjalankan salah satu pekerjaan ini, penyebabnya hampir pasti pekerjaan itu sendiri, bukan situs Anda secara umum.

Tema yang berat dan query yang tidak efisien

Tema dengan banyak fitur bawaan — slider, mega menu, pembuat halaman internal, dan puluhan opsi kustomisasi — memuat lebih banyak kode pada setiap permintaan. Ditambah dengan query database yang tidak efisien, misalnya widget yang menampilkan artikel acak dari ribuan artikel atau arsip yang memuat ratusan item sekaligus, beban memori bisa melonjak pada halaman-halaman tertentu saja. Ciri khas penyebab ini adalah error hanya muncul di halaman tertentu, sementara halaman lain baik-baik saja.

Proses latar belakang yang menumpuk

WP-Cron WordPress yang tertunda, antrean email yang menumpuk, dan tugas terjadwal dari plugin yang gagal lalu mencoba lagi berulang kali bisa menciptakan beban memori yang datang dan pergi tanpa pola yang jelas. Pada situs publisher yang menerbitkan banyak artikel terjadwal, puluhan tugas cron yang menumpuk dapat dieksekusi bersamaan ketika ada pengunjung yang memicu cron, dan lonjakan itulah yang memicu error. Inilah salah satu alasan mengapa error memori kadang muncul "tiba-tiba" padahal tidak ada yang mengubah situs.

Kode yang bermasalah: loop tanpa akhir dan kebocoran memori

Penyebab yang paling serius, meski paling jarang, adalah kode yang salah: sebuah fungsi yang memanggil dirinya sendiri tanpa henti, query yang memuat seluruh isi database ke memori, atau plugin yang menyimpan data besar di memori tanpa pernah melepaskannya. Ciri khasnya adalah error muncul bahkan setelah limit dinaikkan berkali-kali, dan angka byte dalam pesan error terus membesar mengikuti kenaikan limit. Jika Anda menaikkan limit dari 256 MB ke 512 MB lalu ke 1 GB dan error tetap muncul dengan angka yang ikut membesar, berhentilah menaikkan limit — masalahnya ada di kode, dan menaikkan limit hanya memberi lebih banyak waktu bagi kode yang rusak untuk menghabiskan memori.

Cara Mengecek Limit Memori Situs Anda Saat Ini

Sebelum mengubah apa pun, cek dulu berapa limit yang benar-benar berlaku di situs Anda. Langkah ini memakan waktu kurang dari satu menit dan mencegah Anda memperbaiki hal yang salah.

Cara paling mudah adalah melalui Site Health bawaan WordPress. Masuk ke dashboard, buka menu Perkakas (Tools) → Site Health, lalu klik tab Info. Gulir ke bagian Server dan cari baris PHP memory limit. Nilai di sana adalah limit PHP yang sedang berlaku. Perlu diperhatikan satu detail: karena Site Health berjalan di dalam wp-admin, WordPress sudah menaikkan limit ke batas admin pada saat itu, sehingga Anda kadang melihat dua baris — "PHP memory limit" dengan nilai aslinya, dan "PHP memory limit (only for admin screens)" dengan nilai yang sudah dinaikkan. Bandingkan kedua angka itu dengan angka byte pada pesan error Anda untuk mengetahui limit mana yang sebenarnya dilanggar oleh permintaan yang gagal.

Di tab Info yang sama, bagian WordPress Constants menampilkan nilai WP_MEMORY_LIMIT dan WP_MAX_MEMORY_LIMIT yang sedang dipakai instalasi Anda. Jika kedua konstanta itu menampilkan nilai bawaan (40M dan 256M), berarti belum ada yang pernah mengubahnya, dan wp-config.php adalah tempat yang tepat untuk memulai.

Jika Anda memiliki akses SSH ke hosting, perintah php -i | grep -i memory_limit akan menampilkan nilai memory_limit dari konfigurasi PHP yang dipakai baris perintah — tetapi hati-hati, konfigurasi PHP untuk baris perintah dan untuk web server bisa berbeda, jadi nilai ini tidak selalu sama dengan yang dipakai situs Anda. Site Health tetap menjadi sumber yang paling bisa diandalkan untuk situs yang sedang berjalan.

Satu hal lagi yang layak dicatat sebelum melanjutkan: jika Site Health menampilkan peringatan bahwa limit memori situs Anda di bawah 256 MB, itu adalah peringatan umum WordPress untuk situs modern. Peringatan itu bukan error, dan situs tetap bisa berjalan normal di bawah angka itu selama beban kerjanya ringan. Tetapi jika Anda sudah pernah melihat error kehabisan memori, peringatan tersebut adalah konfirmasi bahwa sudah waktunya menaikkan limit.

Cara Menambah Limit Memori WordPress Langkah demi Langkah

Ada empat cara menaikkan limit memori, dan urutan pengerjaannya penting: mulailah dari yang paling dekat dengan WordPress, dan bergerak ke lapisan server hanya bila cara sebelumnya tidak mengubah nilai efektif di Site Health.

Metode 1: Edit wp-config.php (mulai dari sini)

Ini adalah cara yang direkomendasikan dan berhasil pada sebagian besar hosting. Hubungkan ke situs Anda melalui File Manager di panel hosting atau melalui SFTP, lalu buka file wp-config.php yang terletak di folder root instalasi WordPress. Cari baris yang berbunyi:

/* That's all, stop editing! Happy publishing. */

Tepat di atas baris itu, tambahkan dua baris berikut:

define( 'WP_MEMORY_LIMIT', '256M' );
define( 'WP_MAX_MEMORY_LIMIT', '512M' );

Baris pertama menaikkan limit untuk permintaan front-end menjadi 256 MB, dan baris kedua menaikkan batas admin menjadi 512 MB untuk pekerjaan berat seperti impor dan pemrosesan gambar. Penempatan baris ini penting: keduanya harus berada di atas baris "stop editing" dan di atas baris require_once ABSPATH . 'wp-settings.php'; di akhir file, karena konstanta hanya dibaca ketika WordPress dimuat. Baris yang ditulis setelah wp-settings.php akan diabaikan begitu saja.

Setelah menyimpan file, segarkan halaman Site Health dan periksa apakah nilai PHP memory limit sudah berubah. Jika sudah, coba ulangi tindakan yang sebelumnya memicu error — misalnya unggah ulang gambar yang sama atau buka kembali halaman yang gagal. Jangan lupa untuk selalu membuat cadangan wp-config.php sebelum mengeditnya; satu karakter yang salah ketik pada file ini bisa membuat seluruh situs tidak bisa diakses, dan cadangan adalah jalan kembali yang paling cepat.

Metode 2: Naikkan limit PHP lewat panel hosting atau php.ini

Jika Site Health tidak menunjukkan perubahan setelah Metode 1, berarti hosting Anda menetapkan plafon PHP yang lebih rendah dan mengabaikan permintaan WordPress. Pada titik ini Anda harus mengubah lapisan PHP-nya langsung. Pada hosting dengan cPanel, buka Select PHP Version atau MultiPHP INI Editor, cari pengaturan memory_limit, dan ubah nilainya menjadi 256M. Pada hosting dengan panel kustom, pengaturan serupa biasanya berada di menu pengaturan PHP atau pengaturan situs. Jika hosting Anda memperbolehkan file php.ini kustom di folder root situs, tambahkan atau ubah baris berikut:

memory_limit = 256M

Perubahan pada php.ini biasanya memerlukan beberapa menit untuk berlaku, dan pada sebagian hosting Anda perlu me-restart PHP atau menunggu proses PHP lama berakhir. Setelah itu, periksa kembali Site Health untuk memastikan nilai baru sudah berlaku.

Metode 3: Atur lewat .htaccess (khusus server Apache)

Pada server Apache, Anda bisa mengatur limit per direktori dengan menambahkan baris berikut ke file .htaccess di folder root:

php_value memory_limit 256M

Metode ini tidak berlaku pada server Nginx dengan PHP-FPM, karena Nginx tidak memproses perintah PHP di .htaccess. Jika situs Anda berjalan di Nginx dan baris ini tidak berpengaruh, itu bukan kesalahan Anda — metode ini memang tidak dirancang untuk server tersebut. Selain itu, pada sebagian hosting, perintah php_value di .htaccess akan memicu error 500 jika PHP berjalan dalam mode yang tidak mengizinkannya. Jika situs Anda tiba-tiba menampilkan error 500 setelah menambahkan baris ini, hapus baris tersebut dan kembali ke Metode 2.

Metode 4: Minta bantuan dukungan hosting

Jika ketiga metode di atas tidak mengubah nilai efektif, berarti hosting Anda mengunci limit di tingkat server dan hanya tim dukungan yang bisa mengubahnya. Ini umum terjadi pada paket shared hosting termurah. Kirim tiket dukungan dengan informasi yang sudah Anda kumpulkan: pesan error lengkap, nilai limit saat ini dari Site Health, dan nilai yang Anda minta (misalnya 256 MB). Dukungan hosting biasanya bisa menaikkan limit dalam hitungan menit, atau memberi tahu Anda batas maksimum paket yang Anda gunakan. Jika batas maksimum paket Anda ternyata hanya 128 MB dan situs Anda membutuhkan lebih, inilah momen untuk mempertimbangkan naik paket — bukan dengan membeli plugin optimasi, melainkan dengan memastikan fondasi servernya memang memadai.

Verifikasi setelah perbaikan

Setelah salah satu metode berhasil, lakukan tiga pemeriksaan singkat. Pertama, buka Site Health dan pastikan nilai PHP memory limit sudah menunjukkan angka yang Anda tetapkan. Kedua, ulangi tindakan yang sebelumnya memicu error dan pastikan tindakan itu selesai tanpa pesan fatal error. Ketiga, buka beberapa halaman artikel dan halaman arsip untuk memastikan situs kembali normal. Jika error tetap muncul dengan angka byte yang sama persis, berarti perubahan Anda belum berlaku — periksa kembali penempatan baris di wp-config.php atau apakah hosting Anda memakai file konfigurasi PHP yang berbeda untuk web server dan untuk panel.

Berapa Limit Memori yang Aman untuk Situs Publisher?

Pertanyaan yang benar bukanlah "berapa limit maksimum yang bisa saya tetapkan", melainkan "berapa limit yang wajar untuk beban kerja situs saya". Menaikkan limit terlalu tinggi memang menghentikan error, tetapi juga memberi ruang bagi plugin yang bermasalah untuk memakai memori dalam jumlah besar tanpa pernah terdeteksi, dan pada shared hosting, satu situs yang memakai memori berlebihan bisa memperlambat situs lain di server yang sama.

Tabel berikut adalah patokan praktik yang umum dipakai publisher — bukan angka resmi WordPress, melainkan titik awal yang masuk akal untuk berbagai jenis situs. Mulailah dari nilai terendah yang sesuai dengan jenis situs Anda, dan naikkan satu tingkat hanya bila error terbukti masih muncul setelah penyebabnya diperiksa.

Jenis situsWP_MEMORY_LIMIT awal yang wajarCatatan
Blog pribadi ringan, sedikit plugin128 MBCukup untuk tema ringan dan kurang dari 15 plugin
Situs berita atau media dengan artikel harian256 MBTitik awal yang disarankan untuk sebagian besar publisher
Situs dengan page builder dan banyak plugin256–512 MBPage builder dan plugin optimasi menambah beban signifikan
Toko WooCommerce atau situs membership512 MBWooCommerce sendiri merekomendasikan limit PHP minimal 256 MB, dan toko aktif biasanya butuh lebih
Situs dengan impor massal atau pemrosesan media berat512 MB (sementara)Naikkan untuk pekerjaan itu, lalu kembalikan bila pekerjaan selesai

Angka 256 MB muncul berulang kali sebagai titik awal yang wajar karena beberapa alasan yang saling menguatkan. WordPress sendiri menetapkan 256 MB sebagai batas admin bawaan, WooCommerce menetapkan 256 MB sebagai syarat minimum sistemnya, dan sebagian besar panduan hosting menempatkan 256 MB sebagai nilai rekomendasi untuk situs WordPress pada umumnya. Untuk situs publisher dengan artikel panjang, gambar unggulan, dan iklan, 256 MB adalah angka yang seimbang: cukup besar untuk pekerjaan normal, cukup kecil untuk tetap menangkap plugin yang berperilaku abnormal.

Yang tidak disarankan adalah melompat langsung ke 1 GB atau lebih tanpa diagnosis. Jika situs Anda menghabiskan 1 GB memori untuk satu permintaan, hampir pasti ada kode yang salah — misalnya query yang memuat ribuan artikel ke memori sekaligus — dan menaikkan limit hanya menunda error berikutnya. Aturan praktisnya: jika 512 MB belum cukup, berhentilah menaikkan limit dan mulailah mencari penyebabnya.

Menemukan Penyebab Sebenarnya: Jangan Hanya Menaikkan Limit

Menaikkan limit adalah pertolongan pertama, bukan pengobatan. Langkah-langkah berikut membantu Anda menemukan komponen mana yang sebenarnya menghabiskan memori, supaya perbaikan Anda bertahan lama.

Aktifkan log debug WordPress

Tambahkan tiga baris berikut di wp-config.php, di atas baris "stop editing" yang sama:

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

Dengan pengaturan ini, WordPress mencatat error ke file wp-content/debug.log tanpa menampilkannya ke pengunjung. Ulangi tindakan yang memicu error, lalu buka file log tersebut. Baris terakhir yang mencatat fatal error biasanya menyebutkan jalur file plugin atau tema yang sedang dieksekusi ketika memori habis — dan nama itulah tersangka utama Anda. Setelah selesai, kembalikan WP_DEBUG ke false agar log tidak terus membesar.

Gunakan Query Monitor untuk melihat pemakaian memori per permintaan

Plugin gratis Query Monitor menampilkan pemakaian memori puncak (peak memory usage) untuk setiap halaman yang Anda buka, lengkap dengan rincian query database dan komponen yang memakan waktu paling lama. Buka halaman yang bermasalah dengan Query Monitor aktif, lalu perhatikan angka memori puncaknya. Jika satu halaman artikel memakai 200 MB sementara halaman lain hanya 40 MB, maka penyebabnya ada pada sesuatu yang spesifik di halaman itu — misalnya widget tertentu, blok tertentu, atau shortcode tertentu.

Nonaktifkan plugin satu per satu

Jika log debug belum memberi jawaban yang jelas, lakukan uji eliminasi. Nonaktifkan semua plugin, lalu periksa apakah error hilang. Jika hilang, aktifkan kembali plugin satu per satu sambil mengulangi tindakan yang memicu error. Plugin yang ketika diaktifkan membuat error kembali adalah penyebabnya. Metode ini memang memakan waktu, tetapi hampir selalu berhasil menemukan pelakunya. Lakukan pengujian ini pada jam sepi, dan beri tahu tim Anda terlebih dahulu bila situs dikelola bersama, karena menonaktifkan plugin dapat mengubah tampilan situs untuk sementara.

Manfaatkan Recovery Mode WordPress

Sejak WordPress 5.2, ketika terjadi fatal error, WordPress mengirim email ke alamat admin dengan tautan Recovery Mode. Melalui tautan itu Anda bisa masuk ke dashboard dalam mode pemulihan dan menonaktifkan plugin atau tema yang bermasalah, bahkan ketika dashboard normal tidak bisa dibuka. Jika Anda menerima email tersebut, jangan abaikan — email itu adalah jalan tercepat untuk mendapatkan kembali akses ke situs yang terkunci oleh error.

Periksa gambar dan media yang baru diunggah

Jika error mulai muncul setelah Anda mengunggah sekumpulan gambar baru, periksa ukuran file-file tersebut. Gambar dengan lebar di atas 3000 piksel atau berukuran di atas 2 MB per file adalah kandidat kuat. Kompresi gambar-gambar itu, atau atur ulang ukurannya sebelum diunggah, sering kali menyelesaikan masalah tanpa perlu mengubah limit sama sekali.

Dampak Error Memori pada Iklan AdSense dan SEO

Bagi publisher, error memori bukan sekadar masalah teknis — ia langsung memengaruhi pendapatan dan peringkat pencarian. Ketika halaman artikel gagal dimuat karena fatal error, iklan AdSense di halaman itu tidak tampil sama sekali, sehingga tayangan (impression) hilang dan pendapatan hari itu berkurang. Lebih buruk lagi, jika error terjadi pada halaman-halaman populer atau pada jam trafik tinggi, kerugiannya berlipat.

Dari sisi SEO, halaman yang mengembalikan error atau layar putih berulang kali akan dicatat Google sebagai halaman bermasalah. Googlebot yang menemukan fatal error pada saat merayapi situs akan mencoba lagi nanti, tetapi jika error bertahan selama berhari-hari, halaman tersebut bisa kehilangan posisinya di hasil pencarian atau bahkan dikeluarkan dari indeks untuk sementara. Inilah sebabnya error memori yang dibiarkan berlarut-larut lebih mahal daripada waktu lima belas menit yang dibutuhkan untuk memperbaikinya.

Ada pula dampak yang lebih halus: error memori yang muncul secara berkala — misalnya hanya ketika cron berjalan atau hanya pada halaman tertentu — bisa membuat metrik Core Web Vitals memburuk tanpa pola yang jelas, karena sebagian kunjungan mengalami kegagalan pemuatan sebagian konten. Publisher yang memantau Search Console dan melihat peningkatan error perayapan atau penurunan halaman terindeks sebaiknya memeriksa log error WordPress mereka; sering kali penyebabnya adalah masalah memori yang sudah lama dibiarkan.

Checklist Pencegahan agar Error Tidak Kembali

Perbaikan yang bertahan lama adalah perbaikan yang diikuti kebiasaan. Checklist berikut bisa dijalankan sebulan sekali, atau setiap kali Anda menambahkan plugin atau tema baru.

  • Periksa Site Health sebulan sekali dan pastikan PHP memory limit masih menunjukkan nilai yang Anda tetapkan.
  • Kompresi semua gambar sebelum diunggah, dan tetapkan lebar maksimum yang wajar untuk gambar konten, misalnya 1200–1600 piksel.
  • Audit plugin setiap tiga bulan: nonaktifkan dan hapus plugin yang tidak lagi dipakai, dan hindari dua plugin yang mengerjakan hal yang sama.
  • Jadwalkan backup dan pemrosesan massal pada jam sepi, dan pecah pekerjaan besar menjadi beberapa batch kecil.
  • Perbarui WordPress, tema, dan plugin secara berkala, karena pembaruan sering kali memperbaiki kebocoran memori pada versi lama.
  • Batasi jumlah revisi artikel yang disimpan WordPress dengan menambahkan define( 'WP_POST_REVISIONS', 5 ); di wp-config.php, supaya database tidak membengkak dan query tidak semakin berat.
  • Pantau log error WordPress setelah setiap perubahan besar, supaya masalah baru tertangkap sebelum menjadi error yang terlihat pengunjung.

Kesalahan Umum yang Harus Dihindari

KesalahanMengapa bermasalahYang benar
Menetapkan limit 1 GB atau lebih tanpa diagnosisMenyembunyikan kode bermasalah dan membebani serverMulai dari 256 MB, naikkan bertahap hanya bila perlu
Menulis define setelah baris wp-settings.phpKonstanta diabaikan, perubahan tidak berpengaruhTulis di atas baris "That's all, stop editing!"
Mengedit .htaccess di server NginxNginx tidak membaca perintah PHP di .htaccessGunakan php.ini atau panel hosting
Menghapus plugin lewat FTP tanpa menonaktifkannya duluBisa meninggalkan data dan pengaturan yang membebani situsNonaktifkan dari dashboard, lalu hapus
Mengabaikan email Recovery Mode WordPressKehilangan jalan tercepat untuk memulihkan akses dashboardBuka tautan recovery dan nonaktifkan komponen bermasalah
Menyalakan WP_DEBUG_DISPLAY di situs liveError mentah terlihat pengunjung dan bisa membocorkan jalur serverGunakan WP_DEBUG_LOG saja, display tetap false
Menaikkan limit tetapi tidak pernah memeriksa penyebabnyaError kembali saat trafik naik atau saat pekerjaan berat berikutnyaSelalu lanjutkan dengan diagnosis setelah limit dinaikkan

FAQ

Apakah menaikkan WP_MEMORY_LIMIT akan mempercepat situs saya?

Tidak secara langsung. Menaikkan limit hanya memberi lebih banyak ruang bagi permintaan PHP untuk selesai tanpa error; ia tidak membuat permintaan itu berjalan lebih cepat. Situs yang lambat karena query database yang berat atau gambar yang tidak dioptimasi akan tetap lambat setelah limit dinaikkan. Kecepatan situs lebih dipengaruhi oleh caching, optimasi gambar, dan kualitas hosting daripada oleh besarnya limit memori.

Berapa nilai WP_MEMORY_LIMIT yang paling aman untuk situs berita?

Untuk sebagian besar situs berita dan media dengan artikel harian, 256 MB adalah titik awal yang aman dan sudah sesuai dengan batas admin bawaan WordPress serta syarat minimum WooCommerce. Jika situs Anda memakai page builder berat atau puluhan plugin aktif, 512 MB masih dalam batas wajar. Di atas itu, diagnosis penyebab lebih penting daripada menaikkan limit lagi.

Mengapa error tetap muncul padahal saya sudah menambahkan define di wp-config.php?

Penyebab paling umum adalah hosting Anda menetapkan PHP memory_limit yang lebih rendah dan mengabaikan permintaan WordPress. Periksa Site Health untuk melihat nilai efektif yang berlaku. Jika nilainya tidak berubah, naikkan limit lewat panel hosting atau php.ini, atau hubungi dukungan hosting. Penyebab lain yang sering terjadi adalah baris define ditulis di bawah baris wp-settings.php, sehingga tidak pernah dibaca.

Apakah error ini berbahaya bagi keamanan situs?

Error itu sendiri bukan masalah keamanan, tetapi cara menanganinya bisa menjadi masalah keamanan bila ceroboh. Menyalakan WP_DEBUG_DISPLAY di situs live akan menampilkan jalur file server kepada pengunjung, dan mengedit file konfigurasi tanpa cadangan bisa membuat situs tidak bisa diakses. Selama Anda memakai log debug (bukan display) dan selalu membuat cadangan sebelum mengedit, perbaikan ini aman.

Apakah saya perlu plugin untuk memperbaiki error ini?

Tidak. Perbaikan utama — menambahkan dua baris define di wp-config.php — tidak memerlukan plugin apa pun, dan justru menambah plugin baru untuk mengatasi masalah memori sering kali menambah beban. Plugin seperti Query Monitor berguna untuk diagnosis, tetapi sebaiknya dinonaktifkan kembali setelah diagnosis selesai, supaya tidak menambah beban pada setiap permintaan.

Kapan saya harus menghubungi hosting, bukan memperbaiki sendiri?

Hubungi hosting bila perubahan di wp-config.php dan php.ini tidak mengubah nilai efektif di Site Health, bila Anda tidak memiliki akses file sama sekali, atau bila error muncul bersamaan dengan error 508 atau 500 yang menimpa seluruh situs. Tiga gejala itu menandakan batasnya dikunci di tingkat server dan hanya tim dukungan yang bisa mengubahnya.

Kesimpulan

Error "Allowed memory size exhausted" terdengar menakutkan, tetapi ia adalah salah satu error WordPress yang paling mudah dipahami dan diperbaiki. Pesan error itu sendiri sudah memberi tahu Anda berapa limit yang berlaku dan di mana proses itu berhenti. Tiga lapisan limit — PHP memory_limit, WP_MEMORY_LIMIT, dan WP_MAX_MEMORY_LIMIT — bekerja dengan aturan sederhana: WordPress hanya bisa meminta, dan server yang memutuskan. Karena itu perbaikan yang benar selalu dimulai dari memeriksa nilai efektif di Site Health, lalu menaikkan limit dari lapisan yang paling dekat dengan WordPress, dan hanya bergerak ke lapisan server bila cara pertama tidak berhasil.

Untuk sebagian besar publisher, menetapkan WP_MEMORY_LIMIT sebesar 256 MB dan WP_MAX_MEMORY_LIMIT sebesar 512 MB di wp-config.php sudah cukup untuk mengembalikan situs ke kondisi normal. Tetapi perbaikan tidak berhenti di situ. Menemukan plugin, gambar, atau proses yang menjadi penyebab sebenarnya adalah bagian yang membuat perbaikan bertahan lama, dan checklist pencegahan bulanan memastikan error yang sama tidak kembali pada jam trafik tinggi, ketika kerugiannya paling besar. Tangani error ini segera setelah muncul, catat apa yang Anda ubah, dan situs Anda akan kembali melayani pembaca — dan menampilkan iklan — tanpa gangguan.

Sumber resmi yang dirujuk

  • WordPress.org Developer Resources — Editing wp-config.php: dokumentasi konstanta WP_MEMORY_LIMIT (bawaan 40 MB situs tunggal, 64 MB multisite) dan WP_MAX_MEMORY_LIMIT (bawaan 256 MB), serta penempatan define sebelum pemuatan wp-settings.php — developer.wordpress.org/advanced-administration/wordpress/wp-config/
  • WordPress.org — Common WordPress Errors: penjelasan error "Allowed memory size exhausted" sebagai tanda instalasi WordPress tidak memiliki cukup memori — wordpress.org/documentation/article/common-wordpress-errors/
  • WordPress.org Hosting Handbook: panduan bahwa permintaan memori WordPress melalui ini_set hanya berhasil bila server mengizinkannya ("whether that request succeeds is up to the server") — wordpress.org/documentation/article/hosting-handbook/
  • WordPress.org — Site Health: dokumentasi alat Site Health, tab Info, dan bagian Server untuk memeriksa PHP memory limit — wordpress.org/documentation/article/site-health/
  • PHP Manual — memory_limit: definisi pengaturan sebagai jumlah maksimum memori yang boleh dipakai sebuah skrip per permintaan — php.net/manual/en/ini.core.php
  • WooCommerce Documentation — System Requirements: syarat minimum limit memori PHP 256 MB untuk toko WooCommerce — woocommerce.com/documentation/

Lukman

Penulis dan kontributor redaksi di Bangeko Media (bangekomedia.com). Berkomitmen menghadirkan informasi yang akurat dan berimbang.

← Artikel Sebelumnya Mengatur Gaji Pertama: Panduan Keuangan untuk Fresh Graduate di Indonesia Artikel Selanjutnya → Menjaga Kesehatan Pendengaran di Era Earbuds: Batas Volume Aman, Durasi, dan Kebiasaan yang Perlu Diubah

Tinggalkan Tanggapan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *