Disponible pour missions & renforts d’agence · Réponse rapide, par la personne qui intervient

Activer le stockage haute performance des commandes (HPOS) sur WooCommerce

Depuis WooCommerce 8.2, sorti en octobre 2023, le stockage haute performance des commandes (HPOS, aussi appelé Custom Order Tables) est sorti du statut bêta et déclaré stable. Les boutiques créées à partir du 10 octobre 2023 l’ont activé par défaut ; les boutiques plus anciennes doivent l’activer volontairement.

Décrire mon problème Discuter sur WhatsApp

Ce que HPOS change dans le stockage des commandes

Avant HPOS, WooCommerce enregistrait chaque commande comme un article dans la table wp_posts (avec un type de contenu shop_order), et toutes ses données (client, montants, statut, adresse) comme des métadonnées éparpillées dans wp_postmeta, une table générique partagée avec tous les autres types de contenu du site. Avec HPOS, les commandes sont stockées dans des tables dédiées, structurées spécifiquement pour les requêtes de commande : recherche, filtrage par statut, rapports.

L’activation se fait dans WooCommerce > Réglages > Avancé > Fonctionnalités, sur les boutiques existantes qui ne l’ont pas activé par défaut. Un mode de synchronisation maintient les deux structures alignées pendant la transition, ce qui permet de revenir en arrière si un problème apparaît.

Pourquoi une extension peut cesser de fonctionner avec HPOS

  • Une extension de paiement, de comptabilité ou de reporting qui lit ou écrit directement dans wp_posts ou wp_postmeta au lieu de passer par l’API CRUD de WooCommerce (les fonctions get_post_meta(), WC_Order, etc. côté objet) continue de chercher les données au mauvais endroit une fois HPOS actif : commandes absentes des rapports, statut non mis à jour, export comptable incomplet.
  • Un thème ou un module maison qui interroge la base avec une requête SQL directe sur wp_posts filtrée sur post_type = 'shop_order' ne trouve plus les commandes créées après l’activation de HPOS.
  • Certaines extensions déclarent explicitement leur compatibilité HPOS dans leur en-tête de plugin ; WooCommerce affiche cette information dans la liste des extensions (compatible, non compatible, ou non déclaré), ce qui permet de vérifier avant d’activer plutôt qu’après un incident.

Comment j’active HPOS sur une boutique existante

  1. Vérification de la compatibilité des extensions

    Je consulte l’état de compatibilité HPOS affiché par WooCommerce pour chaque extension active liée aux commandes (paiement, facturation, expédition, reporting), et je mets à jour celles qui ne le sont pas encore.

  2. Activation du mode de synchronisation

    J’active HPOS avec la synchronisation maintenue : les commandes s’écrivent dans les nouvelles tables et restent répliquées dans wp_posts, ce qui laisse une porte de sortie si une extension se comporte mal.

  3. Test sur un échantillon de commandes

    Je vérifie la création, la modification de statut, le remboursement et l’export d’une commande de test sur chaque canal de paiement actif, en environnement de test d’abord.

  4. Période d’observation avec synchronisation active

    Je laisse tourner la boutique avec la synchronisation active un temps suffisant pour couvrir un cycle de commande complet, en surveillant les rapports et les extensions sensibles.

  5. Désactivation de l’ancien stockage

    Une fois la stabilité confirmée, je désactive la synchronisation et l’ancien stockage dans wp_posts. Ce point est le point de non-retour : le désactiver avant d’être certain qu’aucune extension ne dépend encore de wp_posts pour les commandes expose à une perte de compatibilité silencieuse.

Pour aller plus loin

Décrivez votre besoin en 1 minute

Quelques questions ciblées pour que je vous réponde avec une estimation, pas avec un questionnaire de plus.

D’où partez-vous ?
Quelle est la taille du catalogue, s’il y a une boutique ?
Le site utilise-t-il des extensions payantes avec licence à retransférer ? (facultatif)

Certaines licences sont limitées à un domaine ou nécessitent une réactivation auprès de l’éditeur.

Qu’est-ce qui doit impérativement être conservé ? (facultatif)
Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Indiquez au moins un e-mail ou un téléphone pour que je puisse vous répondre.

Questions fréquentes

HPOS va-t-il modifier mes commandes existantes ?
Non, l’activation avec synchronisation copie les commandes existantes dans les nouvelles tables sans les modifier. L’historique reste intact et consultable normalement.
Puis-je revenir en arrière après avoir activé HPOS ?
Oui, tant que la synchronisation et l’ancien stockage dans wp_posts ne sont pas désactivés. C’est justement l’intérêt de garder cette synchronisation active un temps avant de couper l’ancien système.
Comment savoir si mes extensions de paiement sont compatibles ?
WooCommerce affiche l’état de compatibilité HPOS déclaré par chaque extension dans la liste des plugins actifs. Je vérifie cette information avant toute activation en production.
HPOS est-il obligatoire ?
Il est activé par défaut sur les boutiques créées à partir du 10 octobre 2023. Sur une boutique plus ancienne, l’activation reste volontaire, mais elle apporte un gain de performance réel sur les requêtes de commande à mesure que le catalogue de commandes grossit.
Combien de temps garder la synchronisation active avant de désactiver l’ancien stockage ?
Le temps de couvrir un cycle de commande représentatif de l’activité de la boutique, en incluant les extensions les moins utilisées (remboursement, export comptable de fin de mois) pour être sûr qu’elles fonctionnent correctement.