Tu sitio WordPress muestra de repente una página en blanco, un error crítico o un mensaje parecido a este:

Fatal error: Allowed memory size of 268435456 bytes exhausted 
(tried to allocate 20480 bytes) in /home/ton-site/wp-includes/...

La cifra cambia de un sitio a otro (134217728, 268435456, 536870912 según tu límite actual), pero el mensaje es siempre el mismo: PHP ya no tiene suficiente memoria para ejecutar lo que tu sitio le pide. En las versiones recientes de WordPress, a veces solo verás «Ha habido un error crítico en este sitio web», es la misma causa escondida tras un mensaje más educado.

Casi siempre ocurre en el peor momento: durante la instalación de un plugin, una importación de WooCommerce, la subida de una imagen pesada o justo después de una actualización. El servidor alcanza su techo y se detiene en seco.

Llevo más de 10 años haciendo mantenimiento de WordPress y este error aparece cada semana en al menos un sitio. En el 90 % de los casos se resuelve en menos de 10 minutos una vez que sabes dónde mirar. En el 10 % restante, un plugin está funcionando en bucle y el problema está en otra parte. Esta guía cubre ambos casos.

Corregir el error allowed memory size exhausted en 3 minutos

  1. Comprueba tu límite de memoria actual (Herramientas > Salud del sitio > Info > Servidor)
  2. Aumenta el valor según tu alojamiento (o2switch, OVH, otro)
  3. Si el error vuelve a pesar de tener memoria suficiente, la causa es un plugin

En la gran mayoría de los casos, el paso 2 basta. La guía completa está a continuación.

Empieza por comprobar tu límite de memoria actual

Antes de modificar nada, mira lo que tu servidor ya asigna. En tu escritorio de WordPress, ve a Herramientas > Salud del sitio > Info, y despliega la sección Servidor. Busca la línea Límite de memoria PHP.

Si ves 64M o 128M, has encontrado tu problema. Si ya ves 512M o más y el error persiste, la memoria no es la causa. Probablemente un plugin funciona en bucle y consume todo lo que le des, sea cual sea el valor. En ese caso, salta directamente a la sección «Cuando aumentar la memoria no basta».

Para darte una referencia, estos son los valores adecuados según tu instalación. Estos valores suponen que usas PHP 8.1 como mínimo. Si todavía estás en PHP 7.4, cuenta con un 20 a 30 % más de memoria consumida para el mismo sitio. Es una buena razón para actualizar PHP si aún no lo has hecho.

Tipo de instalaciónMemoria recomendada
WordPress + tema ligero256M
WordPress + WooCommerce512M
WordPress + page builder (Elementor, Avada, Divi…)512M
WooCommerce + page builder1024M como mínimo
WooCommerce + page builder + plugins de terceros pesados1024M a 2048M

Aumentar la memoria PHP según tu alojamiento

El método a utilizar depende directamente de tu alojamiento. No todos los métodos funcionan en todas partes y algunos simplemente se ignoran según la configuración del servidor. Esto es lo que funciona de verdad, proveedor por proveedor.

o2switch: Seleccionar una versión de PHP en cPanel

Es el método más fiable en o2switch y el que utilizo sistemáticamente en los sitios de clientes que mantengo con este proveedor. Desde tu cPanel, escribe Seleccionar una versión de PHP en la barra de búsqueda de arriba o encuéntralo en la sección Software. Este ajuste se aplicará a todos los dominios del alojamiento. En la pestaña Opciones, modifica el valor de memory_limit según la tabla anterior.

Aumentar memory_limit mediante Seleccionar una versión de PHP cPanel o2switch

El cambio es inmediato, no hace falta vaciar la caché ni reiniciar nada. Para comprobar que se ha aplicado, vuelve a Herramientas > Salud del sitio > Info > Servidor en tu WordPress. La línea Límite de memoria PHP debe mostrar el nuevo valor.

Nota sobre o2switch: el límite por defecto es 512M en la mayoría de los planes. Puedes subir hasta 2 GB contactando directamente con el soporte de o2switch, si tu instalación lo necesita.

OVH / OVHcloud: un límite fijado por el proveedor

En el alojamiento compartido de OVH, no eliges tú mismo el límite de memoria. OVH indica que el archivo php.ini no se puede modificar en sus planes de alojamiento web y que la configuración de PHP es común a toda su infraestructura compartida.

