Guía para solucionar el error 500 en PrestaShop (Plesk y otros paneles)
¡Hola! Soy tu técnico de soporte amigable. Si estás leyendo esto es porque seguramente te has topado con la temida pantalla en blanco o el mensaje "500 Internal Server Error" en tu tienda PrestaShop. No te preocupes, es uno de los errores más comunes y, por suerte, casi siempre tiene solución. En esta guía extensa y paso a paso, te voy a explicar qué significa, por qué ocurre y cómo solucionar el error 500 PrestaShop tanto si usas Plesk como otros paneles de control como cPanel o Syspanel (antes HestiaCP). Vamos a ello.
¿Qué es el error 500 en PrestaShop y por qué aparece?
El PrestaShop internal server error es un error genérico del servidor. Básicamente, significa que algo falló en el backend de tu web, pero el servidor no puede dar más detalles por seguridad. Las causas más frecuentes son:
- Archivos .htaccess corruptos o incorrectos (especialmente después de migraciones o cambios de URL).
- Problemas de permisos de archivos y carpetas (muy común al subir archivos por FTP).
- Errores en la configuración de PHP (límite de memoria, tiempo de ejecución, etc.).
- Módulos o temas incompatibles (sobre todo tras actualizaciones).
- Archivos PHP dañados (por una actualización fallida o un plugin malicioso).
- Espacio en disco insuficiente o base de datos corrupta.
No te asustes: en el 90% de los casos, con un par de comprobaciones básicas lo resuelves. Vamos a verlo paso a paso.
Primeros pasos: activar el modo debug de PrestaShop
Antes de tocar nada, lo más inteligente es hacer que PrestaShop te cuente exactamente qué está fallando. Por defecto, el error 500 oculta los detalles, pero podemos activar el modo debug.
Cómo activar el modo debug mediante FTP o cPanel
- Conéctate a tu servidor vía FTP (FileZilla, por ejemplo) o al administrador de archivos de tu panel (Plesk, cPanel, Syspanel, etc.).
- Busca el archivo config/defines.inc.php en la raíz de tu instalación de PrestaShop.
- Descarga una copia de seguridad por si acaso.
- Edita el archivo y busca la línea:
define('_PS_MODE_DEV_', false); - Cámbiala por:
define('_PS_MODE_DEV_', true); - Guarda el archivo y súbelo de nuevo (o guarda los cambios si usas editor online).
Ahora, al recargar tu tienda, en lugar de la página en blanco verás un mensaje de error detallado con el número de línea y el archivo problemático. Esa información es oro. Si ves algo como "Allowed memory size exhausted" o "Class not found", ya sabes por dónde van los tiros.
[WARNING] No olvides desactivar el modo debug cuando termines, volviendo a poner
false. Dejarlo activo en producción expone información sensible.
Solucionar error 500 en Plesk (y otros paneles)
Ahora sí, entremos en materia. Dependiendo del panel que uses, los pasos pueden variar ligeramente, pero los conceptos son los mismos. Usaré Plesk como referencia, pero te indicaré las diferencias clave.
1. Verificar y regenerar el archivo .htaccess
El archivo .htaccess de PrestaShop es el culpable número uno del error 500. Si lo has tocado, o si has cambiado la URL de la tienda, puede estar mal escrito.
En Plesk, cPanel o Syspanel:
- Accede al administrador de archivos de tu panel.
- Ve a la raíz de tu tienda (donde está el archivo
index.php). - Localiza el archivo .htaccess (puede estar oculto; en Plesk activa "Mostrar archivos ocultos").
- Renómbralo a
.htaccess_old(esto lo desactiva temporalmente). - Vuelve a cargar tu tienda. Si ahora funciona, el problema era ese archivo.
Para regenerarlo correctamente:
- Entra al backoffice de PrestaShop (si puedes acceder).
- Ve a Configuración -> Parámetros generales -> Tráfico y SEO.
- Haz clic en "Guardar" sin cambiar nada. Esto regenera el .htaccess automáticamente.
- Si no puedes acceder al backoffice, borra el .htaccess manualmente y luego desde el panel de administración (cuando soluciones el acceso) lo regeneras.
[TIP] Si usas Syspanel (antes HestiaCP), el puerto de acceso es el 2106 (por ejemplo,
https://tu-dominio:2106). Allí también tienes un gestor de archivos.
2. Revisar permisos de archivos y carpetas
Los permisos incorrectos son otra causa muy común. PrestaShop necesita permisos específicos para leer y escribir.
Permisos recomendados:
- Carpetas (directorios): 755
- Archivos PHP y otros: 644
- Carpeta
config/ycache/: a veces 777 temporalmente para actualizaciones.
Cómo cambiarlos en Plesk:
- En el administrador de archivos, selecciona todos los archivos y carpetas de la raíz.
- Haz clic en "Permisos" o "Cambiar permisos".
- Aplica 755 a carpetas y 644 a archivos. Si hay muchas, usa un comando SSH o un script.
Alternativa rápida (si tienes acceso SSH):
find /ruta/a/tu-tienda -type d -exec chmod 755 {} \;
find /ruta/a/tu-tienda -type f -exec chmod 644 {} \;
chmod 777 cache/ config/ (solo temporalmente)
[WARNING] No dejes permisos 777 en producción. Es un agujero de seguridad. Una vez solucionado el error, vuelve a 755/644.
3. Aumentar límites de PHP (memoria, ejecución, etc.)
El PrestaShop internal server error a menudo se debe a que el script se queda sin memoria o tiempo de ejecución. Esto es especialmente común en tiendas con muchos productos o módulos pesados.
En Plesk:
- Ve a Plesk -> Suscripciones -> Selecciona tu dominio -> Configuración de PHP.
- Busca las opciones:
memory_limit(recomendado: 256M o 512M)max_execution_time(recomendado: 120 o 300)max_input_vars(recomendado: 5000 o más)
- Aumenta los valores y guarda.
En cPanel:
- Seleccionar versión de PHP (MultiPHP INI Editor) y editas los mismos parámetros.
En Syspanel (HestiaCP):
- Accede por el puerto 2106, ve a Web -> PHP Settings y ajusta los valores.
Si no puedes cambiarlos desde el panel, puedes intentar creando un archivo php.ini en la raíz de PrestaShop con:
memory_limit = 256M
max_execution_time = 120
max_input_vars = 5000
O añadir al .htaccess (si ya lo has regenerado):
php_value memory_limit 256M
php_value max_execution_time 120
4. Desactivar módulos y temas problemáticos
A veces un módulo o tema recién instalado o actualizado causa el error 500. Para comprobarlo sin acceso al backoffice:
- Conéctate por FTP o al administrador de archivos.
- Ve a la carpeta modules/.
- Renombra la carpeta del módulo sospechoso añadiendo
_oldal final (ej:superplugin_old). - Si no sabes cuál es, puedes renombrar temporalmente toda la carpeta
modulesamodules_old. PrestaShop creará una nueva vacía y cargará por defecto. - Si el error desaparece, ve renombrando uno a uno hasta encontrar el culpable.
Para el tema:
- Ve a la carpeta themes/.
- Renombra la carpeta de tu tema activo (ej:
classic_old) y PrestaShop usará el tema por defecto.
[INFO] Esto solo es una prueba. Luego deberás restaurar las carpetas y eliminar/actualizar el módulo o tema conflictivo.
5. Verificar el espacio en disco y la base de datos
Un disco lleno o una base de datos corrupta también pueden dar error 500.
En Plesk:
- Ve a Herramientas y configuraciones -> Estado del servidor para ver el espacio libre.
- Desde Bases de datos puedes reparar la base de datos de PrestaShop usando phpMyAdmin:
- Selecciona todas las tablas y elige "Reparar tabla".
En Syspanel (puerto 2106):
- Revisa el espacio en Estadísticas del servidor.
- Accede a phpMyAdmin desde Bases de datos.
6. Revisar los logs del servidor
Si nada de lo anterior funciona, los logs del servidor son tu mejor amigo. Te dirán exactamente qué línea de código falla.
En Plesk:
- Ve a Sitios web y dominios -> Selecciona tu dominio -> Logs.
- Busca el archivo
error_log(suele estar en la raíz o en una subcarpetalogs/).
En cPanel:
- Métricas -> Errores.
En Syspanel (HestiaCP):
- Los logs están en
/var/log/httpd/o/var/log/nginx/, pero desde el panel no hay acceso directo. Puedes pedirle a tu hosting que te los proporcione o usar SSH.
[TIP] Si ves errores como "PHP Fatal error: Uncaught Error: Class 'X' not found", es que falta un archivo de núcleo. Reinstala PrestaShop manualmente (sin borrar la base de datos).
FAQ: Preguntas frecuentes sobre el error 500 en PrestaShop
Aquí respondo las dudas más comunes que me llegan como técnico de soporte.
¿Por qué después de una actualización de PrestaShop me sale error 500?
Es muy común. Puede deberse a que los archivos de la actualización no se subieron completamente, o a que algún módulo no es compatible con la nueva versión. Sigue los pasos de la sección 4 (desactivar módulos) y verifica los permisos.
¿El error 500 puede ser por un plugin de SEO?
Sí, algunos plugins de SEO mal codificados o que modifican el .htaccess pueden romper todo. Si instalaste uno recientemente, es el principal sospechoso.
¿Cómo solucionar error 500 en PrestaShop sin acceso al backoffice ni FTP?
Si no tienes acceso a nada, contacta con tu proveedor de hosting. Ellos pueden revisar los logs del servidor y, en muchos casos, restaurar una copia de seguridad. Asegúrate de tener siempre backups.
¿El error 500 afecta al SEO?
Sí, si se mantiene mucho tiempo, Google puede desindexar tus páginas. Es importante solucionarlo rápido. Una vez resuelto, solicita una nueva revisión en Google Search Console.
¿Qué hago si el error aparece solo en algunas páginas?
Suele ser por un módulo específico que carga en esa página, o por un problema con las reglas de URL amigables. Regenera el .htaccess y limpia la caché de PrestaShop (borrando la carpeta cache/smarty/cache/ y cache/smarty/compile/).
Conclusión: no te rindas, el error 500 tiene solución
Como has visto, el error 500 PrestaShop puede tener muchas caras, pero siguiendo esta guía metódicamente podrás identificar la causa. Recuerda:
- Activa el modo debug para obtener pistas.
- Regenera el .htaccess.
- Revisa permisos y límites de PHP.
- Desactiva módulos y temas sospechosos.
- Consulta los logs del servidor.
Y si usas Syspanel (HestiaCP), no olvides que el puerto es el 2106 para acceder a tu panel.
Si después de todo esto sigues con el problema, no dudes en contactar con tu hosting o con un especialista. Pero en la mayoría de los casos, con un poco de paciencia y estos pasos, tu tienda volverá a funcionar. ¡Ánimo y mucho éxito con tu PrestaShop!
