
La plupart des contenus dupliqués sur Shopify ne sont pas le fruit de votre création. Votre boutique les génère automatiquement à partir des balises, des filtres de la vitrine et de la pagination, et chacune de ces URL correspond à une véritable page que Google peut explorer et indexer.
Les solutions couramment proposées passent à côté d'un point essentiel, et je vais vous en apporter la preuve concrète. Tous les doublons ne méritent pas d'être supprimés, et l'un d'entre eux mérite même d'être mis en avant.
Principaux enseignements
- Shopify génère automatiquement des URL de collections en double à partir des balises de produits, des filtres de la vitrine et de la pagination, en plus des éléments bien connus
/collections/x/produits/ydoublons de produits. - Le fichier robots.txt par défaut de Shopify bloque
trier_par, balise combinaisons (le+modèles), et deux filtres utilisés conjointement. Il ne bloque pas une URL de balise isolée, un filtre isolé, ni?page=2. - Une URL à balise unique telle que
/collections/tout/produits dérivésElle renvoie un code HTTP 200, affiche une grille complète de produits et comporte une balise canonique autoréférencée ; il s'agit donc d'une page distincte pouvant être indexée. - Les pages paginées sont également des pages canoniques par rapport à elles-mêmes, et la documentation officielle de Google indique qu'il ne faut pas rediriger la page 2 vers la page 1 via une balise canonique.
- Certaines URL de balises font l'objet d'une réelle demande de recherche et mériteraient d'être intégrées à des collections appropriées, plutôt que d'être systématiquement marquées « noindex ».
- Le fichier robots.txt varie d'un site à l'autre, car il peut être modifié ; vérifiez donc le vôtre à l'adresse suivante :
votreboutique.com/robots.txtavant de vous fier à n'importe quelle liste, y compris la mienne.
D'où proviennent réellement les URL de collections en double sur Shopify ?
Shopify génère automatiquement des URL de collection en double à partir de trois sources : chaque balise de produit d'une collection dispose de sa propre URL, chaque filtre de la vitrine en ajoute une autre, et chacune de ces pages est paginée. Il en résulte une collection qui se transforme insidieusement en des dizaines de pages quasi identiques partageant le même titre et le même texte d'introduction.
Prenons l'exemple d'une collection intitulée “ Chaussures ” comprenant 12 fiches et un filtre de couleur. Les URL des fiches à elles seules vous fournissent /collections/chaussures/bleu, /collections/chaussures/course à pied, et dix autres encore, dont aucune n'est le fruit de ton travail.
Ajoutez le filtre et vous obtenez /collections/chaussures?filter.v.option.color=bleu. Ensuite, chacune de ces listes est paginée dans ?page=2, ?page=3, etc.
Personne dans votre équipe n'a créé ces pages, donc personne dans votre équipe ne les surveille. C'est précisément pour cette raison que le « crawl bloat » s'installe insidieusement dans des boutiques qui sont par ailleurs bien gérées.
Comment une collection se transforme en des dizaines d'URL
- Vous créez une collection : /collections/shoes
- Chaque balise de produit ajoute une URL : /collections/chaussures/bleu
- Chaque filtre de la vitrine ajoute une URL : ?filter.v.option.color=blue
- Chacune de ces pages correspond à : ?page=2, ?page=3
- Chacune d'entre elles est une page indexable comportant le même titre et la même introduction
Il y a là une petite ironie qui rend cette recherche plus difficile qu'elle ne devrait l'être. Si vous recherchez cette expression, la rubrique « Présentation de l'IA » de Google répond à une question complètement différente, en vous expliquant comment dupliquer une collection dans l'interface d'administration de Shopify, ce qui n'est pas le problème que vous rencontrez.

