Le SEO WooCommerce consiste à faire se positionner dans la recherche les pages produit et catégorie d'une boutique WooCommerce. Comme WooCommerce tourne sur WordPress, une partie relève de la configuration WordPress : indexation, sitemaps et plugin SEO. Le reste est propre à WooCommerce : la base des permaliens produit, les bases des catégories et des étiquettes, les archives d'attributs et les filtres, les produits variables, les données structurées Product et les champs produit à partir desquels chaque page est construite.
La version courte : choisis une base de permaliens produit stable avant que le catalogue ne grossisse, garde hors de l'index les archives d'étiquettes et d'attributs trop maigres, construis tes filtres sur des attributs globaux, donne à chaque variation son propre SKU et son GTIN, vérifie qu'un seul plugin affiche le schema Product, et remplis les champs qu'affiche une page produit. Ce guide passe en revue chaque étape avec les vrais réglages et noms de champs de WooCommerce. Pour le processus d'audit qui vient avant, vois notre checklist d'audit SEO e-commerce.
Ce que WordPress et WooCommerce te donnent avant tout plugin SEO
Une installation WooCommerce neuve est moins dépouillée qu'on ne le pense. D'origine, tu as :
- Des slugs modifiables : chaque produit, catégorie de produits et étiquette de produit a un slug que tu peux changer dans l'éditeur.
- Un sitemap XML : WordPress génère un sitemap basique à l'adresse /wp-sitemap.xml depuis la version 5.5. Yoast SEO et la plupart des autres plugins SEO le désactivent et publient le leur.
- Des données structurées Product : WooCommerce affiche un balisage Product en JSON-LD sur les pages produit, avec le nom, la description, le SKU, l'image principale et une offre construite à partir du prix et de l'état du stock.
- Un champ code-barres : depuis WooCommerce 9.2, l'onglet Inventory (Inventaire) contient un champ intitulé « GTIN, UPC, EAN, or ISBN » (WooCommerce). Avant, les boutiques avaient besoin d'un plugin ou mettaient les codes-barres dans le champ SKU.
Ce que le cœur ne te donne pas : un SEO title et une meta description distincts par produit, le contrôle des archives indexées, et les identifiants ou la marque dans le balisage de chaque variation. C'est le rôle de Yoast SEO, de Rank Math ou d'un plugin similaire.
Vérifie un réglage WordPress avant tout le reste : Settings > Reading > « Search engine visibility » (Réglages > Lecture > Visibilité pour les moteurs de recherche). Un site de staging passé en production avec « Discourage search engines from indexing this site » encore coché est l'une des raisons les plus fréquentes pour lesquelles une nouvelle boutique WooCommerce ne reçoit aucun trafic organique.
Cache, images et plugins : la vitesse des pages WooCommerce
La vitesse est le sujet par lequel commencent la plupart des guides SEO WooCommerce généralistes, et elle compte surtout via les Core Web Vitals. Google mesure le chargement (Largest Contentful Paint, bon en 2,5 secondes ou moins), la réactivité (Interaction to Next Paint, bon sous 200 millisecondes) et la stabilité visuelle (Cumulative Layout Shift, bon sous 0,1), et indique que de bons scores vont dans le sens de ce que ses systèmes de classement récompensent (Google Search Central). Sur une boutique WooCommerce, quatre éléments font le plus bouger ces chiffres :
- Un cache de pages avec les bonnes exclusions. Mets en cache les pages produit et catégorie, mais jamais Cart, Checkout ou My Account (panier, commande, mon compte), qui doivent rester dynamiques selon WooCommerce car ils affichent des données propres à chaque client (documentation développeur WooCommerce).
- Des images chargées à leur taille d'affichage. Une photo fournisseur de 4 000 pixels réduite par le navigateur est la cause habituelle d'un Largest Contentful Paint lent sur les pages produit. Redimensionne et compresse avant l'envoi, ou utilise un plugin d'images qui sert du WebP.
- Moins de plugins chargés sur chaque page. Sliders, popups et extensions de page builder chargent souvent leurs scripts sur tout le site, y compris sur des pages produit qui ne s'en servent jamais.
- HTTPS partout, avec les anciennes URL http:// redirigées, pour que les liens produit et les images ne mélangent pas les protocoles.
Permaliens produit : choisis une base avant que le catalogue ne grossisse
Dans Settings > Permalinks (Réglages > Permaliens), WooCommerce propose quatre options de permaliens produit (documentation WooCommerce). Pour la housse de couette en lin lavé qui sert d'exemple dans ce guide, elles donnent :
Les options de permaliens produit de WooCommerce
| Default | example.com/product/stonewashed-linen-duvet-cover/ | Non |
|---|---|---|
| Shop base | example.com/shop/stonewashed-linen-duvet-cover/ | Non |
| Shop base with category | example.com/shop/duvet-covers/stonewashed-linen-duvet-cover/ | Oui |
| Custom base | N'importe quel préfixe que tu saisis, comme example.com/bedding/stonewashed-linen-duvet-cover/ | Non |
L'option avec la catégorie dans l'URL a l'air soignée, mais elle lie chaque URL produit à une catégorie. Déplace la housse de couette de « Duvet covers » vers « Linen bedding » lors d'une revue de gamme, et son URL change. La base par défaut ou la shop base garde les URL produit stables, quelle que soit la fréquence à laquelle tu réorganises l'arborescence, et des URL stables conservent leurs liens et leur historique de classement. Un mot-clé dans l'URL est un petit signal ; une redirection oubliée est un gros problème.
Deux règles de la documentation WooCommerce comptent ici. La base produit ne doit pas être identique à une base de taxonomie : une base produit « shop » et une base de catégorie « shop » entrent en conflit. Et changer une base modifie les URL existantes : les anciens liens et les pages indexées renvoient des erreurs 404 si tu n'ajoutes pas de redirections. Si les pages produit sont en 404 juste après un changement, enregistrer à nouveau la page Permalinks régénère les règles de réécriture.
Pages catégorie, pages d'étiquettes et archives d'attributs
WooCommerce crée trois types de pages d'archives, et elles méritent un traitement différent.
- Catégories de produits (/product-category/duvet-covers/ par défaut) : tes principales pages d'atterrissage pour les requêtes larges comme « housse de couette en lin ». Indexe-les, donne aux plus importantes une introduction avec de vraies informations d'achat, et garde une arborescence assez peu profonde pour que chaque catégorie contienne assez de produits pour être utile. Tu peux renommer la base dans Settings > Permalinks, section Optional.
- Étiquettes de produits (/product-tag/...) : généralement créées à la volée par la personne qui édite les produits, ce qui produit des centaines de pages quasi vides comme « linen », « Linen » et « linnen ». Soit tu tiens une courte liste d'étiquettes qui correspondent à de vraies recherches, soit tu passes les archives d'étiquettes en noindex dans ton plugin SEO.
- Archives d'attributs : un attribut global n'a des pages publiques que si « Enable archives? » (Activer les archives) est coché pour lui dans Products > Attributes. Alors example.com/color/sage/ liste tous les produits sauge. Ça peut fonctionner pour un ou deux attributs que les gens recherchent, comme la matière, et ça crée des pages maigres pour le reste.
Attributs globaux pa_ ou attributs produit personnalisés
Les attributs sont le point de rencontre entre SEO WooCommerce et données produit. WooCommerce en a deux sortes :
- Les attributs globaux se créent dans Products > Attributes, avec une liste de termes réutilisés d'un produit à l'autre. Leurs noms de taxonomie commencent par pa_ (pa_color, pa_size). Seuls les attributs globaux alimentent les blocs et widgets de filtre produit, les archives d'attributs et des menus déroulants de variations cohérents.
- Les attributs produit personnalisés se saisissent dans l'onglet Attributes d'un seul produit. Ils s'affichent dans l'onglet Additional information, mais tu ne peux ni les réutiliser, ni filtrer dessus, ni garder une orthographe cohérente d'un produit à l'autre.
Un catalogue bâti sur des attributs personnalisés finit avec « Sage », « sage green » et « Sage Green » sur trois produits et un filtre couleur impossible à construire. Passe tout ce que les acheteurs filtrent ou recherchent dans un attribut global avec une liste de termes fixe, et garde les attributs personnalisés en texte libre pour les détails propres à un seul produit.
Les filtres créent aussi des URL. Les filtres d'attributs de WooCommerce ajoutent à l'URL de catégorie un paramètre filter_ par attribut, comme ?filter_color=sage, et chaque combinaison de couleur, taille et prix est une adresse crawlable de plus. La plupart des boutiques devraient garder les combinaisons de filtres hors de l'index et laisser les pages catégorie se positionner. Quelques combinaisons très demandées peuvent devenir de vraies pages d'atterrissage avec leurs propres liens et leur propre texte. Notre guide du SEO de la navigation à facettes explique comment décider filtre par filtre.
Produits variables : une URL indexable, plusieurs SKU
Un produit variable WooCommerce est une seule page avec des variations en dessous. Les variations n'ont pas leurs propres permaliens, ce qui convient au SEO : liens, avis et historique de classement se concentrent sur une seule URL. Les données de chaque variation comptent quand même, car Google Shopping, les fiches marchandes et tes propres filtres les lisent.
Chaque variation a sa propre image, son SKU, son « GTIN, UPC, EAN, or ISBN », son prix normal et son prix soldé, ses réglages de stock et sa description (WooCommerce). Pour la housse de couette en trois tailles et trois couleurs, ça fait neuf variations, chacune avec :
- Son propre SKU et son GTIN. Une housse sauge en taille queen et une housse anthracite en taille king sont des articles commerciaux différents avec des codes-barres différents. Notre guide sur GTIN, UPC et EAN explique quel code va où.
- Une image de variation pour chaque couleur, pour que l'image principale change quand un acheteur choisit sauge au lieu de sable.
- Seules les vraies options marquées « Used for variations ». La taille et la couleur sont des options ; la matière et le nombre de fils sont de simples attributs du produit parent.
- Une valeur par défaut seulement quand elle aide. Règle « Default Form Values » sur la meilleure vente s'il y en a une claire. Sinon, la page affiche la fourchette de prix, ce qui est honnête.
Les consignes de Google sur les données structurées des variantes de produits demandent que chaque variante puisse être présélectionnée via une URL distincte, généralement avec des paramètres de requête, et que le groupe garde une seule URL canonique sans sélecteur de variante. WooCommerce présélectionne les options à partir des paramètres attribute_ de l'URL, comme /product/stonewashed-linen-duvet-cover/?attribute_pa_color=sage&attribute_pa_size=queen. Utilise ces URL comme liens de variantes dans ton feed Merchant Center et garde la canonical sur l'URL du produit parent.
La documentation WooCommerce précise aussi qu'au-delà de 30 variations, les menus déroulants ne se mettent plus à jour selon les choix précédents et listent toutes les options, si bien que les acheteurs peuvent choisir des combinaisons qui n'existent pas (WooCommerce). Si un produit a 6 tailles, 8 couleurs et 2 tissus (96 variations), envisage de le séparer par tissu. Deux produits aux noms clairs servent généralement mieux les acheteurs et la recherche qu'une page avec une longue liste de combinaisons.
Le schema Product dans Yoast SEO et Rank Math, comparé
Comme WooCommerce affiche déjà un balisage Product, le choix du plugin porte sur ce qui est ajouté et sur le risque de te retrouver avec deux entités Product sur une même page.
Le schema Product de WooCommerce, Yoast SEO et Rank Math
| WooCommerce core | Une entité Product basique avec nom, description, SKU, image et offres, plus les données de notation quand les avis sont activés | Pas d'identifiants ni de marque pour chaque variation | Aucune, intégré |
|---|---|---|---|
| Yoast SEO + Yoast WooCommerce SEO | Relie le produit au reste du graphe schema de Yoast (Yoast) | Champs GTIN8, GTIN12/UPC, GTIN13/EAN, GTIN14/ITF-14 et MPN sur chaque variation, affichés dans les données structurées | L'extension WooCommerce SEO |
| Rank Math | Type de schema WooCommerce Product choisi par produit dans l'onglet Schema ; prix, SKU et état du stock repris de WooCommerce (Rank Math) | Marque issue d'une taxonomie produit que tu choisis dans General Settings > WooCommerce | Le choix d'une clé GTIN (Pro) |
Quel que soit ton choix, ouvre le code source d'une page produit et cherche application/ld+json. Tu veux une seule entité Product dont le prix, la devise, la disponibilité, le GTIN et la marque correspondent à ce qu'affiche la page. Pour voir à quoi ressemble un balisage complet pour ton type de produit, crée un exemple avec notre générateur de schema produit et compare.
Le plugin n'est que l'imprimante. Si la marque est vide ou si le GTIN se trouve dans un champ personnalisé que le plugin ne lit pas, le balisage reste incomplet, quel que soit le plugin installé.
Les champs produit WooCommerce qui nourrissent le classement
L'essentiel du travail de classement d'une boutique WooCommerce se fait dans l'éditeur de produit. Champ par champ :
- Product name (nom du produit) : devient le H1 et le titre par défaut. Mets-y le type de produit et un attribut déterminant (« Stonewashed Linen Duvet Cover ») et laisse la taille et la couleur aux variations.
- Slug : généré à partir du nom au premier enregistrement. Raccourcis-le avant de publier, car le modifier plus tard demande une redirection.
- Product description : le contenu principal de l'onglet Description. Utilise-le pour ce dont un acheteur a besoin : matière, tissage, grammage, fermeture, entretien et dimensions exactes. Le texte fournisseur copié par tous les autres revendeurs apporte peu.
- Product short description (description courte) : affichée à côté du prix dans la plupart des thèmes. Deux ou trois lignes avec les faits qui décident l'achat.
- SEO title et meta description : des champs du plugin dans Yoast ou Rank Math. Construis-les à partir des attributs plutôt que de laisser le plugin couper la première phrase de la description.
- Product image et galerie : le texte alternatif est stocké par image dans la médiathèque, donc une image réutilisée sur 20 produits porte un seul texte alternatif. Décris ce que montre l'image.
- SKU et « GTIN, UPC, EAN, or ISBN » : dans l'onglet Inventory du produit parent et de chaque variation.
- Attributes : globaux si possible, avec « Visible on the product page » (visible sur la page produit) coché pour les caractéristiques que les acheteurs comparent.
- Categories : attribue une catégorie principale qui correspond au fil d'Ariane voulu. Yoast et Rank Math permettent tous deux de la définir.
- Linked Products (produits liés) : les Upsells et Cross-sells ajoutent des liens entre produits associés, ce qui aide les crawlers à trouver les produits profonds.
- Catalog visibility (visibilité dans le catalogue) : « Shop and search results », « Shop only », « Search results only » ou « Hidden ». Les produits masqués restent accessibles par leur URL : un produit de test masqué peut donc quand même finir dans Google.
Pour la logique derrière chaque élément, indépendamment de la plateforme, vois notre guide SEO des pages produit.
Avant et après : une housse de couette en lin dans WooCommerce
Voici la housse de couette telle qu'elle est arrivée d'un import fournisseur, à côté du même produit après un nettoyage qui n'a demandé aucun nouveau plugin. Après le nettoyage, Duvet covers est sa catégorie principale, avec Linen bedding comme seconde catégorie.
Une housse de couette en lin, avant et après le nettoyage
| Nom | Duvet cover linen 240x220 sage NEW | Stonewashed Linen Duvet Cover |
|---|---|---|
| Slug et URL | duvet-cover-linen-240x220-sage-new | /product/stonewashed-linen-duvet-cover/ |
| Description | Un paragraphe fournisseur de 40 mots partagé avec tous les revendeurs | Tissage, grammage, dimensions par taille, instructions d'entretien et ce qui rend le lin lavé doux dès la première nuit |
| Attributs | Un seul attribut personnalisé, « Colour: sage | sand | charcoal », inutilisable comme filtre | pa_color (Sage, Sand, Charcoal) et pa_size (Twin, Queen, King) globaux utilisés pour les variations ; matière (100 % lin), grammage (165 g/m²) et fermeture (boutons en noix de coco) en attributs visibles sur le parent |
| Variations | Neuf, sans SKU ni GTIN, qui affichent toutes la même photo couleur sable | Neuf, avec des SKU de LDC-SAG-TW à LDC-CHA-KG, un GTIN-13 chacune et une photo par couleur |
| SEO title | Vide, donc le plugin a utilisé les 155 premiers caractères de la description | Stonewashed Linen Duvet Cover, Twin to King, 3 Colors |
| Meta description | Vide, donc le plugin a utilisé les 155 premiers caractères de la description | Stonewashed 100% linen duvet cover, 165 g/m², with coconut button closure. Twin, Queen and King in sage, sand and charcoal. Machine washable at 40 °C. |
Le produit est désormais pris en compte par les filtres couleur et taille, affiche une entité Product complète et montre une meta description écrite pour le résultat de recherche au lieu d'une phrase tronquée.
Sept raccourcis WooCommerce qui font fuir le trafic organique
- Changer la base produit d'une boutique en ligne sans redirections. Toutes les URL produit indexées cassent d'un coup.
- Laisser les étiquettes de produits se multiplier. Des centaines d'archives d'étiquettes à un seul produit diluent le crawl et les liens internes.
- Stocker des informations filtrables dans des attributs personnalisés. Pas de filtre, pas d'archive d'attribut, pas de valeurs cohérentes.
- Deux ou trois sources de balisage Product. WooCommerce, un plugin SEO et un plugin d'avis affichent chacun leur propre entité, parfois avec des prix différents.
- Un template de page builder qui saute la description. Si le template produit n'affiche pas le champ Description, le texte que tu as écrit n'arrive jamais sur la page.
- Supprimer les produits épuisés. Garde en ligne les produits temporairement indisponibles en les marquant en rupture de stock ; redirige les produits arrêtés vers le remplaçant le plus proche ou vers la catégorie.
- Publier les descriptions fournisseur sans les modifier. Quand le même paragraphe apparaît sur des dizaines de boutiques, ta page n'a guère de raison de se classer au-dessus des leurs.
Les autres plateformes ont leurs propres versions de ces problèmes ; compare avec notre checklist SEO Shopify et le guide SEO Magento si tu gères plus d'une boutique.
Remplir en masse les champs SEO WooCommerce avec WISEPIM
L'essentiel du travail ci-dessus est un travail de champs, répété sur chaque produit et chaque variation. WISEPIM se connecte à WooCommerce via son API REST. Un import récupère les noms, SKU, prix, descriptions et descriptions courtes, le stock, les images, les attributs, les catégories, les étiquettes et les variations, ainsi que la marque, l'EAN et les champs SEO. Dans WISEPIM, tu complètes par AI les attributs, descriptions, SEO titles et meta descriptions manquants, tu contrôles la complétude avec Quality Guard et tu réexportes le résultat, y compris le SEO title et la meta description de Yoast quand la boutique utilise Yoast. Les variations repartent sous leur produit parent.
Tu peux connecter une boutique via la connexion WooCommerce et travailler sur 100 produits maximum avec l'offre gratuite.

