Cómo resolver el error 500 en PrestaShop (Guía rápida)
¡Vaya! Que aparezca un error 500 en PrestaShop es, probablemente, uno de los sustos más grandes que te puedes llevar gestionando tu tienda online. De repente, la página se queda en blanco, o muestra ese mensaje genérico de "Error interno del servidor", y el pánico se apodera de ti.
Pero tranquilo, respira. Este error es mucho más común de lo que parece y, en la gran mayoría de los casos, tiene solución en pocos minutos si sigues los pasos adecuados. No necesitas ser un experto en programación para intentar arreglarlo por ti mismo.
En esta guía rápida, vamos a desglosar, paso a paso y en un lenguaje muy claro, cómo identificar la causa y cómo solucionar el error 500 en PrestaShop de una vez por todas. Vamos a ello.
¿Qué significa realmente el Error 500 en PrestaShop?
Antes de lanzarnos a tocar cosas, es importante entender qué está pasando. El error 500 es un mensaje genérico del servidor que indica que algo ha fallado en el funcionamiento interno de tu tienda, pero no nos dice exactamente qué es.
Piensa en ello como cuando un coche se para en mitad de la carretera: el problema puede ser la batería, que se ha quedado sin gasolina, o un fallo en el motor. El error 500 es la luz de "check engine" encendida. Para arreglarlo, necesitamos leer el código de diagnóstico.
Las causas más habituales de los errores comunes PrestaShop relacionados con el 500 suelen ser:
- Un archivo
.htaccesscorrupto o con reglas incorrectas. - Un módulo o plugin que acabas de instalar y que da conflicto.
- Problemas de permisos de archivos o carpetas.
- Un archivo de configuración (
settings.inc.phpo.env) con datos erróneos. - Problemas de memoria PHP (límite de memoria excedido).
- Una versión de PHP incompatible con tu versión de PrestaShop.
En esta guía, vamos a atacar estos puntos desde el más fácil y seguro hasta el más complejo.
Preparación: Activa el Modo Debug de PrestaShop
Este es el primer paso y el más importante. PrestaShop tiene un "modo de depuración" (debug mode) que, en lugar de mostrarte la página en blanco o el error genérico, te mostrará el error real en la pantalla.
Para activarlo, necesitas acceder a tu servidor a través de un administrador de archivos (como el que trae tu panel de control) o un cliente FTP (como FileZilla).
### Paso 1: Localiza el archivo de configuración
Dentro de la carpeta raíz de tu PrestaShop (donde están las carpetas admin, config, img, etc.), busca el archivo llamado config/defines.inc.php.
### Paso 2: Edita el archivo
Ábrelo con un editor de texto plano (como el Bloc de notas o Visual Studio Code). Busca la línea que dice exactamente:
define('_PS_MODE_DEV_', false);
### Paso 3: Cámbialo a "true"
Cámbialo por:
define('_PS_MODE_DEV_', true);
Guarda el archivo y súbelo de nuevo al servidor (si lo has descargado). Ahora, cuando recargues tu tienda, en lugar del error 500, verás un mensaje de error detallado con la ruta del archivo problemático y la línea exacta donde se produce el fallo.
[TIP] Anota ese mensaje de error, ya que te dará una pista clave para saber qué está fallando. Si el mensaje es muy largo, puedes hacer una captura de pantalla para consultarlo más tarde.
Soluciones Prácticas para el Error 500
Ahora que tienes el modo debug activado (o si prefieres ir probando soluciones a ciegas), vamos a por las soluciones más efectivas.
1. Regenera el archivo .htaccess
Este es, con diferencia, el origen más común del problema. El archivo .htaccess es un archivo de configuración que controla las URLs amigables, los redireccionamientos y la seguridad. Si se corrompe, tu tienda no arrancará.
Cómo solucionarlo:
- Accede a tu servidor y busca el archivo
.htaccessen la raíz de tu PrestaShop. - Descarga una copia de seguridad de este archivo a tu ordenador (por si acaso).
- Elimina el archivo
.htaccessoriginal del servidor. - Ve al panel de administración de tu tienda:
http://tudominio.com/admin/. - Si la tienda ya carga, ve a Preferencias > SEO y URLs.
- Sin cambiar nada, haz clic en el botón Guardar (o "Guardar y regenerar"). PrestaShop creará un nuevo archivo
.htaccessautomáticamente.
[WARNING] Si al eliminar el archivo
.htaccesstu tienda sigue dando error, no entres en pánico. Simplemente restaura la copia de seguridad que has descargado y pasa al siguiente paso.
2. Revisa los permisos de archivos y carpetas
Los archivos y carpetas de tu servidor tienen "permisos" que indican quién puede leerlos, escribirlos o ejecutarlos. Si estos permisos se han cambiado por error, PrestaShop no podrá escribir archivos de caché o leer configuraciones, y aparecerá el error.
Cómo solucionarlo:
- Los directorios (carpetas) deben tener permisos
755(o775en algunos servidores). - Los archivos deben tener permisos
644(o664).
La mayoría de los clientes FTP o los administradores de archivos te permiten cambiar esto. Selecciona la carpeta raíz de tu PrestaShop, haz clic derecho y busca la opción "Permisos de archivo" o "CHMOD".
[INFO] Si no estás seguro de cómo hacer esto, contacta con tu proveedor de hosting. Ellos pueden verificar y restablecer los permisos correctos para ti en minutos. Es una operación delicada si no se hace bien.
3. Desactiva módulos recientes o conflictivos
¿Acabas de instalar un nuevo módulo de pago, envío o un plugin de SEO justo antes de que empezara el error? Es muy probable que sea el culpable.
Cómo solucionarlo:
- Con el modo debug activado, el mensaje de error te dirá el nombre del archivo problemático. Si ves algo como
/modules/nombre_del_modulo/..., ya sabes cuál es. - Si no tienes esa información, tendrás que desactivar módulos manualmente.
- Accede a la carpeta
/modules/en tu servidor. - Busca la carpeta del módulo sospechoso (el que hayas instalado recientemente).
- Renómbrala añadiendo un guion bajo al final, por ejemplo:
nombre_del_modulo_old.
Esto "engañará" a PrestaShop para que no lo cargue. Si la tienda vuelve a funcionar, has encontrado al culpable. Ahora puedes desinstalarlo desde el panel de administración o eliminarlo definitivamente.
4. Aumenta el límite de memoria de PHP
PrestaShop es una plataforma exigente. Si tu tienda ha crecido o tienes muchos módulos activos, es posible que esté agotando la memoria PHP asignada por defecto.
Cómo solucionarlo:
- Busca el archivo
config/settings.inc.php(en versiones antiguas) oapp/config/parameters.php(en versiones nuevas). También puedes crear un archivo llamadophp.inien la raíz. - Añade o modifica la siguiente línea:
memory_limit = 256M
Si no puedes crear un php.ini, puedes intentar añadir esta línea al archivo .htaccess (en la parte superior):
php_value memory_limit 256M
[TIP] Aumentar la memoria a 256M o 512M es una práctica segura y común para tiendas con un catálogo de productos medio-grande.
5. Comprueba la versión de PHP
PrestaShop 1.6, por ejemplo, funciona perfectamente con PHP 5.6 o 7.0, pero puede fallar con PHP 8.0. Si has actualizado la versión de PHP desde el panel de tu hosting, es posible que tu tienda no sea compatible.
Cómo solucionarlo:
- Accede al panel de control de tu hosting (cPanel, Plesk, o Syspanel en el puerto 2106).
- Busca la sección "Select PHP Version", "MultiPHP Manager" o similar.
- Prueba a cambiar la versión de PHP a una más antigua (por ejemplo, de 8.0 a 7.4) y comprueba si tu tienda carga.
[WARNING] Antes de cambiar la versión de PHP, asegúrate de que el sistema de gestión de tu hosting te lo permite y de que tu PrestaShop es compatible con esa versión. Cambiar a una versión demasiado antigua puede generar otros problemas de seguridad.
¿Y si nada de esto funciona? La última bala
Si has probado todos los pasos anteriores y el error persiste, es hora de buscar ayuda especializada. A veces, el error puede deberse a un problema más profundo en la base de datos o en archivos de núcleo de PrestaShop.
Opciones que tienes:
- Revisa los logs del servidor: La mayoría de los paneles de control (incluido Syspanel) tienen un visor de "Registros de errores" o "Error Logs". Ahí encontrarás el error exacto que está generando el servidor, lo que dará una pista más clara a un técnico.
- Contacta con tu proveedor de hosting: Ellos pueden ver los logs del servidor a nivel de sistema y te pueden decir si es un problema de recursos (CPU, memoria) o de configuración del servidor. Es un recurso gratuito que tienes a tu disposición.
- Contrata a un desarrollador especializado en PrestaShop: Si el error es complejo, a veces es más rentable pagar a un profesional que pase horas intentando arreglarlo tú mismo y arriesgarte a perder ventas.
Preguntas Frecuentes (FAQ) sobre el Error 500 en PrestaShop
¿Puedo perder mis pedidos o clientes si tengo un error 500?
No, el error 500 es un problema de visualización, no de datos. Tus pedidos, clientes y productos están a salvo en la base de datos. Una vez que arregles la tienda, todo volverá a la normalidad.
¿Es seguro activar el modo debug?
Sí, pero solo temporalmente. Una vez que hayas solucionado el problema, es muy recomendable volver a cambiar _PS_MODE_DEV_ a false. Si lo dejas activado, cualquier visitante podría ver errores internos de tu tienda, lo cual es un riesgo de seguridad.
¿El error 500 siempre es culpa de un módulo?
No, aunque es la causa más frecuente. También puede ser por un tema, un cambio de configuración del servidor, o una actualización fallida.
¿Puedo prevenir el error 500 en el futuro?
Sí, en gran medida. Siempre haz copias de seguridad de tu tienda (archivos y base de datos) antes de instalar cualquier módulo o actualizar. Mantén tu PrestaShop y tus módulos siempre actualizados a las últimas versiones estables.
¿Qué pasa si no tengo acceso al panel de administración?
Si el error te impide entrar al panel de administración, los pasos que hemos descrito (modificar archivos por FTP, renombrar módulos, etc.) son tu única vía de solución, ya que no dependen de la interfaz web.
Conclusión
Encontrarse con un error 500 en PrestaShop es un contratiempo, pero no es el fin del mundo. Con esta guía, tienes un plan de acción claro y ordenado para identificar y solucionar el error 500 en la mayoría de los casos. Recuerda siempre: actúa con calma, haz una copia de seguridad antes de tocar nada y ve paso a paso.
La clave está en la paciencia y en seguir el orden lógico de las soluciones. Primero lo más simple (regenerar .htaccess), luego lo más específico (desactivar módulos) y, si todo falla, busca ayuda profesional. ¡Tu tienda volverá a estar en línea en poco tiempo!
