# 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.

- Source canonique : [https://allaux.fr/wordpress-woocommerce/migration/stockage-haute-performance-commandes](https://allaux.fr/wordpress-woocommerce/migration/stockage-haute-performance-commandes)
- Langue : FR
- Dernière mise à jour : 2026-08-03

## Réponse directe

> Allez dans WooCommerce, Réglages, Avancé, Fonctionnalités : activez d’abord la synchronisation entre les deux modes de stockage et laissez-la se terminer avant de désigner les tables haute performance comme source. Les commandes passent alors de wp_posts et wp_postmeta vers wp_wc_orders et ses tables associées. Ce même écran liste les extensions qui n’ont pas déclaré leur compatibilité : traitez-les avant de basculer.

## 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.

## Sauvegarde avant activation

> Je sauvegarde la base de données avant toute activation de HPOS, même si la synchronisation offre une sécurité pendant la transition : elle ne remplace pas une sauvegarde complète en cas d’incident sur l’hébergement lui-même.

## Pour aller plus loin

- **Passer aux blocs de panier et de commande** — Un autre changement de la même période de WooCommerce, avec sa propre logique de compatibilité côté extensions. ([/wordpress-woocommerce/migration/blocs-panier-commande](/wordpress-woocommerce/migration/blocs-panier-commande))
- **Mettre à jour WooCommerce vers une version majeure** — HPOS fait partie des changements à anticiper avant une montée de version majeure de WooCommerce. ([/wordpress-woocommerce/mise-a-jour/version-majeure-woocommerce](/wordpress-woocommerce/mise-a-jour/version-majeure-woocommerce))
- **Vérifier la compatibilité des extensions avant une mise à jour** — La méthode générale pour contrôler qu’un plugin survivra à un changement structurel comme HPOS. ([/wordpress-woocommerce/mise-a-jour/verifier-extensions-avant-mise-a-jour](/wordpress-woocommerce/mise-a-jour/verifier-extensions-avant-mise-a-jour))
- **Sauvegarder sa boutique avant une intervention** — La sauvegarde précède toute activation de HPOS, comme toute intervention sur la structure de la base. ([/guides/sauvegarder-boutique-avant-intervention](/guides/sauvegarder-boutique-avant-intervention))

## FAQ

### 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.
