Solucionar errores 500 en PrestaShop (Plesk)
¿Por qué aparece el error 500 en PrestaShop y qué significa?
El error 500 es uno de los mensajes más temidos por cualquier persona que gestiona una tienda online. Cuando lo ves en tu PrestaShop, la página muestra un texto genérico como "Internal Server Error" o "Error 500 - Internal Server Error". Básicamente, significa que el servidor ha encontrado una situación inesperada que le impide completar la petición, pero no te dice exactamente qué ha fallado.
En la mayoría de los casos, este error no tiene que ver con un problema de tu conexión o del navegador del cliente, sino con algo que ocurre en el propio servidor donde está alojada tu tienda. Si tu hosting usa Plesk como panel de control, tienes varias herramientas a tu disposición para diagnosticar y solucionar el problema sin necesidad de ser un experto en programación.
Lo primero que debes saber es que el error 500 en PrestaShop puede deberse a múltiples causas: archivos con permisos incorrectos, un módulo conflictivo, problemas de memoria PHP, un archivo .htaccess corrupto, o incluso una actualización fallida. La buena noticia es que, siguiendo un proceso metódico, puedes identificar la causa y solucionar el error 500 en PrestaShop en la mayoría de los casos.
Activar el modo debug de PrestaShop: tu mejor aliado
Antes de tocar nada, necesitas que PrestaShop te diga qué está fallando exactamente. Por defecto, PrestaShop oculta los detalles del error y solo muestra la página genérica. Para ver el mensaje real, debes activar el modo debug de PrestaShop.
¿Cómo activar el modo debug manualmente?
El método más fiable es editar el archivo defines.inc.php. Para ello:
- Accede a tu panel de Plesk y entra en Administrador de archivos.
- Navega hasta la carpeta raíz de tu PrestaShop (normalmente
httpdocsopublic_html). - Busca la carpeta
configy dentro de ella el archivodefines.inc.php. - Haz clic derecho sobre el archivo y selecciona Editar.
- Busca la línea que dice
define('_PS_MODE_DEV_', false);y cambiafalseportrue. - Guarda los cambios.
Una vez hecho esto, recarga la página que daba el error 500. Ahora verás un mensaje mucho más descriptivo, con el archivo y la línea exacta donde se produce el problema. Esto es oro puro para solucionar el error 500 en PrestaShop.
[TIP] Si no encuentras el archivo
defines.inc.php, asegúrate de que el Administrador de archivos de Plesk muestra archivos ocultos. Puedes activarlo en la configuración del administrador de archivos.
Activar debug desde el archivo .htaccess
Otra opción, aunque menos recomendada, es añadir temporalmente estas líneas al archivo .htaccess:
php_flag display_errors on
php_value error_reporting 32767
Pero recuerda: esto solo funciona si tu servidor tiene permitido usar directivas php_flag en .htaccess. En muchos servidores Plesk con PHP-FPM, esta opción está deshabilitada. Por eso, el método del defines.inc.php es mucho más fiable.
Causas más comunes del error 500 en PrestaShop y cómo solucionarlas
Una vez que tienes el modo debug activado, verás un mensaje como "Fatal error: Allowed memory size of X bytes exhausted" o "Class not found". Vamos a repasar las causas más habituales y su solución.
1. Límite de memoria PHP agotado
Este es, con diferencia, el error 500 más común en PrestaShop. Si el mensaje dice algo como "Allowed memory size exhausted", tu tienda necesita más memoria de la que tiene asignada.
Para solucionarlo:
- Entra en Plesk y ve a Configuración de PHP (o PHP Settings) dentro del dominio de tu tienda.
- Busca el parámetro
memory_limit. - Si está en
128M, cámbialo a256Mo incluso512Msi tu plan de hosting lo permite. - Haz clic en Aplicar y guarda los cambios.
[INFO] Si tu proveedor no te deja cambiar este valor desde Plesk, contacta con soporte. Muchas veces es un límite impuesto por el servidor y solo ellos pueden modificarlo.
2. Permisos de archivos y carpetas incorrectos
Otro clásico. Si algún archivo o carpeta tiene permisos demasiado restrictivos, PHP no puede leerlo o escribirlo y provoca un error 500.
Los permisos correctos para PrestaShop son:
- Carpetas: 755
- Archivos: 644
- Carpeta
configycache: 755 (a veces 775 si el servidor lo requiere) - Archivo
.htaccess: 644
Para cambiarlos desde Plesk:
- Abre el Administrador de archivos.
- Selecciona todos los archivos y carpetas de la raíz.
- Usa la opción Cambiar permisos y establece los valores correctos.
- Aplica los cambios.
[WARNING] No pongas permisos 777 en todo. Además de ser un riesgo de seguridad, algunos servidores lo bloquean automáticamente y podría empeorar el problema.
3. Archivo .htaccess corrupto o incompatible
El .htaccess de PrestaShop es un archivo muy delicado. Una mala configuración, una regla incorrecta o una directiva no soportada por el servidor puede provocar el error 500.
Para comprobarlo:
- Renombra el archivo
.htaccessa.htaccess.bakdesde el Administrador de archivos. - Recarga tu tienda. Si el error desaparece, el problema es el
.htaccess. - Ve al panel de administración de PrestaShop y en Parámetros avanzados > Rendimiento pulsa Regenerar el archivo .htaccess.
- Si no puedes acceder al panel, crea un
.htaccessnuevo con el contenido básico de PrestaShop o restaura el backup.
[TIP] Si no tienes backup del
.htaccessy no puedes regenerarlo, contacta con soporte. Es un archivo que se genera automáticamente, pero necesita que la tienda funcione mínimamente para hacerlo.
4. Módulos incompatibles o con errores
Un módulo recién instalado o actualizado puede ser el culpable. Si el error 500 apareció justo después de instalar o actualizar un módulo, ese es tu sospechoso número uno.
Para solucionarlo:
- Accede al panel de administración de PrestaShop (si puedes).
- Ve a Módulos > Administrador de módulos.
- Desactiva los módulos no esenciales o los que hayas instalado recientemente.
- Si no puedes acceder al panel, tendrás que desactivar el módulo manualmente. En la carpeta
modules, renombra la carpeta del módulo sospechoso (por ejemplo, demodulo_problemaamodulo_problema_off).
[WARNING] No renombres carpetas de módulos que sean esenciales para el funcionamiento de PrestaShop, como
ps_mainmenuoblockcart. Si no estás seguro, desactiva primero los módulos de terceros.
Herramientas de Plesk para diagnosticar el error 500
Plesk ofrece varias utilidades que te pueden ayudar a solucionar el error 500 en PrestaShop sin tener que tocar código.
Registro de errores del servidor
Accede a Plesk > Sitios web y dominios > tu dominio > Registros. Ahí verás los logs de acceso y errores. Busca las líneas con "500" o "PHP Fatal error". Estos registros te darán pistas muy valiosas sobre el origen del problema.
Administrador de tareas programadas
Si el error 500 aparece solo en ciertos momentos del día, puede estar relacionado con un cron job mal configurado. Revisa en Plesk > Programador de tareas si hay tareas que fallen y corrígelas.
Cambiar la versión de PHP
A veces, una actualización de PrestaShop requiere una versión de PHP más reciente. En Plesk > Configuración de PHP, puedes cambiar la versión de PHP de tu dominio. Prueba a cambiar a una versión más reciente si tienes dudas de compatibilidad.
[INFO] Si tu PrestaShop es antiguo, no subas a PHP 8.x sin antes comprobar la compatibilidad. Muchos módulos antiguos no funcionan con las versiones más nuevas de PHP.
Solucionar error 500 tras una actualización de PrestaShop
Las actualizaciones son una de las causas más frecuentes de errores 500. Si acabas de actualizar PrestaShop y ahora no carga nada, sigue estos pasos:
- Limpia la caché: Borra el contenido de las carpetas
var/cache(ocacheen versiones antiguas). Puedes hacerlo desde el Administrador de archivos de Plesk. - Verifica que la versión de PHP es compatible: Consulta los requisitos de la versión de PrestaShop que has instalado.
- Revisa los logs de actualización: En la carpeta
var/logs(olog), busca archivos con errores. - Restaura una copia de seguridad: Si nada funciona, restaura la copia de seguridad anterior desde Plesk > Copias de seguridad.
[TIP] Antes de cualquier actualización, haz siempre una copia de seguridad completa de archivos y base de datos. Esto te salvará de muchos dolores de cabeza.
Preguntas frecuentes sobre el error 500 en PrestaShop
¿Qué hago si no puedo acceder ni al panel de administración?
Si el error 500 afecta también a /admin, activa el modo debug manualmente editando defines.inc.php como explicamos antes. Con el mensaje de error detallado, sabrás qué archivo está fallando.
¿El error 500 puede deberse a un problema de la base de datos?
Sí, aunque es menos común. Si el mensaje de error menciona algo sobre PDO o MySQL, revisa que la base de datos esté activa desde Plesk > Bases de datos. También puedes verificar las credenciales en el archivo app/config/parameters.php.
¿Debo contactar con mi proveedor de hosting?
Si tras agotar todas las opciones anteriores el error persiste, sí. A veces el problema está en el servidor en sí, como un disco lleno o un servicio PHP caído. Tu proveedor puede verificar estos aspectos en segundos.
¿Puedo evitar que vuelva a pasar?
Para minimizar el riesgo de futuros errores 500:
- Mantén PrestaShop, los módulos y el tema siempre actualizados.
- Haz copias de seguridad periódicas.
- No instales módulos de fuentes no oficiales.
- Revisa los logs del servidor de vez en cuando para detectar anomalías.
Conclusión: no entres en pánico, el error 500 tiene solución
El error 500 en PrestaShop puede parecer aterrador, pero siguiendo estos pasos podrás solucionar el error 500 en PrestaShop alojado en Plesk en la mayoría de los casos. La clave está en activar el modo debug, revisar los logs y actuar sobre la causa concreta: memoria, permisos, .htaccess, módulos o actualizaciones.
Recuerda que la paciencia y el método son tus mejores herramientas. Ve paso a paso, sin tocar varias cosas a la vez, y haz siempre copias de seguridad antes de modificar archivos críticos. Con un poco de práctica, serás capaz de diagnosticar este tipo de errores en cuestión de minutos.
[INFO] Si este artículo te ha sido útil, compártelo con otros usuarios de PrestaShop. Y si tienes alguna duda concreta, déjala en los comentarios: intentaremos ayudarte en lo posible.