El archivo .ovhconfig, en la raíz de tu alojamiento, solo sirve para elegir la versión de PHP, el motor PHP, el entorno (producción o desarrollo) y la imagen del servidor. Una línea php.memory_limit añadida a este archivo no tiene ningún efecto.

Si el límite de tu plan no basta, empieza por buscar la extensión que consume demasiado (ver más abajo). Si tu sitio necesita realmente más, hay que pasar a un plan más potente: pide al soporte de OVH el límite de cada fórmula.

A tener en cuenta: la documentación de OVH sobre el archivo .ovhconfig enumera todos los ajustes posibles. Consúltala antes de seguir un tutorial que te haga añadir líneas de memoria en este archivo.

Otros proveedores: el archivo .user.ini

Si tu proveedor no ofrece una interfaz específica, el método universal en alojamiento compartido es el archivo .user.ini. Crea este archivo en la raíz de tu sitio (donde está wp-config.php) y añade simplemente:

memory_limit = 256M

Este archivo lo lee directamente PHP en modo CGI/FastCGI, que es la configuración estándar de todos los alojamientos compartidos. El cambio surte efecto en unos minutos.

Para otros proveedores habituales:

  • Hostinger : hPanel > Avanzado > Configuración PHP, modifica memory_limit directamente.
  • Infomaniak : panel de administración > Alojamiento Web > PHP > Configuración.
  • SiteGround : Site Tools > Devs > PHP Manager, pestaña PHP Variables.

wp-config.php: solo como complemento

Encontrarás a menudo esta solución en primer lugar en los tutoriales. Consiste en añadir a wp-config.php:

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

Lo que hace realmente esta línea: indica a WordPress cuánta memoria puede pedir a PHP. Pero PHP no puede superar el límite que le impone tu servidor. Si tu proveedor limita a 128M y pones 256M en wp-config.php, WordPress verá 256M en sus ajustes internos pero PHP seguirá deteniéndose en 128M.

Es, por tanto, útil como complemento de una modificación en el servidor, para asegurarte de que WordPress utiliza toda la memoria disponible. Pero no sustituye a los métodos anteriores.

Para aumentar también la memoria en la administración de WordPress (útil sobre todo en las importaciones de WooCommerce), añade debajo:

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

Cuando aumentar la memoria no basta

Intervengo con regularidad en sitios donde el cliente ya ha subido la memoria a 1024M, o incluso 2048M, sin resultado. El error vuelve sistemáticamente. En esos casos no es un problema de límite: es un plugin o un script que funciona en bucle y consume todo lo que se le da, sea cual sea el valor configurado.

Para identificar al culpable, el método es sencillo:

  1. Desactiva todos tus plugins renombrando la carpeta por SFTP.wp-content/plugins a plugins-off
  2. Recarga tu sitio. Si el error desaparece, la causa es un plugin.
  3. Vuelve a poner el nombre original de la carpeta y desactiva después los plugins uno a uno desde la administración hasta encontrar al culpable.
  4. Si el error persiste incluso sin plugins, prueba con un tema predeterminado de WordPress (Twenty Twenty-Four).

Para acelerar el diagnóstico, activa los registros de WordPress y consulta el archivo wp-content/debug.log. Verás exactamente qué archivo desencadena el error y en qué línea. Mi guía sobre cómo encontrar los registros de WordPress te explica cómo hacerlo.

A recordar: subir la memoria a 2048M sin encontrar la causa es echar más gasolina en un depósito agujereado. No resuelve nada de fondo.

Si tu sitio muestra otro mensaje de error, también explico cómo corregir el error Maximum execution time exceeded y el error 413 Request Entity Too Large.

Para ir más lejos, puedes consultar la página de WordPress sobre los errores más comunes (en inglés).

¿Hay que cambiar de proveedor o de plan?

Si tienes que subir la memoria PHP a 2 GB solo para que un sitio WordPress funcione, y a pesar de ello el error vuelve con regularidad, el problema ya no es la memoria. Tres pistas a examinar en este orden:

  1. Audita tus plugins. Un plugin mal programado puede saturar por sí solo un servidor bien dimensionado. Es el caso más frecuente que me encuentro en mantenimiento.
  2. Comprueba tu versión de PHP. Un sitio en PHP 7.4 consume notablemente más que uno en PHP 8.2 u 8.3. La actualización suele ser la primera palanca antes de cambiar de proveedor.
  3. Solo después, mira tu proveedor. Si estás en un alojamiento compartido low-cost y tu sitio es una tienda WooCommerce activa, quizá hayas alcanzado los límites estructurales del plan. En ese caso, pasar a un plan con más recursos asignados (el Cloud de o2switch, por ejemplo) resolverá el problema de raíz.

