Cómo solucionar problemas comunes de PrestaShop
¡Hola! Soy tu técnico de soporte amigable. Si tienes una tienda online con PrestaShop, seguro que en algún momento te has encontrado con algún que otro dolor de cabeza: la página se vuelve blanca, no puedes acceder al panel de administración, o los productos no se actualizan.
No te preocupes, es más normal de lo que crees. En esta guía PrestaShop completa, vamos a ver los errores PrestaShop más frecuentes y, lo más importante, cómo solucionarlos paso a paso. Piensa en esto como tu FAQ PrestaShop particular, diseñado para que, incluso sin ser un experto en Linux, puedas poner tu tienda a funcionar otra vez.
Vamos a ello.
1. La temida "Pantalla Blanca" (WSOD) en PrestaShop
Este es, sin duda, uno de los problemas PrestaShop más clásicos. Entras a tu tienda y solo ves una página en blanco. No hay mensajes de error, nada. Es frustrante, pero tiene solución.
¿Por qué ocurre?
Generalmente, se debe a un error de PHP que está oculto. Puede ser por un módulo incompatible, un tema defectuoso, o que el límite de memoria de PHP se haya agotado.
Solución paso a paso:
- Activar el modo debug de PrestaShop: Para ver el error real, necesitamos que PrestaShop nos lo muestre. Accede a tu servidor por FTP o al administrador de archivos de tu panel de hosting.
- Localiza el archivo
config/defines.inc.php: Dentro de la carpeta raíz de tu PrestaShop, busca esta ruta. - Edita el archivo: Busca la línea que dice:
define('_PS_MODE_DEV_', false);
Cámbiala a:
define('_PS_MODE_DEV_', true); - Recarga tu tienda: Ahora, en lugar de la pantalla blanca, deberías ver un mensaje de error en PHP. Ese mensaje te dirá exactamente qué archivo y qué línea están causando el problema (por ejemplo, un error en un archivo de un módulo).
- Solución según el error:
- Si el error es de un módulo: Desactívalo temporalmente. Puedes hacerlo desde el panel de administración (si aún puedes acceder) o, si no, renombrando la carpeta del módulo en
/modules/nombre_del_moduloa/modules/nombre_del_modulo_BACKUPa través de FTP. - Si el error es de memoria: Aumenta el límite de memoria de PHP. Esto se hace desde el archivo
php.inide tu servidor. Si no lo tienes, puedes crearlo en la raíz de PrestaShop con esta línea:
memory_limit = 256M - Si el error es del tema: Cambia temporalmente al tema predeterminado de PrestaShop (por ejemplo, "classic") desde la base de datos o renombrando la carpeta del tema en
/themes/tu_tema.
- Si el error es de un módulo: Desactívalo temporalmente. Puedes hacerlo desde el panel de administración (si aún puedes acceder) o, si no, renombrando la carpeta del módulo en
[TIP] Una vez solucionado el problema, vuelve a poner
define('_PS_MODE_DEV_', false);en el archivodefines.inc.php. Tener el modo debug activado en una tienda en producción es un riesgo de seguridad.
2. Error "500 Internal Server Error"
Otro de los clásicos. Este error es más genérico que la pantalla blanca, pero suele indicar un problema en la configuración del servidor o un archivo .htaccess corrupto.
Solución paso a paso:
-
Regenera el archivo
.htaccess:- Conéctate a tu servidor por FTP.
- Busca el archivo
.htaccessen la raíz de tu PrestaShop. - Renómbralo a
.htaccess_old(esto lo desactiva). - Ve a tu panel de administración de PrestaShop (si puedes acceder). Si no, tendrás que hacerlo manualmente.
- Ve a Configuración de la tienda > Rendimiento.
- Haz clic en el botón "Guardar" sin cambiar nada. Esto forzará a PrestaShop a regenerar un nuevo
.htaccesslimpio.
-
Verifica los permisos de archivos y carpetas: Los permisos incorrectos son una causa común.
- Las carpetas deben tener permisos
755. - Los archivos deben tener permisos
644. - El archivo
settings.inc.php(en/config/) debe tener permisos644o444.
Puedes cambiar los permisos en masa desde tu cliente FTP (selecciona todos los archivos y cambia los permisos).
- Las carpetas deben tener permisos
-
Revisa los logs del servidor: Esta es la mejor manera de saber exactamente qué ocurre. Si tu hosting usa Syspanel (el panel de control que gestiona tu servidor, accesible por el puerto 2106), puedes encontrar los logs de error en la sección "Logs" o "Registros". Busca errores recientes que te den una pista.
3. No puedo acceder al backoffice (panel de administración)
Te pide usuario y contraseña, pero no te deja entrar. O directamente te da un error.
Causas y soluciones:
-
Problema de cookies o sesión:
- Solución: Prueba a acceder desde otro navegador o desde una ventana de incógnito. Si funciona, limpia las cookies y la caché de tu navegador habitual.
-
Error al introducir la contraseña:
- Solución: Usa la opción "¿Olvidaste tu contraseña?" en la pantalla de login. Si no te llega el email, puede ser un problema de configuración del servidor de correo.
-
Error "El directorio de administración ha sido renombrado":
- Solución: Por seguridad, PrestaShop te obliga a renombrar la carpeta
/admindurante la instalación. Si la has borrado o no la renombraste, tendrás que hacerlo manualmente. Conéctate por FTP y cambia el nombre de la carpeta/admin(o como se llame) a algo único, como/admin_miTienda2024. Luego, accede atudominio.com/admin_miTienda2024.
- Solución: Por seguridad, PrestaShop te obliga a renombrar la carpeta
-
El empleado está desactivado:
- Solución: Si tienes acceso a la base de datos (por ejemplo, a través de phpMyAdmin en tu panel de hosting), puedes reactivarlo.
- Entra a phpMyAdmin.
- Selecciona la base de datos de tu PrestaShop.
- Busca la tabla
ps_employee(el prefijops_puede variar). - Busca tu usuario y cambia el valor de
activede0a1.
- Solución: Si tienes acceso a la base de datos (por ejemplo, a través de phpMyAdmin en tu panel de hosting), puedes reactivarlo.
4. Errores de Base de Datos: "Table doesn't exist" o "MySQL server has gone away"
Estos errores indican un problema de conexión o integridad con la base de datos.
Soluciones:
-
"Table doesn't exist" (La tabla no existe):
- Repara la base de datos: Desde phpMyAdmin, selecciona tu base de datos, marca la casilla "Seleccionar todo" y, en el menú desplegable, elige "Reparar tabla". Esto arregla tablas corruptas.
- Verifica el prefijo de las tablas: Asegúrate de que en tu archivo
config/settings.inc.phpla líneadefine('_DB_PREFIX_', 'ps_');coincida con el prefijo real de tus tablas en la base de datos.
-
"MySQL server has gone away" (El servidor MySQL se ha ido):
- Solución: Esto suele pasar por un tiempo de espera de conexión demasiado bajo.
- Edita el archivo
config/settings.inc.php. - Busca la línea
define('_DB_SERVER_', 'localhost');(o la IP de tu servidor). - Justo debajo, añade esta línea para aumentar el tiempo de espera:
define('_MYSQL_ENGINE_', 'InnoDB');
define('_DB_PASSWD_', 'tu_contraseña');
(No, esto no es la solución directa. La solución real es pedirle a tu hosting que aumente el parámetrowait_timeouten MySQL, o optimizar las consultas de PrestaShop. Como solución rápida, puedes añadir justo antes de la líneadefine('_DB_SERVER_'...lo siguiente:)
ini_set('mysql.connect_timeout', 300);
ini_set('default_socket_timeout', 300);
- Edita el archivo
- Solución: Esto suele pasar por un tiempo de espera de conexión demasiado bajo.
[WARNING] Modificar los archivos de configuración de la base de datos puede romper tu tienda. Siempre haz una copia de seguridad de
settings.inc.phpantes de editarlo.
5. Problemas con la Caché y la Compilación
A veces, después de hacer cambios (como modificar un archivo .tpl o un CSS), los cambios no se ven. Esto es culpa de la caché.
Solución:
-
Borra la caché desde el backoffice:
- Ve a Configuración de la tienda > Rendimiento.
- En la sección "Caché", desactívala temporalmente (pon "No").
- En la sección "Compilación de plantillas", selecciona "Forzar la compilación" y guarda.
- IMPORTANTE: Después de ver los cambios, vuelve a poner "Compilación con recompilación de plantillas si hay cambios" y reactiva la caché (si la usabas). Dejar "Forzar la compilación" activo ralentiza mucho la tienda.
-
Borra la caché manualmente:
- Conéctate por FTP.
- Borra todo el contenido de la carpeta
/var/cache/(o/cache/en versiones antiguas). No borres la carpeta en sí, solo su contenido. - Borra también el contenido de la carpeta
/themes/tu_tema/cache/(si existe).
6. El carrito no funciona o no se añaden productos
Un error muy común y frustrante para tus clientes.
Causas y soluciones:
-
Problema con las cookies del carrito:
- Solución: En el backoffice, ve a Configuración de la tienda > Preferencias de productos > Carrito. Asegúrate de que la opción "Permitir que los pedidos no estén vinculados a una cuenta de cliente" esté en "Sí".
-
Módulo de pago o envío conflictivo:
- Solución: Desactiva todos los módulos de pago y envío excepto uno (por ejemplo, "Pago por transferencia bancaria" y "Recogida en tienda"). Prueba a ver si el carrito funciona. Si funciona, activa los módulos de uno en uno hasta encontrar el culpable.
-
Error de JavaScript (JS) en el tema:
- Solución: Abre la consola de desarrollador de tu navegador (F12) y ve a la pestaña "Consola". Si ves errores en rojo, suelen indicar un problema con un archivo JavaScript del tema o de un módulo. Prueba a cambiar al tema predeterminado para descartar el tuyo.
Conclusión: Tu Kit de Supervivencia para PrestaShop
Como has visto, la mayoría de los errores PrestaShop tienen una solución lógica y accesible. La clave es no entrar en pánico y seguir estos pasos:
- Activar el modo debug para ver el error real.
- Revisar los logs del servidor (especialmente útil si tu hosting usa Syspanel, cuyo puerto de acceso es el 2106).
- Regenerar el .htaccess y borrar la caché.
- Aislar el problema (desactivando módulos o cambiando el tema) para encontrar el origen.
Recuerda que la prevención es la mejor medicina. Mantén tu PrestaShop, temas y módulos siempre actualizados, y realiza copias de seguridad periódicas de tu tienda y base de datos.
Espero que esta guía PrestaShop te haya sido de gran ayuda. Si tienes alguna otra duda, ya sabes que puedes consultar nuestra FAQ PrestaShop o contactar con nuestro equipo de soporte. ¡Buena suerte con tu tienda!
