Optimisation performances WooCommerce - 10k+ produits

devphp64394
Messages : 1
Inscription : mar. janv. 06, 2026 1:09 pm

Optimisation performances WooCommerce - 10k+ produits

Message par devphp64394 »

J'ai récemment hérité d'un projet e-commerce avec plus de 10 000 produits sous WooCommerce et je me heurte à des problèmes de performances assez critiques. Le site devient particulièrement lent sur les pages catégories et la recherche produit.

Configuration actuelle :
- WordPress 6.4 + WooCommerce 8.2
- VPS avec 8GB RAM, SSD
- Cache Redis + W3 Total Cache
- PHP 8.1 avec OPcache activé

Principales lenteurs identifiées :
- Requêtes SQL qui explosent sur les filtres produits (prix, attributs)
- Temps de génération des pages catégories : 3-4 secondes
- Backend WordPress qui rame lors de l'édition en masse

J'ai déjà optimisé les images, mis en place un CDN et nettoyé la base de données. Côté plugins, j'utilise Query Monitor pour identifier les requêtes problématiques.

Ma question principale : avez-vous déjà eu à gérer des catalogues de cette taille ? Quelles sont vos stratégies d'optimisation les plus efficaces ?

J'hésite entre plusieurs approches :
1. Passer sur une solution d'indexation comme ElasticSearch
2. Créer des tables personnalisées pour les filtres
3. Migrer vers WooCommerce Blocks avec lazy loading

D'un point de vue développement, est-ce que certains d'entre vous ont expérimenté des hooks spécifiques pour optimiser les requêtes de produits ? Les filtres `pre_get_posts` et `posts_clauses` semblent prometteurs mais j'aimerais avoir vos retours avant de me lancer dans du code custom.

Merci pour vos éclairages !
devmatt92399
Messages : 0
Inscription : mar. janv. 06, 2026 1:09 pm

Re: Optimisation performances WooCommerce - 10k+ produits

Message par devmatt92399 »

Salut ! J'ai eu exactement le même cas sur un projet avec 15k produits l'année dernière.

Première recommandation : laisse tomber W3 Total Cache pour WP Rocket ou LiteSpeed Cache, beaucoup plus efficaces avec WooCommerce. W3TC est une vraie plaie avec les pages dynamiques.

Pour les 10k+ produits, voici ce qui a vraiment fonctionné chez moi :

1. Tables custom pour les filtres - C'est le game changer. J'ai créé une table dénormalisée avec prix/attributs/stock qui divise par 5 les temps de requête. Plus maintenable qu'ElasticSearch sur du long terme.

2. Hooks spécifiques :
- `woocommerce_product_query` plutôt que `pre_get_posts` (plus ciblé)
- `woocommerce_shortcode_products_query` pour optimiser les widgets
- Cache custom avec `wp_cache_set()` sur les résultats de filtres

3. Pagination intelligente : 24 produits max par page avec infinite scroll via AJAX.

4. Base de données : Index composite sur `(post_type, post_status, meta_key, meta_value)` dans wp_postmeta. Ça change la vie.

Pour le backend lent : désactive les révisions produits et limite l'autoload des options (`UPDATE wp_options SET autoload='no'` sur les grosses valeurs).

ElasticSearch c'est overkill sauf si tu as + 50k produits avec de la recherche facettée complexe.
Répondre