Google documente précisément quand utiliser Product seul et quand passer à ProductGroup pour des variantes de couleur ou de taille. Ce que sa documentation ne fait pas, parce qu’elle reste générique, c’est trancher pour l’architecture d’URL spécifique de Shopify. Une fois qu’on applique la règle à la façon dont Shopify gère réellement ses variantes, la réponse est étonnamment tranchée : la quasi-totalité des boutiques Shopify avec variantes devraient utiliser ProductGroup, et la plupart ne le font pas parce que le thème ne le génère jamais par défaut.
Sommaire
La règle de Google, en deux architectures
Dès qu’un produit existe en plusieurs variantes (couleur, taille, matière), Google recommande explicitement la classe ProductGroup plutôt que plusieurs objets Product isolés sans lien entre eux. Trois propriétés portent cette structure : productGroupID, un identifiant unique du groupe parent ; variesBy, qui liste les aspects de variation (color, size, material, pattern, suggestedAge, suggestedGender, aucun autre n’est actuellement reconnu) ; et hasVariant, qui rattache chaque variante individuelle au groupe.
La documentation distingue ensuite deux architectures. Sur un site monopage, où toutes les variantes partagent la même URL avec des paramètres de requête, le ProductGroup imbrique directement chaque variante dans son tableau hasVariant, en un seul bloc JSON-LD. Sur un site multipage, où chaque variante a sa propre URL, le ProductGroup est dupliqué sur chaque page et chaque variante pointe vers lui via isVariantOf.
Où se situe Shopify dans cette règle
Une fiche produit Shopify avec variantes utilise une seule URL de base, avec le paramètre de requête ?variant=ID qui change quand le visiteur sélectionne une couleur ou une taille différente. C’est exactement le scénario monopage décrit par Google : une URL canonique, des variantes sélectionnées dynamiquement sans rechargement de page. La conséquence est directe, et c’est le point que ne tranche aucune des documentations génériques consultées : sur Shopify, la structure attendue est presque toujours le ProductGroup imbriqué en un seul bloc, avec chaque variante en tant qu’objet Product complet dans le tableau hasVariant, jamais l’architecture multipage avec duplication.
Pourquoi votre thème ne génère pas ProductGroup
Un angle mort du socle natif
Le thème Dawn et la plupart des thèmes Shopify standards génèrent un schéma Product par variante sélectionnée, sans jamais les regrouper sous un ProductGroup commun. Concrètement, Google reçoit une série de produits qui semblent indépendants les uns des autres, alors qu’ils représentent la même référence dans des déclinaisons différentes.
La conséquence pratique : sur les résultats de recherche et dans Google Shopping, chaque variante peut apparaître séparément au lieu d’être présentée comme un groupe cohérent avec sélecteur de couleur ou de taille directement visible, une fonctionnalité que Google réserve précisément aux fiches correctement balisées en ProductGroup.
Implémenter ProductGroup sur une fiche à variantes
L’implémentation se fait dans le fichier Liquid de la section produit, en remplaçant le bloc Product unique généré par défaut par un bloc ProductGroup qui itère sur les variantes du produit.
Définissez le productGroupID
Utilisez l’identifiant du produit parent Shopify, stable pour toutes ses variantes.
Listez les aspects de variation réels
variesBy ne doit contenir que les options effectivement configurées sur le produit (couleur, taille), jamais une liste générique copiée d’un exemple.
Itérez sur les variantes Shopify
Une boucle Liquid sur product.variants génère un objet Product par variante dans le tableau hasVariant, avec son propre sku, son prix et sa disponibilité.
Pointez chaque offer vers l’URL avec paramètre
offers.url de chaque variante doit inclure le paramètre ?variant=ID correspondant, pour que Google puisse présélectionner la bonne variante depuis les résultats.
Les erreurs qui invalident le groupe
L’absence de productGroupID est l’erreur la plus fréquente et la plus grave : sans lui, Google ne reconnaît tout simplement pas le regroupement et retraite chaque variante comme un produit isolé, ce qui annule tout l’intérêt de la démarche. Un variesBy incomplet, qui omet une dimension de variation réellement présente sur le produit, produit un résultat partiel plutôt qu’une erreur visible, ce qui le rend particulièrement difficile à détecter sans contrôle manuel. Enfin, dupliquer brand et description au niveau de chaque variante individuelle, alors que ces informations appartiennent au groupe, alourdit inutilement le balisage sans apporter de valeur supplémentaire.
Checklist avant déploiement
- Confirmez l’architecture monopageVérifiez que vos variantes changent bien via un paramètre d’URL sans rechargement, le cas standard sur Shopify.
- Vérifiez la présence de productGroupID sur chaque fiche à variantesSans lui, le regroupement n’est pas reconnu quelle que soit la qualité du reste du balisage.
- Testez une fiche par type de variationUne fiche avec variation de couleur seule, une avec couleur et taille combinées : les deux cas doivent passer le Rich Results Test sans erreur. Notre méthode de vérification en trois couches s’applique aussi à ProductGroup, pas seulement à Product simple.
- Contrôlez le rendu dans Google Shopping si la boutique y est connectéeLe sélecteur de variante doit apparaître directement dans l’annonce, signe que le regroupement est bien reconnu côté Merchant Center.
Foire aux questions
Faut-il ProductGroup même pour un produit avec une seule variante de couleur ?
Dès qu’il existe plusieurs choix pour une même dimension (plusieurs couleurs, même une seule taille), la logique de groupe s’applique. Un produit strictement unique, sans aucune déclinaison, reste en Product simple.
Le passage à ProductGroup améliore-t-il immédiatement le classement ?
Non, l’effet principal est une meilleure présentation dans les résultats enrichis et Google Shopping (sélecteur de variante visible), pas un gain de position en soi. L’impact indirect vient d’une meilleure compréhension du catalogue par Google.
Une application Shopify peut-elle générer ProductGroup à la place d’une modification du thème ?
Certaines applications de gestion de flux Google Shopping le proposent, mais elles agissent souvent uniquement sur le flux Merchant Center, pas sur le balisage JSON-LD affiché sur la page elle-même : les deux mécanismes restent distincts.
Que se passe-t-il si productGroupID change accidentellement ?
Google traite le groupe comme un nouveau groupe distinct, ce qui peut faire perdre temporairement l’historique de performance associé à l’ancien identifiant : ne jamais faire dépendre productGroupID d’une valeur susceptible de changer, comme un slug d’URL.
Conclusion : une règle générique, une réponse spécifique à Shopify
La documentation de Google sur les variantes ne dit jamais explicitement « utilisez ProductGroup imbriqué sur Shopify », parce qu’elle documente un principe applicable à toutes les plateformes. Mais appliquée à la façon dont Shopify gère ses variantes par paramètre d’URL, la réponse ne laisse guère de place au doute, et l’absence de cette structure sur la plupart des thèmes standards représente une occasion manquée que peu de boutiques corrigent. Pour resituer ProductGroup dans l’ensemble des schémas à prioriser sur une boutique Shopify, notre guide complet des données structurées Shopify reste le point de départ.
À propos de l’auteur
Aymeric Maingé
Consultant SEO senior avec plus de 10 ans d’expérience, côté agence et annonceur. J’accompagne des boutiques Shopify et des sites e-commerce sur des problématiques de SEO technique, de performance web, de Core Web Vitals et d’expérience utilisateur. Mon approche croise audit terrain, priorisation métier et recommandations actionnables pour les équipes marketing et IT. Pour implémenter ProductGroup correctement sur votre catalogue, faites appel à un spécialiste SEO Shopify.