Ce que le fichier robots.txt par défaut de Shopify bloque, et ce qu’il laisse accessible à l’exploration
Le fichier robots.txt par défaut de Shopify bloque les combinaisons, et non les simples. Cela interdit trier_par, combinaisons de balises (les + et son codage %2B (formulaires), ainsi que deux filtres utilisés conjointement. Une URL de balise unique, un paramètre de filtre unique et la pagination ne correspondent à aucune règle par défaut ; ils restent donc explorables.
J'ai consulté le dossier d'un vrai magasin pour vérifier, plutôt que de me fier aux articles de blog à ce sujet. Voici les règles qui comptent, telles qu'elles y figurent.

| Modèle d'URL | Exemple | Bloqué par le fichier robots.txt par défaut ? |
|---|---|---|
| Paramètre de tri | /collections/chaussures?sort_by=prix-croissant | Oui, Interdire : /collections/*sort_by* |
| Deux balises combinées | /collections/chaussures/bleu+soldes | Oui, Interdire : /collections/*+* et son %2B formulaires |
| Deux filtres ensemble | ?filter.v.option.color=blue&filter.v.price=50 | Oui, Interdire : */collections/*filter*&*filter* |
| Une balise | /collections/chaussures/bleu | Non. Indexable. |
| Un filtre | ?filter.v.option.color=blue | Non. Indexable. |
| Pagination | /collections/chaussures?page=2 | Non. Ça ne figure pas du tout dans le dossier. |
Lisez attentivement ces expressions, car tout le problème réside dans les caractères génériques. /collections/*+* ne correspond qu'à une URL contenant un +, et une URL de balise unique ne contient pas de + dedans.
La règle de filtrage est encore plus stricte : */collections/*filtre*&*filtre* il faut le mot filtre apparaître deux fois, avec un & entre eux. Un paramètre de filtre passe sans encombre.
Il y a toutefois une mise en garde que je voudrais que vous preniez plus au sérieux que le tableau. Le fichier robots.txt peut varier d'un site à l'autre, car robots.txt.liquid est modifiable. J'ai récupéré une deuxième grande boutique Shopify au cours de la même session et son fichier avait été personnalisé : il comportait une règle supplémentaire, et celle-ci était manquant la règle à filtres multiples appliquée par le premier magasin.
Alors, vas-y, ouvre votreboutique.com/robots.txt Tout de suite, allez lire la vôtre. Ça ne prend que dix secondes, et c'est mieux que de se fier à la liste des paramètres par défaut proposée par n'importe quel blog, y compris le mien.
Pourquoi une URL comportant un seul tag constitue une page indexable distincte
Une URL à balise unique est une page complète, autonome et indexable. Elle renvoie un code HTTP 200, affiche une grille de produits complète et ne contient aucun noindex, et sa collection canonique pointe vers elle-même plutôt que vers la collection parente.
J'ai vérifié cela en direct sur une vraie boutique plutôt que de le répéter de mémoire. Chargement en cours deathwishcoffee.com/collections/all/merch affiche une page d'index normale, et l'URL canonique dans l'en-tête est la suivante :
<link rel="canonical" href="https://www.deathwishcoffee.com/collections/all/merch">
C'est la page qui renvoie vers elle-même. Ainsi, Google ne reçoit pas l'information “ il s'agit d'une variante de la collection parente ”, mais “ voici la page, indexez-la ”.”
Le titre varie légèrement selon la plupart des thèmes (il est complété par le suffixe “ tagged ”), mais le corps du texte, le titre et le texte d'introduction sont identiques à ceux de la page parente. Du point de vue de Google, il s'agit d'une page « mince », quasi-duplicate, et vous en avez une pour chaque balise de chaque collection.
Voici un diagnostic utile qui découle du fonctionnement de Shopify. Si un tag présent dans l’URL n’est utilisé sur aucun produit, Shopify redirige vers l’URL de la collection sans ce tag. La documentation de Shopify sur les thèmes l’indique clairement : si un tag figurant dans l'URL n'est utilisé pour aucun des produits de la boutique, la boutique redirige vers l'URL de la collection sans cette partie.
Ainsi, lorsque vous effectuez un audit, une URL de balise qui Les redirections ne font pas partie de votre « bloat », et un autre qui rend est. Ce test-là permet de trier rapidement votre liste.
Faut-il définir la page 2 comme page canonique de la page 1 ?
Non, et c'est là que je ne suis pas d'accord avec une grande partie des conseils donnés sur ce sujet. La documentation de Google le dit clairement : “ N'utilisez pas la première page d'une séquence paginée comme page canonique. Attribuez plutôt à chaque page sa propre URL canonique. ” C'est exactement ce que fait déjà le comportement par défaut de Shopify.
J'ai vérifié que c'était bien le paramètre par défaut sur cette même boutique en ligne. Chargement en cours /collections/all?page=2 donne un lien canonique pointant vers ?page=2, et non au niveau de la collection de base. Shopify adopte déjà la bonne approche à cet égard, et la “ solution ” couramment proposée va à l'encontre de cette approche.
Plusieurs guides SEO consacrés à Shopify recommandent d'utiliser une balise canonique pour rediriger toutes les pages paginées vers la page 1, et on comprend aisément pourquoi cette solution séduit. Elle apporte de la clarté et fait disparaître les URL qui semblent en double de vos rapports.
Le problème, c'est que cela masque vos produits les plus enfouis. Si les pages 2 et 3 renvoient toutes deux à la page 1 comme étant la “ véritable ” page, vous indiquez à Google que les produits visibles uniquement sur ces pages appartiennent à une URL sur laquelle ils n'apparaissent pas, et vous les rendez ainsi plus difficiles à découvrir, et non l'inverse.
Pour être juste envers l'autre partie, les recommandations de Google suggèrent également d'inclure un lien vers la page 1 depuis chaque page de la séquence, car la page 1 est généralement celle sur laquelle vous souhaitez que les internautes atterrissent. Il s'agit toutefois d'une suggestion en matière de liens, et non d'une instruction canonique, et les deux ne sont pas interchangeables.
Il y a un doublon de pagination qui mérite vraiment d'être supprimé : ?page=1. Cette URL est un véritable doublon de l'URL de base de la collection ; par conséquent, si votre thème contient des liens vers celle-ci, corrigez-les afin qu'ils pointent vers l'URL optimisée. Lire Recommandations de Google concernant la pagination dans le commerce électronique si vous souhaitez connaître l'argumentation complète.
Pendant que vous y êtes, voici encore une chose qu'il est bon de savoir : l'ancien rel="next" et rel="prev" Le balisage est obsolète. La documentation de Google indique que ces balises ne sont plus utilisées ; par conséquent, si un guide vous conseille encore de les ajouter, cela signifie qu'il n'est plus à jour.
Les URL des produits de la collection dont tout le monde parle déjà
C'est le seul point que les guides existants traitent de manière exhaustive ; je vais donc être bref et leur rendre justice. Lorsqu'un thème renvoie vers des produits via la collection, Shopify affiche le même produit à l'adresse /collections/chaussures/produits/blue-runner ainsi qu’à /produits/blue-runner.
La correction se trouve dans l'extrait de code « product-grid » de votre thème. Utilisez {{ product.url }} au lieu de {{ product.url | within: collection }}, afin que tous vos liens internes renvoient vers l'URL épurée du produit.
Une mise en garde à ce sujet : Amsive fait les choses comme il faut Et cela mérite d'être répété : n'ajoutez pas de noindex vers ces URL de produits issues du chemin de collection. Elles sont déjà canonisées vers l'URL de produit « propre », et l'ajout d'une balise « noindex » sur un doublon canonisé envoie un signal contradictoire qui peut finir par empêcher l'indexation de la page que vous souhaitiez réellement voir indexée. Ne les incluez pas dans votre plan du site et laissez la balise canonique faire son travail.
Quelles pages de balises faut-il mettre en avant, bloquer ou marquer comme « noindex » ?
Classez chaque URL de balise dans l'une des trois catégories suivantes : promouvoir en faire une véritable collection s'il existe une demande de recherche, noindex si c'est un véritable quasi-doublon que personne ne recherche, et laisse ça tranquille si elle est déjà bloquée ou redirigée. Le conseil général consistant à “ mettre toutes les pages de balises en noindex ” revient à laisser de côté le premier segment, alors que c'est justement là que se trouve l'argent.
Réfléchissez à ce que représente généralement l'URL d'une balise. /collections/chaussures/imperméables C'est une page consacrée aux chaussures imperméables, et “ chaussures imperméables ” est une expression que les internautes recherchent réellement. Ce n'est pas du contenu superflu, c'est une collection que vous n'avez pas encore constituée.
La différence entre les deux réside dans la demande, et celle-ci peut être vérifiée. Si vous ne savez pas comment l'évaluer, consultez mon guide sur Valider un créneau du commerce en ligne passe par la même vérification des exigences au niveau du produit.
| Ce que tu as trouvé | Ce qu'il faut faire | Pourquoi ? |
|---|---|---|
| Ce mot-clé correspond à une expression recherchée par les internautes (“ chaussures imperméables ”) | Faites-en la promotion. Créez une véritable collection avec sa propre description, son titre et ses liens internes | Il y a une demande, et une page de collection bien conçue donnera de meilleurs résultats qu'une liste de balises générée automatiquement. |
| La balise est une étiquette interne (“ ss24-batch2 ”, “ clearance-old ”) | Ajouter « noindex » via une condition de thème dans le modèle de balise | Personne ne fait de recherche dans cette collection, et il s'agit d'une copie allégée de la collection parente. |
| L'URL de la balise redirige lorsque vous la chargez | Laisse tomber. Rien à corriger | Shopify supprime déjà les balises inutilisées de l'URL |
| L'URL comporte un tri, des balises combinées ou des filtres empilés | Laisse tomber. Déjà rejeté | Le fichier robots.txt par défaut couvre ces cas de figure |
| Vous souhaitez bloquer un modèle que le fichier robots.txt ne prend pas en compte | Editer robots.txt.liquid, avec soin | Shopify prend en charge cette fonctionnalité, mais ne vous apporte aucune assistance : consultez l'avertissement ci-dessous |
Si vous décidez de modifier votre fichier robots.txt, lisez d'abord l'avertissement de Shopify. Leur documentation d'aide est très claire à ce sujet : “ Il s'agit d'une personnalisation non prise en charge. Le service d'assistance Shopify ne peut pas vous aider à modifier le fichier robots.txt.liquid… Une mauvaise utilisation de cette fonctionnalité peut entraîner la perte de tout le trafic. ”
Lorsque vous modifiez le fichier, ajoutez ou supprimez des directives à l'aide de Liquid plutôt que de remplacer le modèle par un fichier en texte brut. Shopify recommande la méthode Liquid précisément parce qu'elle lui permet de continuer à mettre à jour le fichier pour vous, et prévient qu'un remplacement codé en dur implique que les règles peuvent devenir obsolètes.
Et n'oubliez pas à quoi sert réellement le fichier robots.txt. Il empêche l'exploration, mais pas l'indexation ; ce n'est donc pas l'outil adapté pour une page qui est déjà indexée et que vous souhaitez désormais supprimer. Pour cela, il vous faut utiliser l'attribut « noindex », et j'ai expliqué son fonctionnement dans Comment désindexer une page ?.
Comment vérifier votre propre boutique dans Search Console
Ouvrez le rapport « Pages » dans Search Console et concentrez-vous sur les raisons, pas sur les totaux. Les deux lignes qui indiquent que ce problème est présent sur votre boutique sont les suivantes : “ Duplicata sans URL canonique sélectionnée par l'utilisateur ” et “ Indexé, bien que bloqué par le fichier robots.txt ”, et chacune a une signification différente.
Cliquez sur chaque motif et consultez les URL correspondantes. Si vous voyez /collections/ des chemins se terminant par une balise, ou un filtre. paramètre, vous avez trouvé les pages dont traite cet article.
La ligne “ Indexé, bien que bloqué par le fichier robots.txt ” surprend souvent les utilisateurs ; il convient donc de le préciser clairement : il ne s'agit pas d'un bug. La documentation officielle de Shopify l'appelle Il s'agit d'un comportement normal qui ne doit généralement pas susciter d'inquiétude., car les moteurs de recherche peuvent indexer une page qu'ils ont découverte ailleurs sans jamais l'avoir explorée.
Vous pouvez également trouver toute une série d'URL de votre collection dans la catégorie “ Explorées, mais non indexées pour le moment ” ; cela signifie que Google a examiné ces pages et a estimé qu'elles ne méritaient pas d'être indexées. Cet état a ses propres causes et ses propres solutions, que j'ai abordées dans exploré, non indexé pour le moment.
Une petite précision concernant le champ d'application. Cet article traite des URL générées par votre boutique en ligne, ce qui relève d'un problème d'exploration et d'indexation. Si vos données produit sont également transmises à Google Shopping, il s'agit là d'un domaine distinct soumis à ses propres règles, que j'aborde dans le Guide des exigences de Merchant Center.
Dans quelle mesure le contenu dupliqué des collections sur Shopify a-t-il réellement de l'importance ?
Honnêtement, pour une boutique proposant 20 produits et trois balises, ce n’est pas grand-chose. Google est tout à fait capable de choisir lui-même une URL canonique, et vous avez mieux à faire que de supprimer une poignée d’URL de balises sur lesquelles personne ne se rendra jamais.
Cela prend toute son importance lorsque la multiplication s'accélère. Une boutique qui ajoute rapidement des collections, comportant chacune une douzaine de balises et pour lesquelles un ensemble de filtres est activé, génère des centaines de pages quasi-dupliquées pouvant être explorées par les moteurs de recherche, sans qu'une seule personne n'en ait décidé ainsi.
Si c'était ma boutique, je ne commencerais pas par un balayage « noindex ». J'exporterais les URL de la collection que Google a réellement explorées, je les classerais dans les trois catégories du tableau ci-dessus, et je m'attendrais à trouver au moins une URL de balise présentant une réelle demande et méritant de devenir une véritable collection.
Cela change complètement la donne. Le rangement en vaut la peine, mais le véritable atout, c'est cette page de regroupement dont vous ne soupçonniez même pas l'utilité, et aucune opération de mise à jour des liens canoniques ne vous permettra de l'obtenir.
Vous ne savez pas quelles URL de votre collection conserver ?
Envoie-moi la liste et je vais y jeter un œil. Tu peux nous contacter ou m'envoyer un courriel directement, et je me ferai un plaisir de vous indiquer lesquels sont superflus et lesquels constituent une collection qui vaut la peine d'être constituée.
Vous souhaitez que nos publications apparaissent plus souvent sur Google ?
En un clic, Google affichera ce site dans votre rubrique « À la une ».
