Cómo solucionar el error 'Fatal error: Allowed memory size exhausted' en WordPress
¿Te ha aparecido el temido mensaje de error "Fatal error: Allowed memory size exhausted" en tu WordPress? Respira hondo, porque no es el fin del mundo. Es uno de los avisos más comunes en el hosting y, afortunadamente, tiene varias soluciones que puedes aplicar tú mismo, sin necesidad de ser un experto en programación.
Este error, conocido técnicamente como error memoria wordpress, significa que tu sitio web está intentando usar más memoria RAM de la que el servidor le permite por defecto. Piensa en la memoria como el espacio de trabajo de tu web: si intentas hacer demasiadas cosas a la vez (plugins pesados, una página con muchas imágenes, un ataque de bots), el espacio se llena y el sistema se bloquea.
En esta guía completa, te voy a explicar paso a paso cómo solucionar el allowed memory size exhausted wordpress, desde los métodos más sencillos hasta los más técnicos. Vamos a ello.
¿Qué significa exactamente este error?
Antes de lanzarnos a arreglarlo, es importante que entiendas el mensaje completo. Normalmente verás algo así:
Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 4096 bytes) in /ruta/a/tu/archivo.php on line 42
No te asustes con los números. Solo te está diciendo:
- Allowed memory size: El límite de memoria que tu WordPress tiene asignado (en este ejemplo, 64MB, que es bajo para los estándares actuales).
- Tried to allocate: Cuánta memoria adicional intentó usar.
- In /ruta/al/archivo.php: El archivo que estaba ejecutando cuando se quedó sin memoria. Esto te da una pista de qué plugin o tema está causando el problema.
En resumen, necesitas aumentar memoria php wordpress. Pero, ¿cómo? Hay varias formas, y te las explico de menor a mayor complejidad.
La solución más rápida: Aumentar el límite desde el archivo wp-config.php
Este es el primer método que debes probar. Es rápido, seguro y funciona en la mayoría de los casos. El archivo wp-config.php es el corazón de tu instalación de WordPress, y desde aquí puedes establecer un nuevo límite de memoria.
Paso 1: Accede a tu hosting
Primero, necesitas acceder al panel de control de tu hosting o al administrador de archivos. Si usas un panel como cPanel, Plesk o Syspanel (recuerda, el puerto de acceso para Syspanel es el 2106), busca la opción "Administrador de Archivos" o "File Manager".
Paso 2: Localiza el archivo wp-config.php
En la raíz de tu instalación de WordPress (donde están las carpetas wp-admin, wp-content y wp-includes), busca el archivo llamado wp-config.php.
[INFO]: Si no lo ves, activa la opción de "Mostrar archivos ocultos" en tu administrador de archivos, ya que a veces está oculto.
Paso 3: Edita el archivo
Haz clic derecho sobre wp-config.php y selecciona "Editar" o "Edit". Se abrirá un editor de texto.
Paso 4: Añade la línea mágica
Busca la línea que dice ¡Eso es todo, deja de editar! Feliz blogging. (normalmente al final del archivo). Justo antes de esa línea, pega la siguiente línea de código:
define('WP_MEMORY_LIMIT', '256M');
O si prefieres ser más generoso:
define('WP_MEMORY_LIMIT', '512M');
Paso 5: Guarda los cambios
Guarda el archivo y vuelve a cargar tu web. El error debería haber desaparecido. Si no es así, prueba con un valor más alto, como 1024M (1GB), aunque esto último es poco común para sitios pequeños.
[WARNING]: No elimines ni modifiques ninguna otra línea de este archivo. Un error aquí puede inutilizar tu web por completo.
Solución avanzada: Modificar el archivo .htaccess
Si el primer método no funciona, es posible que tu servidor no permita modificar la memoria desde wp-config.php. En ese caso, podemos intentarlo con el archivo .htaccess, que es un archivo de configuración del servidor Apache.
Paso 1: Encuentra el archivo .htaccess
Está en la misma carpeta que wp-config.php. Si no lo ves, recuerda activar la opción de "Mostrar archivos ocultos".
Paso 2: Añade el código
Al principio del archivo (después de la línea <IfModule mod_rewrite.c> o incluso antes), añade las siguientes líneas:
php_value memory_limit 256M
Paso 3: Guarda y comprueba
Guarda el archivo y refresca tu sitio. Si el error persiste, este método no es compatible con tu servidor (puede que use Nginx en lugar de Apache), así que pasemos al siguiente.
Solución definitiva: Crear un archivo php.ini
Este es el método más directo y a menudo el más efectivo, ya que modifica la configuración de PHP directamente en tu servidor.
Paso 1: Crea un archivo nuevo
En tu administrador de archivos, ve a la carpeta wp-admin (o a la raíz de tu sitio, aunque wp-admin suele ser más efectivo). Haz clic en "Nuevo archivo" y nómbralo php.ini.
Paso 2: Edita el archivo
Abre el archivo recién creado y pega lo siguiente:
memory_limit = 256M
Paso 3: Guarda y sube
Guarda el archivo. Si lo creaste en tu computadora, súbelo a la carpeta wp-admin de tu hosting. Luego, verifica si el error se ha resuelto.
[TIP]: Si este método no funciona, intenta subir el php.ini a la carpeta raíz de WordPress. A veces el servidor busca el archivo en diferentes ubicaciones.
La solución "pro": Aumentar la memoria en el panel de control (Syspanel/cPanel)
Muchos paneles de control modernos te permiten cambiar el límite de memoria de PHP sin tocar archivos. Esto es mucho más limpio y seguro.
Si usas Syspanel (puerto 2106):
- Accede a tu panel Syspanel usando
http://tu-dominio.com:2106(o la IP de tu servidor). - Busca la sección de "PHP" o "Configuración de PHP".
- Dentro de esa sección, verás una lista de opciones. Busca
memory_limit(o "Límite de memoria"). - Cambia el valor a
256Mo512M. - Guarda los cambios y reinicia PHP o el servicio web si es necesario.
Si usas cPanel:
- Entra en tu cPanel.
- Busca la sección "Software" y haz clic en "Select PHP Version" o "MultiPHP INI Editor".
- Si usas "Select PHP Version", haz clic en "Switch to PHP Options".
- Busca
memory_limity cambia el valor. - Guarda los cambios.
Este método es el más recomendado porque es centralizado y no se pierde al actualizar WordPress o plugins.
¿Por qué ocurre este error? Las causas más comunes
Ahora que ya sabes cómo solucionarlo, es bueno que sepas por qué ocurre para evitarlo en el futuro.
- Plugins mal optimizados: Son la causa número uno. Un plugin con fugas de memoria o que intenta cargar demasiados datos puede agotar el límite rápidamente.
- Tema con demasiadas funciones: Algunos temas son "todoterreno" y cargan muchos scripts y estilos innecesarios, consumiendo memoria.
- Imágenes de gran tamaño: Subir imágenes de varios megabytes sin comprimir puede agotar la memoria al generar miniaturas.
- Ataques de fuerza bruta: Un ataque de bots a tu
wp-login.phppuede saturar la memoria del servidor. - Mala configuración del servidor: El límite por defecto de PHP en algunos servidores puede ser muy bajo (como 64MB o 128MB), insuficiente para un WordPress moderno.
Consejos extra para evitar el error en el futuro
Aumentar la memoria es una solución temporal. Para evitar que el problema reaparezca, te recomiendo:
- Audita tus plugins: Desactiva todos los plugins y actívalos uno por uno para identificar cuál es el que consume más memoria.
- Actualiza todo: Mantén WordPress, tus plugins y tu tema siempre actualizados. Las actualizaciones suelen corregir problemas de rendimiento y memoria.
- Comprime tus imágenes: Usa herramientas como Smush o ShortPixel para optimizar las imágenes antes de subirlas.
- Usa un buen tema: Elige temas ligeros y bien codificados. Evita los temas "premium" llenos de opciones que no usas.
- Considera un mejor hosting: Si tu sitio crece, un hosting compartido básico puede quedarse corto. Considera migrar a un VPS o hosting gestionado de WordPress.
Preguntas frecuentes (FAQ)
¿Cuál es el límite de memoria recomendado para WordPress?
Para un sitio web normal, 256MB es un buen punto de partida. Si tienes un sitio con mucho tráfico o con plugins pesados, puedes subirlo a 512MB. Rara vez necesitarás más de 1GB.
¿Es seguro aumentar el límite de memoria?
Sí, es seguro siempre que no pongas un valor excesivamente alto (como 2GB o más) en un hosting compartido, ya que podría afectar el rendimiento del servidor. Aumentar de 64MB a 256MB es una práctica estándar y muy segura.
¿Por qué el error sigue apareciendo después de cambiar el límite?
Si el error persiste, es posible que:
- El archivo que modificaste no esté siendo leído por el servidor. Prueba con otro método.
- El problema sea un plugin muy específico que intenta asignar una cantidad enorme de memoria.
- Tu servidor tenga un límite máximo de memoria que no puedes superar desde PHP (un límite a nivel de servidor).
En ese caso, contacta con tu proveedor de hosting para que te ayude a aumentar el límite a nivel de servidor.
¿Puedo arreglar este error desde el escritorio de WordPress?
No, este error ocurre antes de que WordPress se cargue completamente, por lo que no podrás acceder al panel de administración. Deberás hacer los cambios por FTP o desde el administrador de archivos de tu hosting.
¿Qué pasa si no hago nada y dejo el error?
Tu sitio web se mostrará con un mensaje de error hasta que se resuelva. Además, el error puede volver a aparecer de forma intermitente, afectando la experiencia de tus visitantes y tu posicionamiento SEO.
[INFO]: Recuerda que si usas Syspanel, el puerto de acceso es el 2106. Este panel es una alternativa moderna y fácil de usar a cPanel, y encontrarás la configuración de PHP en la sección de "Ajustes del servidor" o similar.
Conclusión
El error de "Allowed memory size exhausted" es un problema común pero totalmente solucionable. Siguiendo estos pasos, podrás aumentar memoria php wordpress y recuperar el control de tu sitio en cuestión de minutos. Empieza siempre por el método más sencillo (editar wp-config.php) y ve subiendo en complejidad si es necesario.
Lo más importante es que diagnostiques la causa raíz (el plugin o tema problemático) para evitar que vuelva a ocurrir. Con un mantenimiento regular y buenas prácticas, tu WordPress estará estable y rápido.
Espero que esta guía te haya sido de gran ayuda. ¡Ahora ve y arregla ese error con confianza!
