Error 500 en PrestaShop: causas y solución paso a paso (1.7, 8 y 9)
El error 500 es uno de los problemas más comunes en tiendas PrestaShop: la página se queda en blanco o muestra un escueto «500 Internal Server Error», el cliente no puede comprar y tú no sabes por dónde empezar. En esta guía te explico cómo encontrar la causa exacta y resolverla, paso a paso, en PrestaShop 1.7, 8 y 9.
¿Qué es el error 500 en PrestaShop?
Es un error genérico del lado del servidor: algo ha fallado al generar la página, pero el servidor no dice qué. Puede aparecer en toda la tienda o solo en una zona concreta (una ficha de producto, el checkout, el backoffice). La buena noticia: PrestaShop sabe exactamente qué ha fallado — solo hay que pedirle que te lo cuente activando el modo debug.
Paso 1: activa el modo debug
Con el modo debug activado, en lugar de la página en blanco verás el error concreto: archivo, línea y descripción. Hay dos formas de activarlo:
Desde el backoffice (si puedes entrar)
Ve a Parámetros Avanzados → Rendimiento y activa el Modo de depuración. Es la vía rápida en PrestaShop 1.7, 8 y 9.
Por FTP (si el backoffice también da error)
Edita el archivo config/defines.inc.php y cambia esta línea:
define('_PS_MODE_DEV_', false);
por:
define('_PS_MODE_DEV_', true);
Importante: desactívalo en cuanto resuelvas el problema. El modo debug muestra información sensible que no debe ver ningún visitante.
Complemento útil: revisa también los logs de PrestaShop en var/logs/ y el error_log de tu hosting — muchas veces el error ya está registrado ahí.
Paso 2: identifica la causa (las 7 más comunes)
1. Un módulo recién instalado o actualizado
La causa número uno. Si el error apareció justo después de instalar o actualizar un módulo, desactívalo (desde el backoffice o renombrando su carpeta en /modules/ por FTP). Por eso insisto siempre en elegir bien los módulos y probarlos en staging antes de tocar producción.
2. Versión de PHP incompatible
Cada versión de PrestaShop soporta un rango concreto de PHP: PrestaShop 8 funciona con PHP 7.2 a 8.1 y PrestaShop 9 requiere PHP 8.1 a 8.4. Si tu hosting actualiza PHP (o tú migras de versión) sin comprobarlo, el error 500 está casi garantizado. Se ajusta en el panel del hosting en segundos.
3. Memoria PHP agotada
El mensaje delator es «Allowed memory size exhausted». Sube el memory_limit en el panel de tu hosting o en php.ini (256M es un mínimo razonable para PrestaShop con módulos).
4. El archivo .htaccess
Una sola línea mal escrita lo tumba todo, y las URLs amigables o redirecciones manuales suelen ser las culpables. Prueba a renombrarlo temporalmente: si la tienda revive, ahí está el problema. Puedes regenerarlo desde Parámetros de la tienda → Tráfico y SEO o restaurar tu copia de seguridad.
5. Permisos de archivos y carpetas
Si el debug muestra «Permission denied», ajusta permisos: la pauta segura es 755 para carpetas y 644 para archivos. Evita el 777 salvo como prueba puntual: es un agujero de seguridad.
6. Caché corrupta
Tras actualizaciones o cambios de tema, vacía la caché borrando el contenido de var/cache/prod/ y var/cache/dev/ por FTP. Es inofensivo: PrestaShop la regenera.
7. Tiempo de ejecución excedido
«Maximum execution time exceeded»: algún proceso (importaciones grandes, módulos pesados) supera el límite. Sube max_execution_time, pero si pasa a menudo, el problema real suele ser de rendimiento — justo lo que reviso en una consultoría WPO.
¿Y si el error aparece sin haber tocado nada?
Sospecha de actualizaciones automáticas de PHP del hosting, módulos que se actualizan solos o, en el peor caso, de una intrusión: aquí tienes mi guía para detectar y quitar malware de PrestaShop. Un mantenimiento periódico con backups y monitorización evita el 90% de estos sustos.
Preguntas frecuentes sobre el error 500 en PrestaShop
¿Por qué me sale el error 500 solo en el backoffice (o solo en la tienda)?
Casi siempre es un módulo o un override que afecta a una sola parte. Activa el modo debug y mira qué fichero sale en el log: si está en /admin o en un módulo de backoffice, ya tienes al culpable. Desactívalo por FTP renombrando su carpeta y prueba otra vez.
Tengo PrestaShop 1.6 o 1.7 y veo «500 Server Error», ¿cambia algo?
La causa es la misma en todas las versiones (1.6, 1.7, 8 y 9), pero en 1.6 y 1.7 lo más habitual es la versión de PHP: esas ramas no se llevan bien con PHP 8.x. Baja a la versión de PHP recomendada desde el panel de tu hosting y el error suele irse.
Me da «HTTP ERROR 500» justo después de actualizar PrestaShop o un módulo.
Es el caso más típico. Si fue un módulo, desactívalo por FTP; si fue el propio PrestaShop, casi siempre es incompatibilidad de PHP o caché vieja: vacía /var/cache y revisa la versión de PHP. Y si tienes backup previo, restáuralo y actualiza con más calma.
El error aparece y no he tocado nada, ¿es posible?
Sí. Un cron, una actualización automática de PHP del hosting, un disco lleno o una caché corrupta lo provocan sin que hayas cambiado nada. Empieza vaciando /var/cache y revisando espacio y versión de PHP.
La pantalla está en blanco, ¿cómo veo el error real?
Activa el modo debug (Paso 1) o, más rápido, abre el error_log de tu hosting en /var/logs/. Ahí tienes la línea y el fichero exactos que rompen.
He probado las 7 causas y sigue. ¿Y ahora?
A esas alturas suele ser algo de servidor o una corrupción más profunda, y conviene una revisión a fondo: te cuento cómo lo abordo en el mantenimiento de PrestaShop.
En resumen
Modo debug → leer el error concreto → actuar sobre la causa (módulo, PHP, memoria, .htaccess, permisos, caché o timeout). Y siempre: backup antes de tocar y desactivar el debug al terminar.
Si el error se te resiste o no quieres arriesgar tu tienda en producción, cuéntamelo — entre mi equipo de Soy.es y yo lo localizamos y lo dejamos resuelto.
Si los errores 500 se han vuelto costumbre en tu tienda, quizá el problema no sea el módulo de turno sino la base: un consultor PrestaShop puede ayudarte a estabilizarla de raíz.
Y si el error apareció tras actualizar PrestaShop, en esa guía tienes la ruta segura para hacerlo sin sustos.
Ojo también a esto: algunos errores 500 repentinos de estos meses vienen de la oleada de hackeos a tiendas PrestaShop que está aprovechando módulos sin actualizar.
Preguntas frecuentes
¿Por qué aparece el error 500 en PrestaShop?
Es un error del servidor. Las causas más comunes son un módulo recién instalado, una versión de PHP incompatible, memoria agotada, un fallo en el .htaccess, permisos incorrectos o caché corrupta.
¿Cómo veo cuál es el error concreto?
Activa el modo de depuración de PrestaShop: en lugar de la página en blanco verás el archivo, la línea y la descripción del error.
¿Cómo lo soluciono rápido?
Modo debug para identificar la causa, y actúa sobre ella: desactiva el módulo problemático, ajusta la versión de PHP o la memoria, o regenera el .htaccess. Y siempre con un backup antes.
Raúl Jiménez
Consultor independiente de ecommerce con más de 20 años de experiencia. Especialista en PrestaShop, rendimiento web (WPO) y optimización de la conversión (CRO). Trabajo desde Elche (Alicante) con la agencia Soy.es, ayudando a tiendas online a vender más y mejor.
Deja una respuesta