Quand le client valide sa commande, WooCommerce ne retrouve plus son panier. La session, c’est-à-dire la mémoire temporaire qui relie le visiteur à son panier grâce à un cookie, a été perdue ou n’a jamais été enregistrée. Si tous les clients sont touchés, la cause est technique : cache, cookies ou adresse du site.
Pourquoi cette erreur apparaît
- Une extension de cache ou le cache de l’hébergeur sert une copie figée du panier ou de la page de commande.
- Un CDN, un pare-feu ou une règle qui met tout le site en cache supprime le cookie de session de WooCommerce.
- L’adresse du site change en cours de route (avec ou sans www, http ou https) : le cookie posé sur une version n’est pas lu par l’autre.
- Le client a laissé la page ouverte très longtemps, ou a vidé son panier dans un autre onglet.
- La table des sessions de WooCommerce est endommagée, ou la base refuse d’écrire faute d’espace disque.
Comment corriger le problème
Reproduire en navigation privée
Ouvrez une fenêtre de navigation privée, ajoutez un produit et allez jusqu’au paiement sans attendre. Si le message apparaît à chaque fois, tous vos clients sont concernés et la cause est technique. S’il reste rare, il s’agit en général d’un client resté longtemps sur la page.
Sortir panier et commande du cache
Dans votre extension de cache et dans le cache de l’hébergeur, excluez les pages Panier, Commande et Mon compte, ainsi que les visiteurs porteurs des cookies woocommerce_items_in_cart ou wp_woocommerce_session. Videz ensuite tous les caches avant de refaire l’essai.
Unifier l’adresse du site
Dans Réglages > Général, l’adresse WordPress et l’adresse du site doivent être identiques et en https. Une redirection unique doit envoyer toutes les variantes (avec ou sans www, en http) vers cette adresse : le cookie de session reste alors lisible du panier jusqu’au paiement.
Vérifier le CDN et le pare-feu
Si vous passez par Cloudflare ou un autre CDN, désactivez les règles qui mettent toutes les pages en cache, et n’appliquez jamais de cache aux requêtes qui contiennent wc-ajax. Un pare-feu applicatif qui filtre les cookies doit lui aussi laisser passer ceux de WooCommerce.
Contrôler la table des sessions
Dans phpMyAdmin, vérifiez que la table wp_woocommerce_sessions (le préfixe peut différer) existe et n’est pas signalée comme endommagée, et que l’hébergement dispose d’espace disque. L’outil de nettoyage des sessions clients, dans WooCommerce > État > Outils, repart d’une table vide, au prix des paniers en cours.
Sauvegardez la base avant de toucher à la table des sessions : la vider efface les paniers en cours de tous vos clients.
Un autre message d'erreur ? Collez-le dans le décodeur : il le reconnaît et vous oriente vers la bonne fiche.
Ouvrir le décodeur