En resumen: antes de pagar más, comprueba qué consume realmente la memoria en tu sitio actual.

¿Tu sitio sigue dando error?

Si a pesar de los pasos de esta guía el error persiste, suele ser señal de un problema más profundo (plugin defectuoso, tema dañado, script malicioso). Intervengo a distancia para identificar la causa exacta y volver a poner tu sitio en línea.

Cuéntame tu problema →

Y si quieres evitar pasar por este tipo de situación en cada actualización, echa un vistazo a mi mantenimiento WordPress. Existe exactamente para eso.

Evitar que el error vuelva

Una vez corregido el error, algunos reflejos para no volver a caer en él:

  • Limita el número de plugins activos. Cada plugin añade peso. Desactiva los que no uses realmente.
  • Optimiza tus imágenes antes de subirlas. Las imágenes sin comprimir consumen mucha memoria cuando PHP las procesa. Una herramienta como Squoosh o un plugin como Imagify cumple su función.
  • Actualiza PHP. Las versiones inferiores a 8.0 consumen notablemente más memoria que las recientes. Consulta mi guía para actualizar PHP en WordPress.
  • Limpia tu base de datos con regularidad. Una base de datos recargada de revisiones, transients caducados o registros de plugins puede provocar picos de memoria al cargar.
  • Vigila las actualizaciones. Una actualización fallida de un plugin o de un tema suele ser el detonante de la primera aparición de este error.

Preguntas frecuentes

memory_limit es el límite fijado a nivel del servidor PHP. Es el techo real. WP_MEMORY_LIMIT en wp-config.php es el valor que WordPress pide a PHP que utilice. Si pones 512M en wp-config.php pero tu servidor está limitado a 256M, PHP se detendrá en 256M. El límite del servidor siempre gana. Por eso modificar solo wp-config.php no basta en muchos casos.

Si la memoria es suficiente según tu tipo de instalación (ver tabla anterior) y el error persiste, un plugin o un script funciona en bucle y consume todo lo que se le asigna. Desactiva tus plugins uno a uno para identificar al culpable y consulta los registros de WordPress para ver qué archivo desencadena el error.

Depende de tu proveedor. En algunos, WordPress puede efectivamente empujar el límite de PHP mediante wp-config.php. En otros (como o2switch con LiteSpeed), el límite del servidor prevalece y wp-config.php no tiene ningún efecto sobre el límite real. El método recomendado sigue siendo modificar el límite directamente en el servidor (Seleccionar una versión de PHP en o2switch, .user.ini en otros proveedores) y añadir wp-config.php como complemento.

Sí. Cuando a PHP le falta memoria, se detiene en seco y tu sitio puede mostrar una página en blanco en lugar de un mensaje de error. Consulta mi artículo sobre la pantalla en blanco de WordPress si es lo que ves.

No modificando .ovhconfig: este archivo solo gestiona la versión y el entorno de PHP. En el alojamiento compartido de OVH, el límite lo fija el proveedor. En otros proveedores, estas son referencias de mi experiencia, no reglas oficiales: 256M para un sitio WordPress clásico, 512M con WooCommerce o un page builder, 1024M para WooCommerce con un page builder pesado.

Técnicamente sí en Apache, con la directiva php_value memory_limit 256M. Pero si tu proveedor utiliza LiteSpeed (es el caso de o2switch), esta directiva se ignora silenciosamente sin causar ningún error. Prefiere siempre el método Seleccionar una versión de PHP (o2switch) o .user.ini según tu proveedor.

¿Se ha atascado con esta manipulación?

Contácteme para que le eche una mano: llevo más de 10 años asistiendo a propietarios de sitios web:

Sobre la autora: Jennifer

Corregir el error «Allowed memory size exhausted» en WordPress
Soy Jennifer, fundadora de Webooste y desarrolladora WordPress freelance en Marsella (Francia) desde 2019. Titulada como desarrolladora web y web móvil (título oficial francés) y con más de 10 años de experiencia en el sector digital, me encargo del mantenimiento y la seguridad de webs WordPress y tiendas WooCommerce, 100 % online, con clientes de todo el mundo. ¡Persigo los errores, elimino los virus y le libero de las preocupaciones técnicas! Ver mis planes de mantenimiento · Contactar Encuéntreme en LinkedIn, Instagram, TikTok, YouTube o por WhatsApp.

Artículos relacionados