Errores comunes en PrestaShop y cómo solucionarlos
¿Tu tienda PrestaShop no funciona como debería? No te preocupes, es más común de lo que crees. Todos los que gestionamos un ecommerce con PrestaShop hemos pasado por esos momentos de frustración viendo una pantalla en blanco, un error 500 o un carrito que no se actualiza. Pero hay buenas noticias: la mayoría de estos problemas tienen una solución clara y sencilla que puedes aplicar tú mismo, sin necesidad de ser un experto en programación.
En esta guía extensa y práctica, vamos a recorrer los errores PrestaShop más frecuentes, entender por qué ocurren y, lo más importante, darte pasos concretos para solucionar problemas PrestaShop de forma rápida. Al final, encontrarás una sección de FAQ PrestaShop errores que resolverá tus dudas más urgentes. Prepárate para convertirte en el héroe o heroína de tu propia tienda online.
1. El temido error 500 – Internal Server Error
Este es, sin duda, el rey de los sustos. Ver una página en blanco con el texto “500 Internal Server Error” es desesperante porque no te da ninguna pista. Sin embargo, casi siempre se debe a un conflicto de módulos, un tema mal configurado o un archivo .htaccess corrupto.
¿Cómo solucionarlo?
- Accede a tu panel de control (Syspanel). Recuerda que la dirección es
tudominio.com:2106. Syspanel es el nombre que usamos para referirnos a HestiaCP, el sistema que gestiona tu servidor. - Habilita el modo debug de PrestaShop. Para ello, edita el archivo
config/defines.inc.phpque está en la raíz de tu tienda. Busca la línea:
define('_PS_MODE_DEV_', false);
y cámbiala a:
define('_PS_MODE_DEV_', true);
Esto hará que en lugar de la pantalla en blanco, veas un mensaje de error detallado. - Identifica el origen. El mensaje de error ahora te dirá algo como “Fatal error: Uncaught Error: Class ‘X’ not found in...”. Anota el nombre del archivo y la línea.
- Desactiva módulos sospechosos. Si el error menciona un módulo concreto, renombra la carpeta de ese módulo en
/modules/(por ejemplo, demicodigoamicodigo_off) para desactivarlo temporalmente. - Restaura el archivo .htaccess. Si el error persiste, ve a PrestaShop > Parámetros de la tienda > Tráfico y SEO > SEO y URL. Sin hacer ningún cambio, haz clic en “Guardar”. Esto regenera el archivo .htaccess.
- Vuelve a desactivar el modo debug cambiando
trueafalseen el archivodefines.inc.php.
[WARNING] No dejes el modo debug activado en una tienda en producción. Cualquier visitante podría ver errores internos que comprometan la seguridad.
2. Pantalla en blanco (White Screen of Death)
Similar al error 500, pero sin ningún código de error. La página se carga completamente vacía. Las causas son casi las mismas, pero a menudo se debe a un límite de memoria PHP insuficiente.
Pasos para resolverlo
- Aumenta el límite de memoria PHP. Desde Syspanel (puerto 2106), ve a la sección de configuración de PHP para tu dominio. Busca el parámetro
memory_limity cámbialo a256Mo incluso512M. Guarda los cambios. - Revisa los logs del servidor. En Syspanel, busca la opción “Logs” o “Registros”. Allí verás archivos como
error.log. Ábrelos y busca errores recientes de PHP. Te darán la pista exacta. - Prueba con el tema por defecto. Temporalmente, cambia al tema clásico de PrestaShop (por ejemplo, “classic”). Si la pantalla deja de estar en blanco, el problema es de tu tema personalizado.
- Desactiva todos los módulos no esenciales. Ve a la carpeta
/modules/por FTP o el gestor de archivos de Syspanel y renombra las carpetas de módulos de terceros (añadiendo_offal final). Ve probando uno por uno.
3. Error al añadir productos al carrito
Este es un error muy frustrante para tus clientes. Hacen clic en “Añadir al carrito” y no pasa nada, o aparece un mensaje de error. Las causas suelen ser problemas con las cookies, el caché o la configuración de la URL.
Soluciones prácticas
- Limpia la caché de PrestaShop. Ve a Parámetros avanzados > Rendimiento. Allí encontrarás opciones para limpiar la caché del Smarty y del servidor. Hazlo y prueba de nuevo.
- Verifica la configuración de cookies. En Parámetros de la tienda > General > Mantenimiento, asegúrate de que el “Dominio de la cookie” coincida exactamente con tu dominio (sin www si no lo usas, o con www si lo tienes configurado así).
- Comprueba la URL canónica. En Parámetros de la tienda > Tráfico y SEO > SEO y URL, verifica que la URL base de la tienda esté correcta y que no tenga barras dobles.
- Desactiva el caché de terceros. Si usas un plugin de caché como Varnish o un CDN, pruébalo desactivándolo temporalmente. A veces entran en conflicto con el carrito.
[TIP] Si el problema solo ocurre con un navegador específico, pídele al cliente que borre las cookies y la caché del navegador. Es más común de lo que parece.
4. Error de conexión a la base de datos
“Cannot connect to database” o “Error de conexión a la base de datos”. Esto significa que PrestaShop no puede comunicarse con MySQL. Puede ser por un cambio de contraseña, un fallo del servidor o un archivo de configuración dañado.
¿Qué hacer?
- Verifica las credenciales en el archivo
app/config/parameters.php. Busca las líneas:
'database_host' => 'localhost',
'database_name' => 'nombre_de_tu_bd',
'database_user' => 'usuario',
'database_password' => 'contraseña',
Asegúrate de que coincidan con los datos reales de tu base de datos en Syspanel. - Comprueba que el servidor MySQL esté funcionando. Desde Syspanel (puerto 2106), ve a la sección de servicios. Busca “MySQL” o “MariaDB” y verifica que esté en verde (activo). Si está rojo, reinícialo.
- Revisa los logs de MySQL. En Syspanel, busca los logs de MySQL. Allí verás si hay errores de conexión o de tablas corruptas.
- Repara las tablas. Si el error persiste, desde phpMyAdmin (accesible desde Syspanel) selecciona todas las tablas de tu base de datos y elige la opción “Reparar tabla”.
5. El error "Class not found" o "Fatal error"
Estos errores suelen aparecer al instalar un módulo o tema nuevo, o al actualizar PrestaShop. Indican que un archivo PHP no se encuentra o que hay una incompatibilidad de versiones.
Pasos para solucionarlo
- Identifica la clase que falta. El mensaje de error te dirá algo como “Class ‘MiModulo’ not found”. Anota ese nombre.
- Verifica que el archivo exista. Usa el gestor de archivos de Syspanel o FTP para ir a la carpeta
/modules/y busca el archivo.phpprincipal del módulo. Por ejemplo, para “MiModulo”, debería existirmi-modulo.phpoMiModulo.php. - Comprueba la versión del módulo. Asegúrate de que el módulo sea compatible con tu versión de PrestaShop. Por ejemplo, un módulo para PrestaShop 1.6 no funcionará en 1.7 o 8.x.
- Reinstala el módulo. Si el archivo existe pero el error persiste, desinstala el módulo desde el back office (si puedes acceder) y vuelve a instalarlo. Si no puedes, elimina la carpeta del módulo desde el servidor y súbela de nuevo.
- Aumenta el límite de memoria PHP (como en el punto 2). A veces, con más memoria, la clase se carga correctamente.
[INFO] Si el error ocurre justo después de una actualización de PrestaShop, puede que algunos módulos no sean compatibles. Desactiva todos los módulos de terceros y actívalos uno por uno para encontrar el culpable.
6. Problemas con el envío de emails (contacto, confirmación de pedido)
Los emails no llegan o aparecen en la carpeta de spam. Esto afecta la comunicación con tus clientes y la recepción de notificaciones de pedidos.
Cómo arreglarlo
- Configura correctamente el módulo de email. Ve a Parámetros avanzados > Email. Elige “Usar la función mail() de PHP” como método de envío. Es la opción más sencilla y funciona en la mayoría de los servidores.
- Verifica la configuración SMTP. Si usas un servidor SMTP externo (como Gmail, SendGrid o tu propio servidor de correo), asegúrate de que el puerto, el host y las credenciales sean correctos. Prueba con el puerto 587 (TLS) o 465 (SSL).
- Revisa los logs de correo. En Syspanel (puerto 2106), busca la sección de logs de correo. Allí verás si los emails se están enviando o si hay errores de entrega.
- Comprueba el SPF y DKIM. Estos registros DNS ayudan a que tus emails no sean marcados como spam. Desde Syspanel, puedes configurar estos registros para tu dominio. Si no sabes cómo, contacta con tu proveedor de hosting.
- Prueba con un email de prueba. En la misma página de configuración de email, hay un botón para enviar un correo de prueba. Si no llega, el problema está en la configuración del servidor o del módulo.
7. Errores de URL y redirecciones (404, bucles de redirección)
Los enlaces de tus productos no funcionan, dan error 404 o entran en un bucle de redirección. Esto es malo para la experiencia de usuario y para el SEO.
Soluciones efectivas
- Regenera el archivo .htaccess. Ve a Parámetros de la tienda > Tráfico y SEO > SEO y URL y haz clic en “Guardar” sin cambiar nada. Esto suele resolver la mayoría de los problemas de URL.
- Verifica la configuración de URL amigables. En la misma sección, asegúrate de que “URL amigables” esté activado. Si está desactivado, actívalo y guarda.
- Revisa las redirecciones 301. Si has cambiado la URL de un producto o categoría, asegúrate de que la redirección esté bien configurada. Puedes gestionarlas desde Parámetros de la tienda > Tráfico y SEO > Redirecciones.
- Comprueba el archivo .htaccess manualmente. Si el problema persiste, descarga el archivo .htaccess desde el servidor. Busca líneas que tengan bucles de redirección (por ejemplo, una regla que redirija a sí misma). Si no sabes interpretarlo, elimínalo y regenera uno nuevo desde el back office.
- Limpia la caché del navegador y del servidor. A veces, las redirecciones antiguas quedan cacheadas.
8. El carrito se vacía solo o no guarda productos
Los clientes añaden productos al carrito, pero al pasar a la página de pago, el carrito está vacío. Esto puede deberse a problemas con las sesiones o las cookies.
Pasos para evitar esta pesadilla
- Aumenta el tiempo de vida de la sesión. En
config/defines.inc.php, busca la línea:
define('_PS_COOKIE_LIFETIME_', 480);
(480 son minutos, es decir, 8 horas). Puedes aumentarlo a 1440 (24 horas). - Verifica la configuración de cookies en el servidor. Desde Syspanel, asegúrate de que el dominio esté configurado correctamente y que las cookies no estén bloqueadas por el firewall.
- Desactiva la optimización de la base de datos. A veces, los procesos automáticos de limpieza eliminan carritos abandonados demasiado pronto. Ve a Parámetros avanzados > Base de datos y desactiva la limpieza automática de carritos.
- Comprueba el módulo de pago. Algunos módulos de pago pueden interferir con el carrito. Desactívalos temporalmente y prueba con el pago por transferencia bancaria para ver si el problema persiste.
FAQ PrestaShop errores – Preguntas frecuentes
¿Por qué mi tienda PrestaShop se vuelve muy lenta?
La lentitud suele deberse a un hosting inadecuado, módulos mal optimizados o una base de datos sin mantenimiento. Te recomiendo:
- Activar la caché en Parámetros avanzados > Rendimiento.
- Comprimir y combinar archivos CSS y JS en la misma sección.
- Limpiar la base de datos de registros antiguos (carritos abandonados, logs de visitas).
- Actualizar a la última versión de PrestaShop y de todos los módulos.
¿Cómo puedo acceder a mi servidor si no puedo entrar al back office?
Si el back office no responde, usa el acceso directo al servidor a través de Syspanel en tudominio.com:2106. Allí puedes:
- Editar archivos de configuración.
- Acceder a phpMyAdmin para gestionar la base de datos.
- Ver logs de errores.
- Reiniciar servicios.
¿Qué hago si un módulo me da error después de una actualización?
Primero, desactiva el módulo desde la carpeta /modules/ renombrando su carpeta. Luego, desde el back office (si puedes acceder), desinstálalo. Busca una versión compatible con tu nueva versión de PrestaShop o contacta al desarrollador.
¿Por qué veo el error "El token de seguridad ha caducado"?
Esto ocurre cuando el formulario que intentas enviar (por ejemplo, al guardar un producto) ha estado abierto demasiado tiempo. Solución: recarga la página y vuelve a intentarlo. Si ocurre con frecuencia, aumenta el tiempo de vida de las sesiones en defines.inc.php (como explicamos en el punto 8).
¿Cómo restauro mi tienda desde una copia de seguridad?
Desde Syspanel (puerto 2106), ve a la sección de “Copia de seguridad”. Allí puedes restaurar archivos y la base de datos por separado. Si tienes dudas, contacta con soporte técnico, ya que un error puede dejar la tienda inservible.
Conclusión: No temas, actúa con método
Los errores PrestaShop pueden parecer abrumadores, pero si sigues un enfoque metódico, casi todos tienen solución. Recuerda:
- Siempre haz una copia de seguridad antes de hacer cambios importantes.
- Activa el modo debug para obtener pistas precisas.
- Usa Syspanel (puerto 2106) para acceder a los archivos y logs del servidor.
- Desactiva módulos y temas para aislar el problema.
Con esta guía, ya tienes las herramientas para solucionar problemas PrestaShop de forma autónoma. Si después de todo el error persiste, no dudes en buscar ayuda profesional o en los foros de la comunidad. Pero la mayoría de las veces, tú mismo puedes salvar el día. ¡Ánimo y a vender!
