Iniciar sesión
Empezar

Documentación de Easy Digital Downloads

Documentación, Materiales de Referencia y Tutoriales para Easy Digital Downloads 

El carrito de compras está vacío al finalizar la compra

Easy Digital Downloads tiene un sistema de carrito de compras nativo que permite a los visitantes de la tienda agregar varios artículos a sus carritos de compras antes de finalizar la compra. Sin embargo, existen varias configuraciones del host, del sitio y del navegador que pueden interrumpir esta funcionalidad y hacer que el carrito parezca vacío al finalizar la compra.

En raras ocasiones, debido a una configuración del servidor, ajustes de alojamiento o un conflicto con otros plugins, es posible que experimente que su carrito de compras esté vacío después de agregar un artículo a su carrito. En este artículo explicaremos algunas de las razones por las que esto puede suceder y qué puede hacer para resolver el problema.

Plugins de caché

Los plugins de caché son un culpable muy común porque son muy utilizados. Su propósito es simple: los plugins de caché aceleran los tiempos de carga de su sitio web al almacenar ciertos datos del sitio web para un fácil acceso cuando el navegador los solicita. Si bien esta es una excelente manera de hacer que su sitio sea rápido y reducir el tráfico del servidor, pueden ser necesarios algunos cambios leves para que su carrito de compras funcione correctamente.

Deshabilitar la caché en su página de pago

Dado que la información en su página de pago es específica para un solo visitante, nunca debe almacenarse en caché, ya que podría producir resultados no deseados para sus clientes. Agregar artículos al carrito, eliminarlos, calcular los totales del carrito y todas las demás funciones de la página de pago deben reflejar el estado real de los datos de la página cada vez que se carga. No deshabilitar la caché en su página de pago puede generar una serie de problemas, como que los clientes no puedan comprar o que sus pedidos contengan totales, impuestos o productos incorrectos.

Si está utilizando un plugin como W3 Total Cache, WP Super Cache u otro plugin similar, debe configurarlo para evitar el almacenamiento en caché en la página de pago.

Si está utilizando Varnish como capa de caché, es posible que desee ir a nuestra sección sobre el uso de Varnish con Easy Digital Downloads.

Cloudflare

Cloudflare es un servicio muy potente para mejorar el rendimiento de su tienda y proteger su negocio, y lo usamos en este mismo sitio en el que se encuentra ahora. Para configurar Cloudflare para que funcione con su tienda impulsada por Easy Digital Downloads, solo necesita hacer algunas modificaciones mínimas.

Reglas de Página

Cree las siguientes Reglas de página dentro de su configuración de Cloudflare. Las Reglas de página se pueden agregar haciendo clic en Reglas → Reglas de página → Crear regla de página.

Primero, desde el Panel de su sitio de Cloudflare, busque el menú 'Reglas' a la izquierda, expándalo y haga clic en 'Reglas de página'.

Aquí es donde puede administrar sus diferentes reglas de página y organizarlas en orden de precedencia. Es mejor mantener su regla de página de pago en la parte superior de esta lista, para que sea la primera en procesarse y ninguna otra regla afecte su pago.

Para crear una Regla de página, haga clic en el botón 'Crear regla de página'

Al crear una Regla de Página, necesitas definir a qué URLs se aplica esta regla y qué reglas quieres que Cloudflare aplique. Para las páginas de pago, queremos omitir siempre la capa de caché de Cloudflare, así que usaremos la configuración de 'Nivel de caché' y la estableceremos en 'Omitir'. Esto significa que Cloudflare enviará cualquier solicitud para la página de pago directamente a tu servidor.

Al agregar esta Regla de Página, asegúrate de terminar la URL con una barra inclinada al final y el carácter *. Esto asegurará que coincida con cualquier parámetro de cadena de consulta como códigos de descuento y otras características del pago de EDD no se verán afectadas.

Caché del host web

Aunque menos común, el almacenamiento en caché del lado del servidor puede ser un problema igual de grande para tu sistema de carrito de compras. Muchos proveedores de alojamiento web ofrecen servicios de caché a los que te suscribes y configuras tú mismo. Otros, como
WP Engine, practican un almacenamiento en caché agresivo que está preconfigurado para ti. Si bien estas herramientas pueden ayudar a que tu tienda funcione mejor y convierta a más usuarios, es posible que necesitemos hacer algunos ajustes para lograr un equilibrio entre rendimiento y confiabilidad.

WP Engine

