Tu t’apprêtes à lancer une promo, une opération d’influence, ou un email à l’ensemble de ta base ? Si ta boutique montre des signes de fatigue — WooCommerce lent, pages produits qui traînent, panier qui se fige — il te faut un plan d’action court, efficace et sans prise de risque. Cette check‑list a été conçue pour optimiser WooCommerce juste avant des pics de trafic e‑commerce, avec des réglages simples, mesurables, et surtout réversibles. L’objectif : améliorer la performance boutique WordPress, réduire le Time To First Byte (TTFB), stabiliser le checkout et mettre en place un cache WooCommerce cohérent, sans casser tes ventes.
Dans les 200 prochaines lignes, on va t’emmener droit au but : ce qu’il faut mesurer, ce qu’il faut couper (temporairement), et ce qu’il faut accélérer. Tu vas voir comment vérifier l’essentiel côté serveur (PHP‑FPM, OPcache), renforcer le cache (page + object cache), nettoyer la base (transients, sessions), et fluidifier le front (WebP, fonts, scripts). On garde le focus sur les conversions : un site rapide, c’est un panier qui se remplit et une page de paiement qui rassure.
Diagnostic éclair (15 minutes) : mesurer avant d’optimiser
Avant d’agir, on checke l’état des lieux. Tu ne peux pas améliorer ce que tu ne mesures pas.
- Vitesse perçue et TTFB : lance un test mobile et desktop sur PageSpeed Insights. Note LCP, TBT, CLS et le TTFB. Si TTFB > 600 ms, on visera le serveur et le cache.
- Logs serveur : ouvre les logs d’erreurs et d’accès (5–10 dernières minutes) pour détecter 500/502/503, timeouts, ou pics de requêtes sur /wp-admin/admin-ajax.php.
- État WordPress : onglet Santé du site, extensions critiques à jour (WooCommerce, passerelles de paiement), PHP ≥ 8.1 recommandé, idéalement 8.2/8.3.
- Profilage rapide : sur staging si possible, active un profiler léger (Query Monitor) pour repérer les requêtes lentes (postmeta, options autoload trop lourdes, transients).
Si tu es pressé, retiens une règle : TTFB haut = problème serveur/cache, LCP haut = front trop lourd, TBT haut = JS bloquant. On s’attaque à ces trois leviers en priorité.
Serveur et PHP : les réglages qui font la différence
Met à jour et calibre PHP‑FPM
- Version PHP : passe en 8.2 ou 8.3 (tests obligatoires). WooCommerce et la plupart des thèmes modernes s’y comportent mieux.
- PHP‑FPM : ajuste le pm en dynamic ou ondemand selon la RAM. Pour un site e‑commerce actif (2–4 vCPU, 4–8 Go RAM) :
pm.max_children ≈ RAM_PHP / 60–80 MB, pm.start_servers: 2–4, pm.min_spare_servers: 2, pm.max_spare_servers: 6–8. - OPcache : active et augmente opcache.memory_consumption (128–256), opcache.max_accelerated_files (20000+), opcache.validate_timestamps=1 (prod avec revalid=60).
- Limites PHP : memory_limit 256–512M, max_execution_time 120–180, max_input_vars 3000–5000 (en fonction des variations produits).
HTTP/2, compression et TLS
- HTTP/2 ou HTTP/3 activé sur NGINX/Apache + CDN.
- Compression : Gzip ou Brotli (niveau équilibré), cache navigateur configuré pour images, fonts et scripts.
Objectif : abaisser le TTFB sous 200–400 ms côté cache, sous 500–700 ms côté dynamique (panier/checkout).
Mettre en place un cache WooCommerce sans casser le panier
Le cache est ton meilleur allié… si tu l’exclus au bon endroit. WooCommerce sert des pages dynamiques (panier, compte, checkout) qui ne doivent pas être mises en cache page.
Règles de base
- Page cache : active un cache de page pour pages catégories, produits (hors fragments dynamiques), pages CMS. Exclure :
/cart/,/checkout/,/my-account/, et requêtes avec cookies WooCommerce (ex.woocommerce_items_in_cart). - Object cache (Redis) : active un cache d’objets persistant pour accélérer les requêtes WP et WooCommerce (requêtes options, taxonomies, menus).
- Exclusions JS : évite d’agréger/minifier les scripts de paiement (Stripe, PayPal) et les scripts critiques du panier.
Référence utile : la documentation officielle sur la configuration des plugins de cache pour WooCommerce est ici : configurer correctement le cache WooCommerce.
Fragments du panier (wc-ajax=get_refreshed_fragments)
- Désactivation conditionnelle : si ton thème n’utilise pas l’icône panier dynamique, désactive les fragments via un snippet enqueue/dequeue (sur un thème enfant) ou via un plugin dédié.
- Limiter la portée : charge les fragments uniquement sur les pages produits et panier, pas sur tout le site.
Base de données : alléger les tables qui gonflent
La base de données gonfle vite avec les transients expirés, sessions, révisions, logs d’emailing, ou des variations mal gérées. Avant une campagne, on fait un ménage ciblé.
- Transients expirés : purge sécurisée (en CLI ou plugin), surtout ceux liés aux prix et aux caches temporaires.
- Sessions WooCommerce : nettoie
wp_woocommerce_sessionspour éviter un scan inutile à chaque page. - Options autoload : vise < 1–3 Mo. Identifie les options trop lourdes (statistiques, builders) et passe-les en autoload=no si possible.
- Révisions et corbeilles : purge des révisions de pages produits obsolètes, corbeille d’articles et commentaires.
- HPOS (High‑Performance Order Storage) : si ton écosystème est compatible, active HPOS pour désengorger postmeta et accélérer les requêtes commandes (tests préalables indispensables).
Astuce : programme une optimisation des index (InnoDB) durant la nuit précédant la campagne.
Frontend : 12 quick wins visuels qui dopent les conversions
- Images au format WebP/AVIF : convertis les visuels héros et vignettes produits. Active la génération responsive (srcset, sizes).
- CDN pour assets statiques : images, CSS, JS, polices. Réécriture d’URL + cache long (avec purge auto à la mise à jour).
- Preload des ressources critiques : police principale (woff2), CSS critique (ou critical CSS), images héros en
fetchpriority="high". - Defer/Delay JS : retarde les scripts non essentiels (widgets chat, heatmaps, trackers secondaires). Ne retarde pas la couche paiement.
- Lazy‑load : toutes les images hors écran, iframes, vidéos.
- Désactiver les emojis WP côté front et les embeds si non utilisés.
- Nettoyer le header : supprime les polices inutilisées, limite à 1–2 familles, 2–3 graisses max.
- Minification prudente : concaténation limitée, source maps désactivées en prod.
- Gérer les popups : déclenchement retardé, pas sur le checkout.
- CSS non critique :
media="print"ourel="preload" as="style" onloadpour charger sans bloquer le rendu. - Supprimer les scripts inutiles : désactive les modules d’un constructeur qui ne sont pas utilisés pendant la campagne.
- Limiter les produits liés : réduis le nombre d’upsells/cross-sells affichés si leur rendu déclenche des requêtes lourdes.
Panier et checkout : sécuriser l’étape la plus sensible
- Moins de champs, plus de conversions : supprime les champs non indispensables. Active l’auto‑complétion d’adresse si stable.
- Couper les distractions : pas de popups, pas de sliders ni d’animations lourdes sur le checkout.
- Expédition : mets en cache les tarifs si possible, ou limite les méthodes proposées lors des pics.
- Paiements : garde 1–2 passerelles prioritaires et ultra stables, désactive les secondaires pour réduire la surface de bugs.
- Validation côté serveur : vérifie que les hooks de validation ne déclenchent pas de requêtes externes lentes.
WP‑Cron, Heartbeat et tâches planifiées
- WP‑Cron : passe en cron système si possible (désactive
DISABLE_WP_CRONà false et crée un cron serveur), ou au minimum décale les tâches lourdes à la nuit. - Heartbeat : limite la fréquence en back‑office, désactive sur le front pour éviter les AJAX superflus pendant les pics.
- Imports/exports : suspends les syncs produits/stock non essentiels pendant la fenêtre de campagne.
CDN et mise en cache globale
- Activer CDN pour les assets statiques, activer HTTP/2/3, compression Brotli et caching niveau edge.
- Mode d’exception : ne met pas en cache cart/checkout/my-account côté CDN, mais autorise le cache agressif sur les pages catégories et fiches produits.
- Purge sélective : prépare une règle qui purge uniquement les pages modifiées (catégories en promo / fiches modifiées).
SEO technique pendant le rush
- Balises canonicals : vérifie qu’elles ne pointent pas vers des URL filtrées (paramètres promo).
- Prévention du crawl inutile : désactive la pagination profonde des catégories si elle provoque une surcharge pendant 48 h (le temps de la campagne).
Monitoring live pendant la campagne
- Metrics à surveiller : CPU, RAM, I/O, erreurs 500/502/503, saturation PHP‑FPM, temps des requêtes SQL et AJAX.
- Alertes : seuils TTFB > 800 ms, taux d’erreurs > 1–2 %, checkout > 2 s sur le processing du paiement.
- Plan B : page d’attente légère si la charge dépasse le seuil, désactivation temporaire de modules visuels non essentiels.
Check‑list express « T‑60 minutes »
Tu as une heure ? Applique ce plan minimal viable, testé sur des dizaines de boutiques :
- Cache page activé avec exclusions cart/checkout/my-account + Object cache (Redis) opérationnel.
- Fragments panier limités aux pages utiles. JS de paiement non minifié, non différé.
- Images clés en WebP et lazy‑load actif. Preload de la police principale et du CSS critique.
- PHP‑FPM ajusté (max_children cohérent), OPcache élargi, memory_limit ≥ 256M.
- Transients expirés et sessions WooCommerce purgés. Options autoload < 3 Mo.
- WP‑Cron converti en cron système ou tâches lourdes décalées. Heartbeat réduit.
- Checkout épuré : champs superflus désactivés, une ou deux passerelles de paiement stables.
- CDN actif pour assets, purge sélective prête. HTTP/2/3, Brotli.
- Monitoring temps réel en place, alertes au‑delà de 800 ms TTFB.
- Test final : 1 panier, 1 commande test carte/PayPal, logs propres.
Tests de charge légers (optionnel mais recommandé)
Si tu as 24–48 h, envoie un trafic simulé modéré (5–20 utilisateurs virtuels) sur fiches produits et panier. Observe TTFB, saturation FPM, montée en latence MySQL. Ajuste max_children et la taille du pool Redis en conséquence.
Ce qu’il faut éviter juste avant une campagne
- Grosse mise à jour (WooCommerce, thème, builder) sans recette complète.
- Refonte de la page checkout ou ajout d’un plugin de paiement la veille.
- Vidage global du cache au moment du pic : préfère une purge sélective par catégories/produits.
- Tracking invasif ou scripts de heatmap activés sur le checkout.
Bonnes pratiques structurelles (à planifier après la campagne)
Pour aller plus loin et stabiliser la perf sur la durée :
- Architecture : sépare base de données, cache Redis et PHP sur des instances dédiées en cas de croissance.
- HPOS : finalise la migration pour les commandes (avec backups et staging sérieux).
- Images : pipeline d’optimisation automatique (WebP/AVIF, redimensionnement, CDN).
- Build front : CSS critique automatisé, code‑splitting, suppression des CSS/JS inutilisés.
- Observabilité : APM (New Relic/Scout), logs centralisés, tableaux de bord Core Web Vitals.
Ressource bonus pour partir du bon pied
Reprends la configuration de ton plugin de cache à l’aide du guide officiel WooCommerce : bonnes pratiques de cache, et teste tes optimisations avec PageSpeed Insights après chaque changement pour éviter les mauvaises surprises.
Conclusion : prêt pour le rush
Un WooCommerce lent juste avant une opération commerciale n’est pas une fatalité. En suivant ce plan d’action express — serveur calibré, cache WooCommerce propre, base assainie, front allégé et checkout sécurisé — tu mets toutes les chances de ton côté pour absorber des pics de trafic e‑commerce sans chute de conversion. Et si tu préfères te concentrer sur la campagne, l’équipe WP Builders gère le reste en urgence ou sous contrat de maintenance.


