L'essentiel en 4 points
- Avec WooCommerce, une page de blog passe de 8 à 29 requêtes et de 206 à 676 Kio, et met 2,4 fois plus de temps à être générée.
- Une extension d'une vingtaine de lignes retire ses styles et scripts des pages qui ne vendent rien : l'article retombe à 17 requêtes et 409 Kio, sans toucher à la boutique.
- L'attribution de commande pose 7 cookies sbjs_ à la première page vue, avant tout consentement. Coupe-la, ou fais-la passer par ton outil de consentement.
- Exclus du cache de pages le panier, la commande et le compte client, et les visiteurs qui portent les cookies du panier.
7.1Ce que pèse WooCommerce, page par page
On a mesuré chaque type de page du labo avec Chromium, cache vide, en comptant tout ce que le navigateur télécharge. Le poids est donné sans compression : sur ton hébergement, le transfert réel sera plus léger, mais les écarts entre pages restent les mêmes.
| Page | Requêtes | Poids | Scripts | Requêtes SQL |
|---|---|---|---|---|
| Accueil, avant WooCommerce | 6 | 185 Kio | 4 | 23 |
| Accueil | 27 | 656 Kio | 17 | 68 |
| Article de blog, avant WooCommerce | 8 | 206 Kio | 5 | 29 |
| Article de blog | 29 | 676 Kio | 18 | 61 |
| Boutique | 38 | 778 Kio | 19 | 88 |
| Catégorie | 35 | 708 Kio | 19 | 76 |
| Fiche produit simple (mug) | 44 | 835 Kio | 23 | 76 |
| Fiche produit variable (t-shirt) | 48 | 916 Kio | 27 | 83 |
| Panier vide | 87 | 2 957 Kio | 69 | 95 |
| Validation de la commande | 88 | 2 957 Kio | 69 | — |
| Mon compte | 30 | 744 Kio | 19 | 55 |
Trois lignes sautent aux yeux. L'accueil et l'article, qui ne vendent rien, ont triplé. Les fiches produit sont lourdes, ce qui est plus normal : galerie, zoom, choix des variations. Et le panier, vide, charge 69 scripts pour près de 3 Mio : les blocs du panier et de la commande se découpent en dizaines de petits fichiers.
Le panier et la commande, je ne m'en inquiète pas trop : seuls les acheteurs y vont, et ils ont déjà décidé. Ce qui me gêne, c'est le blog. Tes articles sont souvent la porte d'entrée de ta boutique, ceux qui arrivent depuis Google. Ils paient le prix d'une boutique qu'ils ne regardent pas encore.
Le temps de génération
Côté serveur, on a mesuré le temps que met WordPress à fabriquer la page, sept fois de suite, avec puis sans WooCommerce (désactivé le temps de la mesure). Médianes : 0,13 s sans et 0,32 s avec pour l'accueil, 0,14 s sans et 0,34 s avec pour l'article. Environ 2,4 fois plus.
En valeur absolue, ces temps ne disent rien de ton hébergement : le labo tourne en local. Mais le rapport, lui, est parlant, et il plaide pour un cache de pages, on y vient plus bas.
7.2Ce que WooCommerce charge sur une page de blog
Sur l'article du labo, voilà ce que WooCommerce ajoute :
- des feuilles de style : woocommerce.css, woocommerce-layout.css, woocommerce-smallscreen.css, woocommerce-blocktheme.css, plus celles des blocs (wc-blocks.css, packages-style.css, mini-cart-contents.css) ;
- jQuery et ses compagnons (jquery-migrate, blockUI, js-cookie), les scripts woocommerce.js et add-to-cart.js ;
- les blocs de l'en-tête, le mini-panier et le compte client, que WooCommerce a ajoutés tout seul au thème ;
- l'attribution de commande : sourcebuster.js et order-attribution.js, et leurs 7 cookies.
Le mini-panier et l'icône de compte, je les garde : ils servent à quelqu'un qui a déjà un article dans son panier et qui lit ton blog. Le reste n'a rien à faire sur une page qui ne vend rien.
7.3Une petite extension pour alléger le blog
Voici l'extension qu'on a testée au labo. Elle retire les styles et scripts « classiques » de WooCommerce sur toutes les pages qui ne sont ni la boutique, ni un produit, ni une catégorie, ni le panier, ni la commande, ni le compte client.
<?php
/**
* Plugin Name: Boutique allégée
* Description: Retire les styles et scripts « classiques » de WooCommerce des pages qui ne vendent rien (blog, pages).
* Version: 1.0.0
*/
add_action(
'wp_enqueue_scripts',
function () {
if ( ! function_exists( 'is_woocommerce' ) || is_woocommerce() || is_cart() || is_checkout() || is_account_page() ) {
return;
}
foreach ( array( 'woocommerce-general', 'woocommerce-layout', 'woocommerce-smallscreen', 'woocommerce-blocktheme' ) as $style ) {
wp_dequeue_style( $style );
}
foreach ( array( 'woocommerce', 'wc-add-to-cart', 'wc-cart-fragments', 'sourcebuster-js', 'wc-order-attribution' ) as $script ) {
wp_dequeue_script( $script );
}
},
99
);Crée le dossier, colle le fichier, et active « Boutique allégée » dans tes extensions. Pas besoin de toucher à ton thème.
| Page | Avant | Après |
|---|---|---|
| Accueil | 27 requêtes · 656 Kio | 15 requêtes · 389 Kio |
| Article de blog | 29 requêtes · 676 Kio | 17 requêtes · 409 Kio |
| Boutique | 38 requêtes · 778 Kio | inchangée |
| Fiche produit | 44 requêtes · 835 Kio | inchangée |
| Panier | 87 requêtes · 2 957 Kio | inchangé |
Cookies déposés sur l'article : 7 avant, 0 après. Le mini-panier et le compte client de l'en-tête restent en place, avec leurs scripts.
Il y a un prix, et je préfère te le dire : l'attribution de commande ne voit plus le visiteur tant qu'il est sur le blog. Elle démarre à sa première page de boutique. Si tu as besoin de savoir qu'une commande vient d'un article précis, cette extension te prive de l'information. Pour moi, c'est un très bon échange.
Et si tu construis ton propre thème, le même code peut vivre dans son functions.php : c'est le dernier chapitre du dossier thème.
7.4Les 7 cookies de l'attribution de commande
C'est la mesure qui me gêne le plus. Au labo, un visiteur qui arrive sur l'accueil, sans rien toucher, repart avec 7 cookies : sbjs_current, sbjs_current_add, sbjs_first, sbjs_first_add, sbjs_migrations, sbjs_session et sbjs_udata. Ils viennent de l'« attribution de commande », une fonction de WooCommerce activée d'origine.
D'après la documentation de l'attribution de commande, ces cookies retiennent d'où vient le visiteur (site d'origine, paramètres UTM de tes campagnes), son type d'appareil et le nombre de pages vues. Les données ne sont enregistrées dans WooCommerce que si une commande est passée, et les cookies expirent avec la session. C'est ce qu'on a retrouvé dans la commande n° 24 : origine « Direct », appareil « Ordinateur », 6 pages vues.