Si alojas tu sitio en WP Engine, es posible que encuentres algunos problemas con carritos vacíos al visitar la página de pago. Esto se debe al almacenamiento en caché agresivo de páginas (¡lo cual es bueno!), pero se puede resolver fácilmente solicitando a WP Engine que configure una excepción especial de caché para tu página de pago.

Para hacer esto, simplemente envía un ticket de soporte a WP Engine a través de su portal de soporte y pídeles que excluyan tu página de pago de la caché.

Tu página de pago es la que tiene el código corto [download_checkout] y se guarda en Descargas > Configuración:

Captura de pantalla de 2013-09-09 12:32:29

Para que sea realmente fácil para ti, siéntete libre de copiar y pegar este ticket de muestra:

¡Hola!

Mi sitio ejecuta el plugin de comercio electrónico Easy Digital Downloads y estamos teniendo algunos problemas con el almacenamiento en caché de páginas y la página de pago. El equipo de Easy Digital Downloads nos ha indicado que les pidamos que coloquen una excepción de caché en nuestra página de pago.

¿Podrías agregar la siguiente URL a la lista de excepciones?

https://YOURSITE.com/{put your checkout page URL here}

¡Gracias!

Nota: Si bien es posible que la página de pago ya no se almacene en caché, aún podrías tener un problema con el enlace "Eliminar" en tu carrito que no elimina correctamente los artículos del carrito. Si esto ocurre, pídele a WP Engine que "excluya las cookies 'edd_saved_cart' y 'edd_items_in_cart' de la caché" y eso debería solucionar el enlace.

EasyEngine/Nginx

Si estás alojando tu sitio con EasyEngine/Nginx y usas Redis caching, tendrás que encontrar y editar tu archivo redis.conf (o redis-php7.conf) y agregar edd_items_in_cart|. Por lo tanto, por ejemplo, tus excepciones podrían verse algo así:

# Don't use the cache for logged in users or recent commenter
if ($http_cookie ~* "edd_items_in_cart|comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in") { set $skip_cache 1; }

Varnish

Si experimentas carritos de compras vacíos al usar un servidor de caché Varnish con tu tienda Easy Digital Downloads, podrías intentar usar las siguientes reglas para ayudar a prevenir esto:

En tu Configuración de Varnish

// Tells Varnish to pass through on the checkout page
if (req.url ~ "checkout") { return (pass); }

// Tells Varnish to pass through on any request with edd_action in the query string
if (req.url ~ "edd_action") { return (pass); }

// Tells Varnish to pass through on any request with add_to_cart in the query string
if (req.url ~ "add_to_cart") { return (pass); }

// Tells Varnish to pass through if any cookies with `edd` are found
if (req.http.cookie ~ "(^|;s*)edd") { return (pass); }

Algunos tutoriales y configuraciones de Varnish sugieren reordenar los argumentos de la cadena de consulta para optimizar las tasas de aciertos de caché. Esta característica de Varnish puede hacer que los enlaces de descarga de archivos generados por Easy Digital Downloads fallen, debido a la verificación segura de enlaces que utiliza. Si deseas utilizar esta técnica de caché, hemos escrito una guía útil sobre cómo admitir la modificación de la cadena de consulta con Easy Digital Downloads, y aún así brindar a los clientes acceso a descargas de archivos seguras.

El servidor no admite sesiones PHP

Las sesiones de PHP están diseñadas para brindar a los visitantes de tu sitio una experiencia más personalizada. La capacidad de agregar artículos a un carrito de compras de una página a otra, y luego ver todos los artículos de la tienda en el carrito al momento de pagar, es lo más personal que puede ser para un visitante nuevo que no ha compartido ninguna información con tu sitio.

Algunos servidores o hosts no admiten el uso del 'manejador de sesiones' nativo de PHP. Easy Digital Downloads almacena la información del carrito de tu visitante en su sesión de PHP; sin embargo, cuando esta característica de PHP no está disponible, puede producir carritos vacíos ya que los datos del carrito no se pueden guardar entre visitas a páginas.

Easy Digital Downloads admite el almacenamiento de datos de sesión en la base de datos y el uso de cookies para ayudar a mitigar este problema. Usar esta versión de gestión de 'sesiones' no es tan rápido como usar sesiones de PHP, ya que depende de la base de datos; sin embargo, puede resolver el problema del carrito vacío.

Para habilitar las Sesiones de Base de Datos, ve a Descargas > Ajustes > Varios > General y establece el Manejo de Sesiones en Sesiones de Base de Datos.

Para intentar mantener tu base de datos funcionando de manera óptima, Easy Digital Downloads realiza una limpieza de sesiones abandonadas dos veces al día, utilizando los eventos WP Cron de WordPress.

