Tus clientes añaden productos al carrito, incluso tú puedes ver los carritos en el backoffice, pero el carrito se ha vaciado cuando van a acabar la compra. Te explico cómo solucionarlo
Contenido
Prestashop: el carrito se vacía
Si te pasa ésto, tienes un problema, porque tus clientes no pueden acabar los pedidos. El caso es que tú vas viendo en tu backoffice los carritos, y no tienes la sensación de que la tienda vaya mal. Pero ves cómo ninguno de esos carritos abandonados se convierte en pedido.
Las causas de este problema son muy variadas y en cada caso hay que estudiarlas. Pero suelen pasar en la mayoría de los casos, por problemas en las tablas de la base de datos o problemas de caché y cookies, básicamente.
Te voy a indicar una lista de soluciones que han funcionado en múltiples casos.
Cookies del navegador
Vacía las cookies de tus navegadores (ya que puede que el problema de carrito vacío sólo te ocurra con algunos de ellos), y recarga tu frontoffice con Ctrl+F5 (en Windows) para forzar a que no cargue la página de la caché. En muchos casos, esto ya es suficiente para que el carrito comience a funcionar bien.
Geolocalización
Si la tienes activada, la tienda no dejará realizar pedidos desde determinadas ubicaciones geográficas. Así que, DESACTIVA GEOLOCALIZACIÓN
Ajax Cart
Ve a Módulos -> Bloque Carrito y desactiva la opción Ajax. Si tu carrito no se actualizaba por algún problema de Ajax, haciendo esto evitarás que se vacíe.
Base de datos
Si tu problema viene de la base de datos, puede ser por varios motivos:
- Tablas corruptas: desde tu phpmyadmin debes identificar las tablas corruptas y repararlas
- Tablas saturadas: localiza las siguientes tablas, expórtalas (back up) y luego vacíalas desde el phpmyadmin
-
ps_connections
-
ps_connections_page
-
ps_connections_source
-
Plantilla
Si estás utilizando una plantilla, vuelve a cargar la plantilla por defecto y comprueba si el error del carrito vacío persiste. Si no es así, revisa los ficheros de tu plantilla.
Interferencia de módulos en Prestashop
Para verificar si hay algún módulo que interfiera con el del carrito, ve a Parámetros avanzados -> Rendimiento y desactiva los módulos no nativos y las sobrecargas
Vacía la caché y recarga el frontoffice para comprobar si el error persiste.
Si persiste, comprueba si hay intereferencia de cookies de otros módulos:
- Para Prestashop 1.5, borra las líneas 340 y 341 del fichero /classes/Cookie.php
- En Prestashop 1.6, borra las líneas 347 y 348
- Activa mod_dev en /config/defines.inc.php escribiendo define(‘_PS_MODE_DEV_’, true);
- Observa si te aparecen mensajes de error por pantalla y, si es así, te estarán diciendo qué módulo está provocando el error. Puedes localizarlo en el backoffice y desactivarlo para comprobar si el carrito te funciona. Esto suele pasar cuando hay algún módulo que interfiere en las cookies del carrito y las resetea.
CCC (COMBINACIÓN, COMPRESIÓN Y CACHE)
A veces, comprimir las líneas de CSS y Javascript puede ocasionar problemas de ejecución de la tienda. Ve a Parámetros -> Rendimiento y desactiva todas estas opciones.
Guarda los cambios, ve a tu frontoffice, refresca, vuelve a generar un carrito y verás cómo ahora sí que te aparece correctamente.
Vuelve a activar las opciones de CCC tal y como las tenías y ya está.
Por cierto, referente a optimización de Prestashop, te puede interesar este artículo que escribí sobre cómo hacer que vaya más rápida tu tienda.
Conclusión
Como ves, hay múltiples problemas que pueden ocasionar que el carrito de prestashop se vacíe. Si ninguna de estas soluciones te funciona, escríbenos y entre todos lo solucionaremos.
Mucha suerte y mucho ecommerce 🙂