Et le consentement ?
La règle française, rappelée par la CNIL : « Tant que la personne n'a pas donné son consentement, les cookies ne peuvent pas être déposés ou lus sur son terminal. » Avec des exemptions, dont deux qui concernent une boutique : les traceurs « destinés à garder en mémoire le contenu d'un panier d'achat sur un site marchand », et ceux « destinés à l'authentification ». La mesure d'audience peut aussi être exemptée, mais à des conditions strictes, dont celle de « servir à produire des données statistiques anonymes uniquement ».
Les trois cookies du panier (woocommerce_cart_hash, woocommerce_items_in_cart et wp_woocommerce_session_), au labo, ne sont apparus qu'après l'ajout d'un produit au panier. Ils entrent dans l'exemption du panier.
Les 7 cookies sbjs_, eux, ne servent ni au panier ni à l'authentification. Et ils ne produisent pas une statistique anonyme : ils rattachent une source à une commande, donc à un client. À mes yeux, ils demandent un consentement. WooCommerce a d'ailleurs reconnu le problème : dans un billet de janvier 2024, l'équipe écrivait que des marchands européens avaient pu se retrouver en défaut à cause de l'activation par défaut de cette fonction. Depuis, elle est compatible avec la WP Consent API, que gèrent certains outils de consentement.

Un tiers caché dans la galerie
Petite trouvaille du labo, pour finir sur ce sujet. La loupe de la galerie produit est un emoji, 🔍. Sur le navigateur du labo, le script emoji de WordPress l'a remplacé par une image téléchargée sur s.w.org, un serveur de WordPress.org. Résultat : une requête vers un site tiers depuis chaque fiche produit. Ça ne pose aucun cookie, mais ça transmet l'adresse IP du visiteur à un autre serveur. Si tu traques les tiers, c'est le script emoji de WordPress qu'il faut désactiver.
7.5Le cache de pages
Pour rattraper les 0,2 seconde que coûte WooCommerce à chaque page, la réponse classique est un cache de pages : ton hébergeur ou une extension garde une copie toute prête de chaque page. Sauf qu'une boutique a des pages qui ne doivent jamais être servies en copie.
La documentation de WooCommerce sur les extensions de cache en liste trois : le panier, le compte client et la commande, parce qu'elles affichent des informations propres à chaque client. Et trois cookies à exclure : woocommerce_cart_hash, woocommerce_items_in_cart et wp_woocommerce_session_. Concrètement : un visiteur qui a quelque chose dans son panier ne doit plus recevoir de pages en cache. Sinon, ton mini-panier affiche le panier d'un autre.
Beaucoup d'extensions de cache le font seules, la documentation le dit d'ailleurs. Vérifie quand même : ajoute un produit au panier, ouvre une autre page, et regarde si le compteur du mini-panier suit.
Côté réglages, ce qu'on a relevé (Avancé > Fonctionnalités)
- « Mettre en cache les produits » : cochée d'origine, présentée comme une option de performance.
- « Mise en cache des données HPOS » : décochée, recommandée par WooCommerce pour les boutiques qui utilisent un cache objet.
- « Effacer les sessions clients si vide » : fonctionnalité expérimentale, décochée, qui supprime le cookie de session des visiteurs au panier vide pour faciliter le cache de pages.
Pour finir ce chapitre, un rappel qui date de 2018 et qui n'a pas pris une ride. Dans mon environnement de test WooCommerce, je faisais tourner la boutique sur la dernière version de PHP, pour une question de performances. En 2026, la documentation de WooCommerce conseille PHP 8.3 : c'est souvent le gain le plus simple, un réglage chez ton hébergeur.
Une boutique légère, c'est bien. Une boutique que Google comprend, c'est mieux : place au référencement.
Sources
Historique de ce chapitre
- 19 octobre 2026 : première version, mesures sur WooCommerce 11.2.1.

Co-fondateur de Kōeki · Consultant SEO et IA
Sébastien Grillot
Consultant SEO depuis 2009 : c'est ici, sur Inside da WeB, qu'il a monté sa première agence, spécialisée dans l'e-commerce sous WordPress. Depuis 2021, il accompagne les e-commerçants avec Kōeki.


