WooCommerce carrito vacío al pagar cómo solucionarlo
WooCommerce carrito vacío: diagnostica sesiones, cookies, caché y checkout para solucionar el fallo sin tocar producción a ciegas.
Qué significa que WooCommerce muestre el carrito vacío al pagar
Cuando aparece el problema de WooCommerce carrito vacío al pasar al checkout, normalmente no significa que los productos se hayan borrado de verdad, sino que la tienda deja de asociar correctamente el carrito con la sesión del usuario en ese momento. En la práctica, el cliente añade productos, navega con normalidad y, justo al pagar o al actualizar el checkout, WooCommerce muestra un carrito vacío o devuelve al carrito sin artículos.
En muchos casos, el origen está en sesiones, cookies, caché, conflicto de plugins, dominio/HTTPS o personalizaciones del checkout. Si el problema ocurre solo en la página de pago, conviene revisar primero cómo se conserva la sesión del usuario antes de tocar pasarelas, código o ajustes delicados del servidor.
Este comportamiento puede ser intermitente, afectar solo a determinados navegadores o darse únicamente en móvil, en usuarios no registrados o al llegar desde una campaña. Por eso, antes de aplicar cambios, interesa confirmar cuándo ocurre, a quién afecta y en qué paso exacto se vacía el carrito.
Causas más habituales del carrito que se vacía en WooCommerce
WooCommerce mantiene el carrito mediante mecanismos de sesión y cookies. Si algo interfiere en ese proceso, el cliente puede perder el contenido del carrito al cambiar de URL, cargar el checkout o volver desde la pasarela. Estas son las causas más habituales que conviene revisar.
- Cookies de sesión bloqueadas o inestables: si el navegador no conserva la cookie o esta cambia entre peticiones, WooCommerce puede tratar al usuario como una sesión distinta.
- Cambio entre dominio, subdominio o versiones con y sin www: por ejemplo, añadir al carrito en una versión de URL y pagar en otra puede hacer que la sesión no se mantenga.
- Configuración HTTPS inconsistente: una mezcla entre HTTP y HTTPS, o redirecciones mal encadenadas, puede romper la persistencia de la sesión.
- Caché de página en carrito o checkout: si estas páginas se sirven desde caché, el cliente puede ver contenido desactualizado o perder el estado real del carrito.
- CDN o optimización agresiva: minificación, aplazado de scripts, combinación de archivos o reglas de edge caching pueden interferir con el funcionamiento dinámico del checkout.
- Conflicto con plugins o tema activo: extensiones de checkout, descuentos, multidioma, geolocalización, seguridad, rendimiento o personalizaciones del tema pueden alterar el flujo normal.
- Pasarelas de pago o checkout personalizado: si el problema ocurre al cambiar de método de pago, al volver desde una redirección o en un checkout modificado, conviene revisar esa capa concreta.
| Síntoma | Posible causa | Comprobación recomendada |
|---|---|---|
| El carrito se vacía solo al entrar en checkout | Caché, cookie de sesión o script del checkout | Probar en incógnito, sin caché y con optimización desactivada |
| Funciona en escritorio pero no en móvil | Plugin, tema o restricción del navegador | Comparar navegador, dispositivo y consola del navegador |
| Se pierde al cambiar de dominio o idioma | Dominio, subdominio o configuración multidioma | Verificar URLs exactas y consistencia de cookies |
| Se vacía al volver desde la pasarela | Redirección, sesión o integración de pago | Reproducir con otra pasarela y revisar el flujo de retorno |
Qué comprobar en caché, CDN, plugins de optimización y tema activo
Una gran parte de los casos de error checkout WooCommerce no vienen de WooCommerce en sí, sino de capas de optimización que tratan páginas dinámicas como si fueran estáticas. El checkout y el carrito necesitan excluirse de ese tratamiento.
Exclusiones de caché imprescindibles
Conviene revisar que las páginas de carrito, finalizar compra y mi cuenta no se sirvan desde caché de página. Esto aplica al plugin de caché, al sistema del hosting y, si existe, a la CDN. Si cualquiera de esas capas cachea el checkout, el usuario puede ver un estado del carrito que no corresponde con su sesión real.
Optimización de JavaScript y comportamiento dinámico
Plugins que minifican, combinan, retrasan o difieren JavaScript pueden afectar a la actualización dinámica del checkout. Si el problema empezó tras activar una optimización de rendimiento en WordPress para tiendas online, una prueba razonable es deshabilitar solo esa optimización concreta y repetir el flujo de compra.
CDN y reglas de edge caching
En configuraciones con CDN, conviene confirmar que no haya reglas agresivas cacheando HTML del carrito o del checkout. También merece la pena revisar si hay reescrituras automáticas, optimización de recursos o reglas de seguridad que alteren cookies o peticiones AJAX.
Tema activo y personalizaciones del checkout
Si el problema se produce tras cambiar de tema o después de personalizar el proceso de compra, prueba temporalmente con un tema estándar compatible con WooCommerce en un entorno de staging. El objetivo no es dejarlo así, sino comprobar si el comportamiento base se restablece.
También conviene revisar constructores visuales, plugins de checkout por pasos, campos personalizados, ventas cruzadas, packs, suscripciones o cualquier módulo que modifique el flujo normal del pago.
Pasos prácticos para solucionar el error checkout WooCommerce
Para solucionar carrito vacío sin introducir cambios a ciegas, lo más eficaz es seguir un orden. Así podrás identificar la causa con menos riesgo, especialmente si la tienda está en producción.
- Reproduce el fallo con un caso controlado. Añade un producto sencillo, accede a carrito, entra en checkout y anota exactamente en qué momento desaparece. Haz la prueba en incógnito y, si puedes, desde otro dispositivo.
- Verifica URLs y HTTPS. Confirma que todo el recorrido usa la misma versión del dominio y siempre HTTPS, sin saltos entre variantes.
- Limpia y desactiva la caché de forma temporal. Empieza por el plugin de caché, luego la caché del hosting y después la CDN si existe. Repite la compra de prueba tras cada cambio.
- Desactiva optimizaciones agresivas. Prueba sin minificación, combinación, defer o delay de JavaScript, especialmente en las páginas de carrito y checkout.
- Descarta conflicto de plugins. Si el entorno lo permite, prueba con solo WooCommerce y los plugins estrictamente necesarios para reproducir la compra. Lo ideal es hacerlo en staging, no en la tienda en vivo.
- Cambia temporalmente a un tema estándar. Si con ese cambio desaparece el problema, la causa puede estar en la plantilla o en una personalización del tema hijo.
- Comprueba la pasarela de pago. Si el carrito se vacía solo con un método concreto, repite la prueba con otra pasarela o con transferencia bancaria para aislar la incidencia.
- Revisa consola del navegador y registros de errores. No siempre habrá un error visible, pero si aparece alguno al actualizar el checkout, ese dato puede orientar mucho el diagnóstico.
Consejo operativo: si la tienda tiene ventas activas, evita desactivar plugins críticos directamente en producción. Es más seguro clonar el caso en staging o realizar pruebas en una franja de baja actividad con copia de seguridad reciente.
Si necesitas una referencia oficial, la documentación de WooCommerce sobre resolución de problemas puede servir como apoyo general para validar entorno, conflictos y comportamiento base, pero el diagnóstico real suele depender de cómo interactúan tu tema, la caché, la CDN y las extensiones instaladas.
Cuándo pedir soporte técnico y qué datos conviene aportar
Si ya has confirmado que el problema persiste tras revisar sesión, cookies, dominio, HTTPS, caché y conflictos básicos, probablemente el caso requiere análisis técnico más fino. Esto es especialmente cierto cuando el carrito solo se vacía en ciertas combinaciones de navegador, idioma, pasarela o tipo de usuario.
Para acelerar la resolución, conviene aportar información concreta y reproducible. Cuanto mejor esté descrito el problema, menos tiempo se pierde en hipótesis generales.
- URL exacta del carrito y del checkout afectado.
- Momento preciso en el que se vacía: al cargar checkout, al actualizar campos, al elegir envío, al cambiar de pago o al volver de la pasarela.
- Si ocurre a todos los usuarios o solo a invitados, registrados, móvil, Safari, Chrome, etc.
- Lista de plugins activos relacionados con caché, optimización, checkout, multidioma, seguridad y pagos.
- Si existe CDN, firewall o caché gestionada por el hosting.
- Cambios recientes: actualización de WooCommerce, cambio de tema, nueva pasarela o ajustes de rendimiento.
- Capturas, vídeo corto de reproducción y, si es posible, mensajes de consola o extractos de registros relevantes.
Como resumen, cuando WooCommerce muestra el carrito vacío al pagar, lo más importante es no asumir una única causa. Lo prudente es revisar primero sesión de usuario, cookie de sesión, coherencia de dominio y HTTPS, exclusiones de checkout, caché, CDN, conflicto con plugins, tema activo y pasarela de pago. Ese orden evita cambios innecesarios y reduce el riesgo de romper otras partes de la tienda.
Si la incidencia afecta a ventas reales o no puedes reproducirla con claridad, el siguiente paso razonable es trabajar sobre un entorno de staging, revisar registros y aislar variables una a una. Y si el caso se resiste, contar con soporte técnico especializado en WordPress y WooCommerce puede ayudarte a resolverlo con criterio, sin improvisar cambios delicados en producción.
¿Necesitas orientación personalizada?
Te ayudamos a entender tus opciones y el siguiente paso.