Allowed Memory Size Exhausted en WordPress: cómo resolver este error

Cómo resolver el error “Allowed Memory Size Exhausted” en WordPress

Si al navegar por tu web de WordPress aparece un mensaje como este:

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

significa que tu sitio ha consumido toda la memoria asignada por PHP y no puede seguir ejecutándose. En otras palabras: WordPress necesita más recursos de los que tu servidor le está dando.

Error crítico en WordPress: “Allowed memory size exhausted” debido a límite insuficiente de memoria PHP.
Captura de pantalla del error “Allowed memory size exhausted” en WordPress, indicando que el límite de memoria asignado a PHP ha sido superado.

La buena noticia es que este error suele tener solución rápida y, en la mayoría de casos, puedes arreglarlo tú mismo sin ser experto en programación.

1. Entendiendo la memoria en PHP y WordPress

PHP controla su consumo de RAM mediante la directiva memory_limit. Cuando un script supera ese tope, PHP emite:

Fatal error: Allowed memory size of X bytes exhausted (tried to allocate Y bytes)

WordPress define por defecto un tope de 40 MB (instalación estándar) o 64 MB (multisite) antes de leer wp-config.php. Sin embargo, muchas operaciones superan este umbral:

  • Carga de plugins o themes con peso elevado.
  • Procesos de importación/exportación de datos.
  • Generación masiva de miniaturas al subir imágenes.

1.1 Valores comunes de memory_limit

Entorno Valor por defecto
Hosting compartido estándar 64M–128M
Servidores dedicados/VPS 128M–512M
Multisite 64M

2. Diagnóstico detallado antes de aumentar memoria

2.1 Activar registros de depuración

Añade en wp-config.php:

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

Revisa /wp-content/debug.log para identificar arrays o funciones que fallen por falta de RAM.

2.2 Medir consumo por petición

  • Query Monitor: detecta consultas lentas y revela el uso de memoria en cada etapa.
  • PHP’s memory_get_usage(): inserta en plantillas:phpecho 'Memoria usada: '. size_format(memory_get_usage()).'<br>'; echo 'Memoria pico: '. size_format(memory_get_peak_usage()).'<br>'; para cuantificar crecimiento en tiempo real.

3. Métodos avanzados para incrementar memoria

Nota: Siempre respalda tu sitio antes de cambios críticos.

3.1 En wp-config.php

php/** Aumentar memoria PHP (front-end) */
define('WP_MEMORY_LIMIT', '256M');

/** Aumentar memoria PHP (back-end) */
define('WP_MAX_MEMORY_LIMIT', '512M');
  • WP_MEMORY_LIMIT se aplica a llamadas normales.
  • WP_MAX_MEMORY_LIMIT rige tareas intensivas (importación, actualizaciones).

3.2 Vía .htaccess con Apache + mod_php

text<IfModule mod_php.c>
  php_value memory_limit 256M
</IfModule>

Si obtienes 500 Internal Server Error, tu servidor no permite directivas PHP en .htaccess y debes retirarlas.

3.3 Modificación de php.ini o .user.ini

  • php.ini (servidores dedicados/VPS):textmemory_limit = 256M
    Luego reinicia PHP-FPM o Apache.
  • .user.ini (FastCGI en hostings compartidos):textmemory_limit = 256M
    Aplica tras 5 minutos por caché de PHP-FPM.

3.4 A través de WP-CLI

bashwp config set WP_MEMORY_LIMIT 256M --raw
wp config set WP_MAX_MEMORY_LIMIT 512M --raw

Automatiza la inserción en wp-config.php sin editor manual.

3.5 Paneles de hosting (cPanel/Plesk)

  • cPanel – MultiPHP INI Editor: selecciona tu dominio y ajusta “memory_limit” a 256M.
  • Plesk: ve a PHP Settings → memory_limit → establece 256M.

3.6 Contactar al proveedor

Si tras estos pasos el valor no cambia, comunícate con soporte para liberar más memoria o migrar a un plan con mayor asignación.

4. Optimización y prevención de futuros desbordamientos

4.1 Auditoría de plugins y temas

  • Desactiva plugins uno a uno para encontrar el causante.
  • Reemplaza plugins pesados por alternativas ligeras.

4.2 Mejora de código en themes

  • Evita consultas en bucle dentro de templates.
  • Usa transients o cache de objetos para resultados costosos.

4.3 Optimización de medios

  • Implementa generación de miniaturas en segundo plano:bashwp media regenerate --only-missing
  • Limita dimensiones y comprime imágenes antes de subir.

4.4 Caching a nivel servidor y CDN

  • OPcache: acelera PHP almacenando scripts compilados.
  • Redis/Memcached: cache de objetos para evitar recálculos.
  • CDN: descarga carga estática a servidores externos.

4.5 Monitorización continua

  • New Relic o Datadog: detectan picos de RAM en entornos de producción.
  • Query Monitor en staging: revisa cambios antes de desplegar.

El error de memoria suele estar conectado con un exceso de plugins o malas combinaciones, con fallos tipo error crítico y con limitaciones de infraestructura que esta guía sobre hosting WordPress ayuda a entender. Si quieres soporte técnico, aquí puedes ver nuestros servicios.

nnn

Si quieres prevenir otros problemas técnicos, consulta nuestras guías de mantenimiento y soporte WordPress.

nn

Autor/a:

Deja el primer comentario

Contenidos relacionados