L'essentiel en 5 points
- WooCommerce met en noindex le panier, la commande, le compte client et la confirmation, mais le plan du site de WordPress les envoie quand même à Google. Une extension de quelques lignes corrige la contradiction.
- Une fiche produit porte d'office un JSON-LD Product (prix TTC, disponibilité) et un fil d'Ariane. Il y manque la livraison, les retours, la marque et le GTIN, que Google attend pour une fiche marchande.
- La description du JSON-LD, c'est la description courte du produit : soigne-la.
- Les variantes n'ont pas d'adresse propre : ?attribute_taille=M présélectionne la taille, mais la canonical renvoie à la fiche.
- La page Boutique triée (?orderby=price) et les catégories n'ont aucune canonical sans extension SEO.
8.1Ce qu'on a mesuré, et ce qu'on n'a pas mesuré
Ce chapitre regarde ce que WooCommerce et WordPress font seuls, sans extension SEO. C'est voulu : c'est le socle sur lequel toute extension vient s'ajouter, et c'est ce que tu as tant que tu n'en as pas installé. Pour les extensions SEO elles-mêmes, leurs réglages d'origine et leurs différences, le chapitre sur les techniques avancées du dossier SEO WordPress les a comparées sur un blog. Une boutique ajoute ses propres pages, et c'est d'elles qu'on parle ici.
8.2Les adresses de la boutique
En français, WooCommerce range ses pages ainsi : la boutique à /boutique/, chaque produit sous /produit/ (/produit/mug-labo-inside-da-web/), les catégories sous /categorie-produit/ et les étiquettes sous /etiquette-produit/. Ces préfixes se règlent dans Réglages > Permaliens : « Préfixe des catégories de produit », « Préfixe des étiquettes de produit », et plus bas la section « Permaliens de produit ».
Mon conseil : ne les change pas une fois la boutique en ligne. Comme pour un blog, changer une base d'adresse casse toutes les anciennes. J'ai raconté ce que ça coûte au chapitre sur l'arborescence du dossier SEO.
Et les variantes ?
Le guide de Google sur la structure des adresses d'un site d'e-commerce recommande : « Pour aider Google à comprendre vos variantes de produits, assurez-vous que chaque variante peut être identifiée par une URL distincte. »
Au labo, le t-shirt n'a qu'une fiche. Mais l'adresse /produit/t-shirt-labo/?attribute_taille=M ouvre la fiche avec la taille M déjà choisie. Une adresse distincte existe donc. Sa canonical, en revanche, renvoie vers la fiche sans paramètre : pour Google, il n'y a qu'une page. Pour un t-shirt en trois tailles, c'est très bien. Si tes variantes sont des produits vraiment différents que les gens cherchent par leur nom (une couleur précise, un modèle), c'est là qu'il faut réfléchir à des fiches séparées.
8.3Le noindex, et le plan du site qui le contredit
Bonne nouvelle : WooCommerce marque lui-même en « noindex, follow » les pages qui n'ont rien à faire dans Google. Au labo, on l'a relevé sur le panier, la commande, le compte client, la page « Commande reçue » et le formulaire de rétractation.
Mauvaise nouvelle : le plan du site de WordPress, lui, les liste quand même. Dans /wp-sitemap-posts-page-1.xml, on trouvait /panier/, /commander/ et /mon-compte/. Tu envoies donc à Google trois adresses en lui disant, sur la page même, de ne pas les indexer. Ce n'est pas dramatique, mais c'est un signal contradictoire, et autant l'éviter.
Si tu as une extension SEO avec son propre plan du site, vérifie ce qu'elle y met. Si tu gardes celui de WordPress, voici une petite extension testée au labo.
<?php
/**
* Plugin Name: Plan du site sans panier
* Description: Retire le panier, la commande et le compte client (pages en noindex) du plan du site de WordPress.
* Version: 1.0.0
*/
add_filter(
'wp_sitemaps_posts_query_args',
function ( $args, $post_type ) {
if ( 'page' === $post_type && function_exists( 'wc_get_page_id' ) ) {
$args['post__not_in'] = array_merge(
$args['post__not_in'] ?? array(),
array( wc_get_page_id( 'cart' ), wc_get_page_id( 'checkout' ), wc_get_page_id( 'myaccount' ) )
);
}
return $args;
},
10,
2
);Testé au labo : le plan du site des pages
- Sans l'extension : accueil, page d'exemple, boutique, panier, commande, mon compte, CGV.
- Avec l'extension : accueil, page d'exemple, boutique, CGV. Les trois pages en noindex ont disparu.
- Le plan du site de WordPress inclut aussi d'office les produits (wp-sitemap-posts-product-1.xml) et les catégories de produits.
Le robots.txt
WooCommerce complète aussi le robots.txt virtuel de WordPress. Au labo, il ajoutait cinq interdictions : ses journaux (wc-logs), ses fichiers temporaires, le dossier des fichiers téléchargeables (woocommerce_uploads), et les adresses qui contiennent ?add-to-cart=. Ces dernières sont les liens « Ajouter au panier » des pages de catégorie : inutile que Google les explore. Rien à changer, c'est bien vu.
8.4Les données structurées des fiches produit
Chaque fiche produit du labo portait un bloc JSON-LD avec deux éléments : un fil d'Ariane (BreadcrumbList : Accueil, Vêtements, T-shirt Labo) et un produit (Product).
{
"@type": "Product",
"name": "T-shirt Labo",
"description": "T-shirt en coton bio, trois tailles.",
"sku": "LABO-TS",
"offers": [{
"@type": "Offer",
"price": "24.90",
"priceCurrency": "EUR",
"priceValidUntil": "2027-12-31",
"availability": "https://schema.org/InStock",
"priceSpecification": [{ "@type": "UnitPriceSpecification", "price": "24.90",
"priceCurrency": "EUR", "valueAddedTaxIncluded": true }],
"seller": { "@type": "Organization", "name": "Labo Boutique Inside da WeB" }
}]
}C'est une bonne base : nom, prix TTC (avec la mention explicite que la TVA est comprise), devise, disponibilité, référence, image, vendeur. Deux remarques. La description est la description courte du produit, comme on l'a vu au chapitre 4. Et la date de validité du prix est fixée d'office à la fin de l'année suivante.
Le problème est ailleurs. Google distingue deux balisages Product : les « extraits produit », pour les pages où l'on ne peut pas acheter, et les « fiches de marchand », « pour les pages sur lesquelles les clients peuvent acheter des produits. » Une boutique relève de la seconde. Et la page des fiches de marchand précise qu'elles peuvent mettre en avant le prix, la disponibilité, « ainsi que des informations sur la livraison et les retours ».
Or, au labo, le JSON-LD de WooCommerce ne contenait ni livraison, ni politique de retour, ni marque, ni code GTIN, ni note d'avis (aucun avis client sur nos produits de test). Ce sont les informations qui donnent de la valeur à une fiche marchande. Pour les ajouter, il faut une extension SEO qui les gère, une extension dédiée aux données produit, ou un flux Google Merchant Center. Le principe des données structurées, et ce que font les extensions SEO, est au chapitre sur les techniques avancées du dossier SEO.
8.5Les canonical : la fiche oui, la boutique non
Au labo, sans extension SEO, la fiche produit portait sa canonical. La page Boutique, les catégories, et surtout la boutique triée (/boutique/?orderby=price), n'en avaient aucune.
Pourquoi c'est gênant ? Chaque tri, chaque page de catégorie paginée est une nouvelle adresse pour le même contenu, à quelques produits près. Le guide de Google le dit : « Le même contenu peut être récupéré plusieurs fois par le robot d'exploration si Google considère que deux URL sont différentes, mais affichent la même page. » Sur une boutique de dix produits, ce n'est rien. Sur un catalogue de mille références, c'est du budget d'exploration gaspillé.
C'est la même conclusion que pour les archives d'un blog : WordPress seul ne met aucune canonical sur ses listes. Une extension SEO s'en charge. Le détail, et la comparaison des quatre grandes extensions, sont dans la partie pagination du dossier SEO.
8.6Les filtres et la navigation à facettes
Dès que ton catalogue grossit, tu voudras des filtres : par prix, par taille, par couleur. WooCommerce a un bloc pour ça, Product Filters. Sa documentation précise qu'il filtre les produits d'un bloc Product Collection présent sur la même page, et que les filtres mettent la liste à jour sans recharger la page. On ne l'a pas mesuré au labo : avec quatre produits, il n'y avait rien à filtrer.
Côté Google, sa page sur la navigation à facettes prévient que les filtres en paramètres d'adresse peuvent créer des espaces d'URL infinis. Sa recommandation est nette : « Si vous n'avez pas besoin que les URL de navigation à facettes soient potentiellement indexées, empêchez en l'exploration. » Le robots.txt est l'outil qu'elle cite.
8.7Ce qui ne change pas
Le reste, c'est du référencement WordPress classique, appliqué à des produits : un titre précis et unique par fiche, une description courte qui donne envie, des images avec un vrai texte alternatif, des liens depuis tes articles vers tes fiches et tes catégories. Tout est dans le dossier SEO WordPress, retesté au labo cette année.
Il reste un chapitre, celui où l'on prend du recul : aller plus loin, et par où commencer.
Sources
Historique de ce chapitre
- 19 octobre 2026 : première version, mesures sur WooCommerce 11.2.1 sans extension SEO.

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.
