Estás subiendo un plugin, una imagen grande o actualizando algo, y WordPress responde con una pantalla blanca, un «Ha habido un error crítico en esta web» o este mensaje:
Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes)
Es de los errores más comunes de WordPress y casi siempre se arregla en un par de minutos. Pero conviene entender qué pasó antes de subir el límite a ciegas, porque a veces el límite no es el problema. Aquí lo explico, con lo que comprobé en un WordPress local y lo que depende de tu hosting.
Qué significa el error
PHP le da a cada petición una cantidad máxima de memoria, el memory_limit. Cuando una página, un plugin o una tarea intenta usar más, PHP la corta de golpe y lanza ese error fatal. El número del mensaje está en bytes: 134217728 son 128 MB. El segundo número (tried to allocate) es lo que intentaba reservar justo cuando se pasó, no lo que necesitas en total.
Hay dos límites que se mezclan, y es la confusión más habitual:
- El de PHP (
memory_limit), que pone el servidor en su configuración. - El de WordPress (
WP_MEMORY_LIMIT), que es la cantidad que WordPress intenta pedirle a PHP.
Según el código de WordPress que usé para estas pruebas, el valor por defecto de WP_MEMORY_LIMIT es de 40 MB (64 MB si es multisitio). En el panel de administración y al procesar imágenes, WordPress puede pedir hasta 256 MB (WP_MAX_MEMORY_LIMIT).

Cómo ver cuánta memoria tienes
Antes de cambiar nada, mira el valor actual. En el escritorio de WordPress ve a Herramientas → Salud del sitio → Información → Servidor. Ahí aparece el «PHP memory limit» y, en Constantes de WordPress, el WP_MEMORY_LIMIT.

Tres formas de subir el límite
1. En wp-config.php (la primera que debes probar)
Antes de la línea /* That's all, stop editing! */, añade:
define( 'WP_MEMORY_LIMIT', '256M' );
Comprobé en local cómo se comporta. Con PHP limitado a 32 MB:
| Configuración | Límite que usa WordPress |
|---|---|
| Sin tocar nada | 40 MB |
WP_MEMORY_LIMIT en 128M | 128 MB |
| PHP en 512 MB, sin tocar nada | 512 MB |
Dos cosas importantes de esa prueba: WordPress sube el límite de PHP hasta el valor de WP_MEMORY_LIMIT, pero nunca lo baja. Si tu hosting ya da 512 MB, poner 256M no te quita memoria. Y esta vía solo funciona si el hosting permite cambiar el límite desde PHP; algunos lo bloquean, y entonces hay que usar las siguientes.
2. En php.ini
Si tienes acceso a la configuración de PHP (un VPS, un servidor propio o un panel que lo permita), cambia esta línea y reinicia el servidor web:
memory_limit = 256M
En hosting compartido, muchos paneles tienen una pantalla de «Configuración de PHP» o «Selector de PHP» donde se cambia este valor sin tocar archivos. Dónde está y cómo se llama depende de tu proveedor.
3. En .htaccess
Si tu sitio corre con Apache y PHP como módulo, puedes añadir al .htaccess de la raíz:
php_value memory_limit 256M
Si el hosting usa PHP en modo FastCGI o PHP-FPM, esta directiva no se acepta y puede dejar el sitio con un error 500. Si pasa, borra la línea y usa otra de las vías. Haz una copia del .htaccess antes de editarlo.

Si subir el límite no basta
Si con 256 MB sigue fallando, o el error vuelve a las pocas horas, subir el número solo esconde el problema. Algo está gastando demasiada memoria. Cómo buscarlo:
Primero activa el registro de errores en wp-config.php:
define( 'WP_DEBUG', true );
define( 'WP_DEBUG_LOG', true );
define( 'WP_DEBUG_DISPLAY', false );
Los errores quedan en wp-content/debug.log sin mostrarse a los visitantes. Desactívalo cuando termines. Después:
- Reproduce el error y abre
wp-content/debug.log. - Lee la ruta del error. El mensaje termina con el archivo y la línea donde se agotó la memoria. Si la ruta contiene
wp-content/plugins/nombre-del-plugin/, ya sabes cuál es. - Desactiva el plugin sospechoso y comprueba si el error desaparece. Si era necesario, busca una alternativa más ligera o escríbele a su soporte.
- Revisa qué hacías: importar un archivo enorme, regenerar miniaturas de toda la biblioteca o una copia de seguridad suelen consumir mucha memoria de una sola vez.
Cuantos menos plugins tengas, menos memoria gasta cada visita. Es una de las razones por las que reduje mi instalación a dos, como cuento en cómo pasé de 34 a 97 en PageSpeed.
Lo que no conviene hacer
- Poner un límite enorme (1 GB o
-1, sin límite) para «no volver a ver el error». Un plugin con un bucle roto puede tragarse toda la memoria del servidor y afectar a otros sitios. - Editar archivos sin copia.
wp-config.phpy.htaccessmal escritos dejan el sitio caído. - Dar por resuelto sin comprobar. Después de cambiar el límite, repite la acción que fallaba.
Lo que probé y lo que no
- Probé: el comportamiento de
WP_MEMORY_LIMITyWP_MAX_MEMORY_LIMIT(valores por defecto, cuándo sube el límite de PHP y que nunca lo baja) en un WordPress local con PHP 8.3, y el texto del error fatal. - No probé:
php.iniy.htaccessen hosting real, ni los paneles de cada proveedor. Las describo como funcionan en general; compruébalo en el tuyo.
¿Tu sitio se queda sin memoria y no sabes por qué?
Si el error persiste o no encuentras qué lo causa, puedo revisar tu WordPress y decirte qué lo provoca. Escríbeme desde aquí.