Après 8 ans de dev, je me retrouve régulièrement face à des boutiques WooCommerce qui perdent en performance à mesure qu'elles grandissent. Le point critique arrive souvent autour de 5000-10000 produits avec des stocks qui bougent fréquemment.
J'ai développé plusieurs approches pour optimiser ces situations, mais j'aimerais avoir vos retours d'expérience sur deux stratégies spécifiques :
Approche 1 : Décrocher les calculs lourds des hooks
Plutôt que de laisser woocommerce_product_set_stock et woocommerce_reduce_order_stock faire tout le travail en temps réel, je déporte les calculs complexes (recommandations, analytics, synchronisation ERP) vers des tâches asynchrones avec wp-cron ou des queues Redis.
Approche 2 : Cache intelligent des données produits
Mise en cache agressive des métadonnées produits avec invalidation sélective. J'utilise une combinaison de transients WordPress et memcached pour les requêtes les plus fréquentes.
Le problème que je rencontre : sur certains projets avec des promotions flash ou des stocks limités, l'approche asynchrone peut créer des incohérences temporaires. Les clients voient parfois des produits "en stock" alors qu'ils viennent d'être épuisés.
Comment gérez-vous ce compromis entre performance et cohérence temps réel ? Avez-vous testé des solutions comme ActionScheduler en mode haute fréquence, ou préférez-vous garder certains hooks critiques synchrones ?
Curieux de voir comment vous abordez ces défis sur vos projets WooCommerce à fort trafic.