Archivo admin-ajax.php bloqueado

Incluido en el núcleo de WordPress hay un archivo llamado admin-ajax.php que se utiliza intensamente en todo WordPress, incluido Easy Digital Downloads. Bloquear el acceso a este archivo puede causar problemas con el comportamiento de tu carrito y otros aspectos de tu sitio de WordPress. Nunca se sugiere bloquear el acceso a este archivo.

Si estás utilizando algún plugin de seguridad o tienes configuraciones de seguridad agresivas en tu servidor, desactívalos temporalmente y verifica nuevamente la funcionalidad del carrito. Si tu configuración de seguridad bloquea este archivo, tu carrito no funcionará correctamente.

Para más información sobre admin-ajax.php bloqueado, consulta la documentación completa.

Bloqueado /wp-admin/

Existen plugins que bloquean el acceso a /wp-admin/ con fines de seguridad, y estos a veces también bloquean el acceso al archivo admin-ajax.php mencionado anteriormente, causando los problemas enumerados.

Para probar si este es el problema, desactiva temporalmente los plugins de bloqueo de admin. Si el problema se resuelve, entonces sabrás que fue ese plugin.

Cookies del navegador deshabilitadas

EDD utiliza cookies para almacenar información con las sesiones y contar los artículos en tu carrito. Si las cookies de tu navegador están deshabilitadas, el sistema de carrito de compras podría no funcionar como se espera.

Configuración de URL

Como se mencionó anteriormente, Easy Digital Downloads utiliza Sesiones y Cookies para poder guardar los datos del carrito de un visitante entre visitas a páginas, de modo que puedan tener una experiencia única en tu tienda. Las cookies son fragmentos de información sobre el usuario que se almacenan en su navegador. Por razones de seguridad, las cookies que utiliza Easy Digital Downloads definen la URL de la tienda en su creación. Es importante que tu sitio de WordPress esté configurado para mantener la misma URL entre la página donde agregas un artículo a tu carrito y tu página de pago.

Esto incluye la porción http o https de la URL. Si intentas agregar un producto al carrito en una página que usa http y tu página de pago está protegida con un SSL, mostrándose con https, tu carrito estará vacío ya que la página de pago segura no tiene acceso a la cookie agregada por la página no segura que usaste previamente para agregar el artículo al carrito.

Sugerimos que toda tu tienda se cargue de forma segura con https en la URL, incluidas las configuraciones de URL de tu WordPress. Si tu proveedor de hosting no te proporciona un certificado SSL para tu tienda, puedes obtener uno y pedirle a tu proveedor que lo instale. Asegúrate de que tu proveedor pueda configurar tu sitio para que solo se cargue a través de https, pero si no pueden, siempre puedes usar Really Simple SSL para forzar a WordPress a cargar tu sitio con la versión segura SSL cada vez.

Asegúrate de que lo que sea que tengas configurado en Ajustes → Generales se utilice en todos los enlaces de tu sitio.

En algunos casos, hemos visto que un plugin o script de terceros instalado modifica la Dirección del sitio o la Dirección de WordPress automáticamente después de cierto tiempo. Vuelve a verificar que tu Dirección del sitio no se esté modificando para que tu tienda funcione como se espera.

Reglas de .htaccess

El archivo .htaccess es utilizado por el servidor para enrutar correctamente las solicitudes de los usuarios a tus páginas. WordPress tiene un conjunto de reglas predeterminadas en las que confiamos para que el carrito funcione correctamente. Si tienes problemas con que tu carrito esté vacío, intenta usar la configuración predeterminada de .htaccess establecida por WordPress.

Conflictos conocidos de plugins

Aunque es raro, puede haber algunos conflictos entre el carrito de compras de Easy Digital Downloads y otros plugins de WordPress. Si bien intentamos solucionar estos problemas con nuestro código, a veces no podemos y, como tal, mantenemos una lista de plugins que no podemos garantizar que funcionarán bien con Easy Digital Downloads. Si te encuentras con un conflicto de plugin conocido, comunícate con nuestro equipo de soporte con la mayor cantidad de información detallada que puedas sobre el conflicto y estaremos encantados de investigar el problema por ti.

¿Fue útil este artículo?

¡Empieza a vender hoy mismo!

Únete a más de 50.000 dueños de tiendas inteligentes y empieza a usar la forma más fácil de vender productos digitales con WordPress.

Copyright © 2025 Sandhills Development, LLC

[universally_switcher]