Le stockage haute performance des commandes (HPOS, pour High-Performance Order Storage) est devenu le stockage par défaut des nouvelles installations WooCommerce depuis plusieurs versions déjà. Ce qui manquait jusqu’ici, c’était du recul réel : pas des benchmarks synthétiques en laboratoire, mais des chiffres tirés de boutiques en production, migrées depuis l’ancien système reposant sur la table wp_posts, et observées sur une durée suffisante pour lisser les variations saisonnières. Ce comparatif ne couvre pas la procédure de migration elle-même, déjà traitée en détail ailleurs sur ce blog.
Nous avons pu suivre cinq boutiques clientes migrées vers HPOS il y a environ deux ans, avec des volumes de commandes allant de quelques centaines à plusieurs dizaines de milliers par mois, ce qui permet de nuancer sérieusement l’affirmation générale selon laquelle « HPOS est plus rapide ».
Pourquoi l’ancien stockage montrait ses limites
Avant HPOS, une commande WooCommerce était un article de type shop_order stocké dans la table wp_posts, partagée avec tous les autres types de contenu du site — articles de blog, pages, médias. Chaque métadonnée de commande (montant, statut, adresse) vivait dans wp_postmeta, une table générique à structure clé-valeur, peu adaptée à des requêtes de filtrage complexes portant sur plusieurs critères de commande à la fois.
Ce que HPOS change structurellement
HPOS introduit des tables dédiées aux commandes (wc_orders, wc_order_operational_data, wc_order_addresses, entre autres), avec des colonnes typées correspondant directement aux champs métier d’une commande, plutôt qu’un stockage générique clé-valeur. Cette structure permet des index ciblés et des requêtes SQL bien plus directes, sans jointures multiples sur une table de métadonnées partagée avec tout le reste du site.

Les chiffres après deux ans
| Indicateur | Ancien stockage | HPOS |
|---|---|---|
| Rapport de commandes du mois (boutique à fort volume) | Référence | Environ 2,4 fois plus rapide |
| Requête de recherche de commande par e-mail client | Référence | Environ 1,8 fois plus rapide |
| Temps de passage de commande au checkout | Référence | Amélioration marginale, quelques dizaines de millisecondes |
| Taille de sauvegarde de la base (à volume équivalent) | Référence | Légèrement réduite, tables mieux normalisées |
Le tableau révèle un point important : le gain de performance de HPOS ne se répartit pas uniformément selon l’opération considérée. Les requêtes de lecture complexes, typiquement les rapports et les recherches administratives, bénéficient nettement du nouveau schéma. Le checkout, en revanche, gagne assez peu, parce que le goulot d’étranglement à ce moment précis se situe surtout dans les appels réseau vers les passerelles de paiement, pas dans l’écriture en base de données elle-même.
Le facteur qui compte plus que le stockage lui-même
Sur deux des cinq boutiques suivies, le gain constaté a été nettement inférieur aux attentes, et l’enquête a révélé la même cause dans les deux cas : des extensions tierces encore compatibles uniquement avec l’ancien stockage, forçant WooCommerce à maintenir une synchronisation de compatibilité entre les deux systèmes en parallèle. Cette synchronisation, prévue justement pour permettre une transition en douceur, annule une bonne partie du gain de performance attendu tant que toutes les extensions actives n’ont pas basculé leur propre code vers les nouvelles API de commande.
Ce qu’il faut vérifier avant d’espérer le gain complet
- Que toutes les extensions actives déclarent explicitement leur compatibilité HPOS, visible dans l’écran de fonctionnalités avancées de WooCommerce.
- Que le mode de synchronisation de compatibilité soit désactivé une fois toutes les extensions vérifiées, plutôt que laissé actif par prudence indéfiniment.
- Que les requêtes personnalisées écrites par l’agence elle-même (rapports maison, exports) aient bien été migrées vers les fonctions d’accès officielles plutôt que de continuer à cibler
wp_postmetadirectement.
Le gain de HPOS n’est pas automatique, il est conditionnel. Une boutique qui traîne une seule extension non migrée peut ne voir quasiment aucune différence, et en conclure à tort que le nouveau stockage ne tient pas ses promesses.
Notre verdict
Après deux ans d’observation, HPOS tient ses promesses de performance, mais de façon inégale selon le type d’opération et surtout selon le degré réel de migration de l’écosystème d’extensions installées. Sur une boutique à fort volume de commandes avec des extensions à jour, le gain sur les rapports et les recherches administratives est net et mesurable. Sur une petite boutique avec peu de commandes, la différence reste difficile à percevoir au quotidien — ce qui ne remet pas en cause l’intérêt du nouveau stockage pour l’avenir, mais relativise l’urgence de migrer pour les plus petites structures.