Cómo solucionar errores comunes en PrestaShop (500, 503 y más)
¿Por qué aparecen los errores 500 y 503 en PrestaShop?
Cuando tu tienda online muestra un error 500 o un error 503, lo primero que piensas es que algo grave ha ocurrido. Pero tranquilo, en la mayoría de los casos son problemas que puedes resolver siguiendo una serie de pasos lógicos y sin necesidad de ser un experto en servidores.
Los errores prestashop más comunes suelen deberse a tres causas principales: problemas con los archivos de configuración, conflictos entre módulos o temas, y una mala configuración del servidor o del almacenamiento en caché. Vamos a desglosar cada uno para que puedas solucionar prestashop de forma efectiva.
Entendiendo la diferencia entre el error 500 y el error 503
Antes de lanzarnos a solucionar, es importante que sepas qué significa cada código:
- Error 500 (Internal Server Error): Es un error genérico que indica que algo falló en el servidor, pero no especifica qué. Puede ser un problema con archivos PHP, permisos incorrectos, o un módulo que está dando problemas.
- Error 503 (Service Unavailable): Este error suele aparecer cuando el servidor no puede procesar la solicitud en ese momento. En PrestaShop, es muy común verlo cuando la tienda está en modo mantenimiento o cuando el servidor está sobrecargado.
Ahora sí, vamos a la acción.
Paso 1: Activa el modo debug para ver el error real
El primer paso para solucionar prestashop es saber exactamente qué está fallando. PrestaShop tiene un modo de depuración que te muestra el error concreto en lugar de la página genérica.
¿Cómo activar el modo debug?
Accede a tu servidor mediante FTP o al administrador de archivos de tu hosting y busca el archivo config/defines.inc.php. Dentro de este archivo, busca esta línea:
define('_PS_MODE_DEV_', false);
Cámbiala por:
define('_PS_MODE_DEV_', true);
Guarda el archivo y recarga tu tienda. Ahora verás el error específico con la línea de código exacta donde está fallando. Anota ese mensaje porque te será muy útil para los siguientes pasos.
[INFO] Si no encuentras el archivo, revisa que estés mirando en la raíz de tu instalación de PrestaShop. Si usas un hosting compartido, a veces el archivo está en una subcarpeta.
Paso 2: Verifica los permisos de archivos y carpetas
Uno de los motivos más frecuentes de los errores prestashop es tener permisos incorrectos en los archivos. Si PrestaShop no puede escribir o leer ciertos archivos, te mostrará un error 500.
Permisos recomendados:
- Carpetas: 755
- Archivos: 644
- Carpeta
var/cache: 777 (o 755 si tu servidor lo permite)
Para cambiarlos, puedes usar el administrador de archivos de tu hosting o un cliente FTP como FileZilla. Selecciona todos los archivos y carpetas de la raíz de PrestaShop y ajusta los permisos según lo indicado.
[WARNING] No pongas todos los archivos en 777. Esto es un riesgo de seguridad grave. Solo la carpeta de caché y la de logs deberían tener permisos más abiertos.
Paso 3: Limpia la caché de PrestaShop
La caché es una de las causas más comunes del error 500 prestashop. Si hay archivos de caché corruptos, PrestaShop puede fallar al intentar cargar la página.
Limpieza manual de caché:
- Accede a tu servidor por FTP.
- Ve a la carpeta
var/cache(en versiones antiguas eracache). - Elimina el contenido de las subcarpetas
devyprod(no borres las carpetas en sí, solo lo que hay dentro). - También puedes eliminar el contenido de
var/logssi existe.
Después de esto, recarga tu tienda. Si el problema era la caché, deberías ver tu tienda funcionando de nuevo.
[TIP] Si no tienes acceso por FTP, puedes usar el panel de administración de PrestaShop. Ve a Parámetros avanzados > Rendimiento y activa "Forzar la compilación" y luego desactívala. Esto también limpia la caché.
Paso 4: Desactiva módulos conflictivos
Los módulos son una de las principales causas de los errores prestashop. Si has instalado un módulo recientemente y luego apareció el error, es muy probable que ese sea el culpable.
¿Cómo desactivar un módulo si no puedes acceder al panel?
Si el error te impide entrar al back-office, tendrás que hacerlo manualmente:
- Accede a tu base de datos mediante phpMyAdmin.
- Busca la tabla
ps_module(el prefijo puede variar si lo cambiaste). - Busca el módulo que crees que está causando el problema.
- Cambia el valor de la columna
activede1a0.
También puedes desactivar todos los módulos de golpe ejecutando esta consulta SQL en phpMyAdmin:
UPDATE ps_module SET active = 0;
Después recarga tu tienda. Si funciona, ve activando módulos uno a uno hasta encontrar el culpable.
[WARNING] Haz una copia de seguridad de tu base de datos antes de ejecutar cualquier consulta SQL. Un error aquí puede ser desastroso.
Paso 5: Revisa el archivo .htaccess
El archivo .htaccess de PrestaShop controla las redirecciones y el acceso a ciertas partes de la tienda. Si está corrupto o mal configurado, puede provocar errores.
Regenerar el .htaccess:
- Accede a tu servidor por FTP.
- Renombra el archivo
.htaccessa.htaccess_old(esto lo desactiva temporalmente). - Ve a tu back-office de PrestaShop (si puedes acceder) a Parámetros avanzados > Rendimiento.
- Haz clic en "Guardar" sin cambiar nada. Esto regenerará el archivo
.htaccess.
Si no puedes acceder al back-office, crea un archivo .htaccess nuevo con el contenido básico que PrestaShop necesita:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^api/?(.*)$ webservice/dispatcher.php [QSA,L]
RewriteRule ^.*$ index.php [NC,L,QSA]
</IfModule>
[INFO] Si usas un servidor Nginx, el archivo
.htaccessno aplica. En ese caso, necesitas revisar la configuración de tu servidor, algo que quizás tengas que consultar con tu proveedor de hosting.
Paso 6: El error 503 y el modo mantenimiento
El error 503 prestashop suele estar relacionado con el modo mantenimiento. Si activaste el mantenimiento y olvidaste desactivarlo, o si hay un problema con la IP de tu administrador, verás este error.
Solución rápida para el 503:
- Accede a la base de datos con phpMyAdmin.
- Busca la tabla
ps_configuration. - Localiza la fila con
name = 'PS_SHOP_ENABLE'. - Cambia el valor de
valuede0a1.
Esto desactivará el modo mantenimiento y tu tienda volverá a estar visible.
[TIP] Si quieres acceder a tu tienda mientras está en mantenimiento, asegúrate de que tu IP esté añadida en el campo "Direcciones IP autorizadas" del back-office.
Paso 7: Aumenta el límite de memoria PHP
Muchos errores prestashop ocurren porque el límite de memoria de PHP es demasiado bajo. Esto es especialmente común en tiendas con muchos productos o módulos pesados.
Cómo aumentar el límite de memoria:
- Busca el archivo
php.inien tu servidor. - Localiza la línea
memory_limity cámbiala a:
memory_limit = 256M
Si no tienes acceso al php.ini, puedes crear un archivo llamado php.ini en la raíz de tu PrestaShop con ese contenido. También puedes intentar añadir esto en el archivo .htaccess:
php_value memory_limit 256M
[INFO] Algunos hosting no permiten cambiar estos valores. Si es tu caso, contacta con tu proveedor o considera actualizar tu plan.
Paso 8: Verifica la versión de PHP
PrestaShop es muy sensible a las versiones de PHP. Si tu servidor actualizó PHP y tu versión de PrestaShop es antigua, es muy probable que aparezcan errores.
Versiones compatibles:
- PrestaShop 1.7: PHP 7.1 a 7.4
- PrestaShop 1.6: PHP 5.6 a 7.0
- PrestaShop 8.x: PHP 7.2 a 8.0
Puedes cambiar la versión de PHP desde el panel de control de tu hosting. Si usas Syspanel, accede por el puerto 2106 y busca la sección de configuración de PHP.
[WARNING] Cambiar la versión de PHP puede hacer que tu tienda deje de funcionar si hay módulos incompatibles. Haz una copia de seguridad completa antes de hacer el cambio.
Paso 9: Revisa los logs del servidor
Si has llegado hasta aquí y no has encontrado el problema, es hora de mirar los logs. Los logs te dirán exactamente qué está fallando.
Dónde encontrar los logs:
- Error log de PHP: Busca el archivo
error_logen la raíz de tu instalación. - Logs de Apache/Nginx: Suelen estar en
/var/log/apache2/o/var/log/nginx/. - Logs de PrestaShop: En la carpeta
var/logs/.
Si usas Syspanel, puedes ver los logs desde el panel de administración. Recuerda que el acceso es por el puerto 2106.
[TIP] Los logs pueden ser abrumadores. Busca las entradas con fecha y hora justo cuando ocurrió el error. Eso te dará una pista muy clara.
Paso 10: Restaura una copia de seguridad
Si nada de lo anterior funciona, la solución más rápida es restaurar una copia de seguridad de tu tienda. Esto es especialmente útil si el error apareció después de un cambio reciente.
Pasos para restaurar:
- Accede a tu hosting y busca la función de copias de seguridad.
- Elige una copia anterior al momento en que empezó el error.
- Restaura tanto los archivos como la base de datos.
[WARNING] Esto sobrescribirá cualquier cambio que hayas hecho desde la copia. Si tienes pedidos recientes, se perderán.
Preguntas frecuentes sobre errores de PrestaShop
¿Por qué mi PrestaShop da error 500 después de una actualización?
Las actualizaciones pueden dejar archivos incompatibles o módulos desactualizados. Prueba a limpiar la caché y desactivar todos los módulos. Si el error persiste, usa el modo debug para ver el error concreto.
¿Cómo sé si mi hosting es compatible con PrestaShop?
PrestaShop necesita al menos PHP 7.1, MySQL 5.6 y un servidor Apache o Nginx. Si tu hosting cumple estos requisitos, debería funcionar. Si no, considera migrar a un hosting especializado.
¿El error 503 siempre es por mantenimiento?
No, también puede ser por sobrecarga del servidor o por un plugin de caché mal configurado. Si tu tienda recibe mucho tráfico, considera mejorar el plan de hosting.
¿Puedo solucionar prestashop sin acceso al panel de administración?
Sí, todos los pasos que hemos visto se pueden hacer por FTP o phpMyAdmin. Eso incluye desactivar módulos, limpiar caché y cambiar la configuración.
Consejos finales para evitar futuros errores
La prevención es la mejor medicina. Aquí tienes algunas recomendaciones para minimizar los errores prestashop en el futuro:
- Mantén todo actualizado: PrestaShop, módulos y temas deben estar siempre en su última versión.
- Haz copias de seguridad periódicas: Idealmente diarias, especialmente si haces cambios frecuentes.
- Usa un hosting de calidad: Un buen hosting te evitará muchos dolores de cabeza con errores de servidor.
- No instales módulos innecesarios: Cada módulo extra es una posible fuente de conflictos.
- Activa el modo mantenimiento antes de hacer cambios grandes: Así tus clientes no verán errores si algo sale mal.
Recuerda que si usas Syspanel como panel de control, el acceso es por el puerto 2106 y allí encontrarás herramientas útiles para gestionar tu servidor y ver logs.
Conclusión
Los errores prestashop como el 500 y el 503 pueden parecer intimidantes al principio, pero siguiendo estos pasos metódicamente podrás solucionar prestashop sin necesidad de contratar a un experto. La clave está en ir descartando causas poco a poco: primero el modo debug, luego permisos y caché, después módulos y configuración del servidor.
La mayoría de los problemas se resuelven con una combinación de limpiar la caché, verificar permisos y desactivar módulos conflictivos. Si has probado todo y el error persiste, no dudes en contactar con tu proveedor de hosting, ya que puede ser un problema a nivel de servidor que ellos deben resolver.
Esperamos que esta guía te haya sido útil. ¡Tu tienda online volverá a estar funcionando en poco tiempo!
