← Tous les articles Navigation facettée Shopify SEO: arrêtez de gaspiller votre budget de crawl sur les URLs de filtres

Navigation facettée Shopify SEO: arrêtez de gaspiller votre budget de crawl sur les URLs de filtres

Les filtres Shopify génèrent des milliers d'URLs en doublon qui consomment votre budget de crawl et réduisent vos classements.

Les filtres de collections Shopify sont l'un des outils UX les plus efficaces de la plateforme et l'une des erreurs SEO les plus dommagables que les marchands commettent sans le réaliser. Quand chaque combinaison de filtre génère sa propre URL crawlable, Googlebot dépense son budget sur des pages minces, quasi-identiques, au lieu de vos vraies pages rentables. La solution est une architecture de crawl délibérée, pas un simple paramètre à cocher.

Points clés à retenir

  • Un magasin de 500 produits avec 3 collections et 3 variantes par produit peut générer plus de 8 000 URLs crawlables à partir de seulement 500 vrais produits, gaspillant le budget de crawl sur des doublons.
  • Google ignore les balises canoniques auto-générées de Shopify 30-40% du temps quand les liens internes pointent vers des URLs de collection au lieu du chemin canonique /products/.
  • Quatre personnalisations robots.txt couvrent la majorité du gaspillage de crawl pour les magasins de moins de 100 000 pages.
  • Les paramètres de filtres facettés doivent être traités avec l'une de trois stratégies : bloquer dans robots.txt, ajouter noindex, ou utiliser des états côté client basés sur des fragments.
  • L'app Search and Discovery est gratuite et contrôle quels attributs de filtre génèrent des URLs crawlables, ce qui en fait votre premier levier avant de toucher au code.

Pourquoi la navigation facettée casse la SEO Shopify

Le filtrage en vitrine de Shopify, construit sur l'app Search and Discovery, génère des URLs avec des paramètres de requête comme /collections/shirts?filter.p.tag=blue. Par défaut, Shopify n'applique pas toujours les balises canoniques à chaque combinaison de filtre, ce qui signifie que Google voit une cascade de pages quasi-identiques, chacune différente par une valeur de paramètre.

Des audits récents de sites e-commerce (incluant des magasins Shopify Plus) ont découvert que quatre sites sur cinq avaient plus de 60% de leurs requêtes de crawl Googlebot sur des URLs que personne ne taperait ou partagerait jamais, principalement des combinaisons de filtres et paramètres de tri. Ce n'est pas un problème marginal. C'est le résultat par défaut quand vous installez une app de filtrage sans rien d'autre.

L'échelle augmente rapidement. Pour un magasin de 500 produits où les produits sont en moyenne dans 3 collections et 3 variantes, l'architecture de Shopify peut créer plus de 8 000 URLs crawlables pour seulement 500 produits réels. C'est du budget de crawl dépensé sur des pages dupliquées au lieu de votre vrai contenu, comme détaillé dans une analyse technique de mai 2026 par Black Belt Commerce.

Le problème de la balise canonique qui l'aggrave

Shopify génère bien des balises canoniques automatiquement. Les produits reçoivent un canonical pointant vers /products/{handle}, ce qui est le bon signal. Le problème est que Google ignore les balises canoniques 30-40% du temps, surtout quand les liens internes dans tout le site pointent vers les versions du chemin de collection comme /collections/shirts/products/blue-tee.

Cela signifie que le canonical seul ne suffit pas. Chaque lien interne dans votre thème, y compris les carrousels « Vous aimerez aussi », les fils d'Ariane et les tuiles de grille de collection, doit se résoudre en URL /products/, pas le chemin adapté à la collection. Auditez les templates Liquid de votre thème et vérifiez où les URLs de produits sont générées. Dans la plupart des thèmes, l'URL du chemin de collection est utilisée par défaut dans les boucles de collection, et c'est exactement le mauvais comportement.

Pour valider l'impact dans le monde réel, allez à Google Search Console, ouvrez Couverture > Exclus, et cherchez « Doublon, URL soumise non sélectionnée comme canonical ». Si vous voyez des centaines d'entrées, vos liens internes sapent vos balises canoniques.

Trois stratégies pour chaque type de filtre

Tous les filtres ne méritent pas le même traitement. L'arbre de décision est direct :

1. Bloquer dans robots.txt (pour les filtres sans valeur SEO)

Les pages de collection basées sur des tags (par ex. /collections/shirts+blue) et les paramètres de tri ont rarement une intention de recherche autonome. Ajoutez Disallow: /collections/*/tagged/ à votre fichier robots.txt.liquid pour empêcher Googlebot de les crawler. Depuis mi-2021, Shopify autorise les marchands à personnaliser robots.txt via un template robots.txt.liquid dans l'éditeur de code du thème, vous donnant le contrôle par motif sans outils externes.

Ajouter une règle Disallow pour les pages filtrées par tags empêche le gaspillage de crawl sur du contenu mince qui ne classe presque jamais seul. Cette simple ligne couvre une surface étonnamment grande sur les magasins qui utilisent beaucoup le tagging de produits Shopify.

2. Noindex (pour les filtres utiles à l'UX mais sans intention de recherche autonome)

Certains filtres, comme la taille ou la couleur sur une large collection, sont essentiels pour l'utilisabilité interne mais ne classeront jamais pour une requête distincte. Laissez le bot crawler ces pages pour qu'il voie la directive noindex, mais assurez-vous que la page n'est pas bloquée par robots.txt. La règle est : les pages bloquées ne peuvent pas communiquer noindex à Google, utilisez l'un ou l'autre, jamais les deux.

Dans le Liquid de votre thème, vous pouvez générer conditionnellement la balise noindex :

{% if request.page_type == 'collection' and current_tags %} <meta name="robots" content="noindex, follow"> {% endif %}

Cela cible uniquement les vues de collection filtrées par tags, laissant vos pages de collection de base entièrement indexables.

3. États basés sur des fragments (pour les filtres sans valeur SEO du tout)

Pour les filtres purement UX où l'objectif est zéro visibilité de recherche, envisagez de rendre l'état du filtre dans le fragment d'URL (par ex. #color=blue) plutôt que comme paramètre de requête. Les directives propres de Google confirment qu'il n'utilise généralement pas les fragments d'URL pour le crawl et l'indexation, ce qui maintient ces états en dehors de la recherche par conception. Cela nécessite du JavaScript personnalisé pour gérer l'état, mais c'est la solution architecturale la plus propre pour les filtres qui ne devraient jamais apparaître dans un index.

Comparaison des trois stratégies de gestion des filtres

Stratégie Googlebot crawle la page Mieux utilisée pour Limitation clé
Bloquer dans robots.txt Non Filtres de tags, paramètres de tri, URLs sans intention de recherche Impossible de passer le signal noindex ; utiliser avec prudence pour éviter un blocage trop large
Balise meta noindex Oui Filtres de taille, couleur ou UX utiles en interne mais ne classent jamais seuls Consomme quand même le budget de crawl car la page est récupérée avant que noindex soit lu
État basé sur un fragment Non (fragments ignorés par Google) Filtres purement UX où zéro visibilité de recherche est l'objectif Nécessite du JavaScript personnalisé pour la gestion d'état ; pas adapté aux filtres ciblant le SEO

Ce que l'app Search and Discovery contrôle (et ce qu'elle ne contrôle pas)

L'app gratuite Search and Discovery de Shopify est par où commence l'architecture des filtres. Elle contrôle quels attributs de produits deviennent filtrables et comment les valeurs de filtre sont ordonnées. Une contrainte importante de la plateforme : les collections de plus de 5 000 produits n'affichent pas du tout les filtres. Si vous avez un grand catalogue, c'est une raison de diviser les larges collections en sous-collections plus ciblées, ce qui se trouve aussi être meilleur pour le SEO (pages de collection plus ciblées, chemins de crawl plus propres).

Ce que l'app ne contrôle pas, c'est comment les URLs de filtre résultantes se comportent dans la recherche. C'est votre responsabilité via les balises canoniques, robots.txt, et les liens internes. L'app établit la couche UX. La couche SEO est une préoccupation d'ingénierie séparée.

Pour les magasins à l'échelle entreprise où les limites de l'app native sont trop restrictives, les apps de filtre tierces ajoutent plus de flexibilité, mais elles introduisent du JavaScript supplémentaire qui peut augmenter votre Largest Contentful Paint (LCP) au-delà du seuil de 2,5 secondes que Google utilise comme signal de classement. Chaque app que vous installez ajoute des scripts se chargeant sur chaque page, pesez donc la fonctionnalité des filtres contre la vitesse de page sur une base par app.

Le playbook robots.txt.liquid

Voici l'ensemble condensé de règles qui couvre la plupart des magasins Shopify. Ajoutez ceci à votre fichier robots.txt.liquid :

Disallow: /collections/*/tagged/ Disallow: /search Disallow: /cart Disallow: /checkout Disallow: /account

La ligne /collections/*/tagged/ est la plus impactante pour les magasins utilisant les tags de produits comme filtres. Les pages de recherche interne indexées par Google diluent votre budget de crawl avec du contenu mince dupliqué, bloquez-les aussi. Les pages de panier, checkout et compte ne devraient jamais être indexées et sont déjà bloquées dans robots.txt par défaut de Shopify, mais les rendre explicites futureproofie votre configuration contre tout changement de plateforme.

Après les modifications, utilisez l'outil d'inspection d'URL dans Google Search Console pour vérifier que les pages individuelles répondent comme prévu. Surveillez le rapport Crawl Stats hebdomadairement pendant deux à quatre semaines après tout changement de robots.txt. Un pic en exclusions « bloqué par robots.txt » est normal et attendu. Une baisse des impressions pour vos pages de collection de base ne l'est pas, et signale une règle Disallow trop large.

Les liens internes : le correctif que les balises canoniques ne peuvent pas faire seuls

Le correctif structurel que la plupart des marchands ignorent est la mise à jour de la génération de lien interne de leur thème. En Liquid, les URLs de produit dans les boucles de collection sortent généralement comme :

{{ product.url | within: collection }}

Cela génère l'URL du chemin de collection. Pour le SEO, vous voulez le chemin canonique :

{{ product.url }}

Le filtre | within: collection est le coupable derrière la plupart des rapports d'incompatibilité canonique. Le retirer des liens de cartes de produits, des fils d'Ariane, et des carrousels de produits connexes signifie que le crawl de Google suit la même URL que vous canonicalisez vers. La balise canonique et les liens internes s'accordent alors, c'est à ce moment que Google honore de manière fiable votre signal canonique.

Si vous voulez une revue plus approfondie de votre sortie Liquid de thème et de l'architecture de crawl, le service SEO Shopify que j'offre couvre un audit de crawl complet dans le cadre de l'engagement.

L'hygiène du sitemap

Le sitemap.xml auto-généré de Shopify est un accélérateur de crawl utile, mais il nécessite une revue périodique. Le sitemap exclut correctement les URLs de produit du chemin de collection par défaut, ce qui est l'un des comportements SEO sous-estimés de la plateforme. Ce qu'il ne filtre pas automatiquement, ce sont les pages de collection basées sur des tags et, sur certaines configurations de magasin, les URLs de collection paginées au-delà de la page un.

Shopify ne vous permet pas de supprimer manuellement les entrées de sitemap, mais vous pouvez supprimer les pages de l'indexation en utilisant les balises noindex basées sur Liquid, ce qui signale à Google que ces URLs devraient être exclues de l'index même si le sitemap les liste. Ne comptez pas sur l'omission du sitemap seul comme signal noindex. Utilisez la balise meta robots dans le <head> pour toute page que vous voulez définitivement exclure.

Valider le travail

Après la mise en place des correctifs canoniques, des mises à jour robots.txt, et des corrections de liens internes, validez avec cette séquence :

  • Google Search Console > Couverture > Exclus : le nombre « Doublon, URL soumise non sélectionnée comme canonical » devrait chuter en 4-8 semaines.
  • Rapport Crawl Stats : le total des requêtes de crawl devrait décroître ou se stabiliser ; la part allant aux URLs du chemin de collection devrait chuter.
  • Screaming Frog ou Ahrefs Site Audit : recrawlez après 30 jours et comparez le ratio d'URLs 3xx, noindex, et mismatch canonique à votre baseline.
  • Inspection d'URL : vérifiez rapidement 5-10 URLs de filtre pour confirmer que le canonical sélectionné par Google correspond à votre URL /products/ prévue.

Pour une checklist technique complète qui va au-delà de la navigation facettée vers Core Web Vitals et données structurées, consultez le guide d'optimisation de vitesse Shopify que j'ai publié précédemment.

La dimension du crawleur IA

Un facteur qui n'existait pas à grande échelle il y a deux ans : les crawleurs IA de ChatGPT, Perplexity, et le système AI Overview de Google ajoutent maintenant à la circulation de bots frappant votre magasin. Ces crawleurs opèrent sous des user agents séparés, et robots.txt par défaut de Shopify adresse seulement User-agent: *. Si vous voulez explicitement permettre ou restreindre les bots IA, vous avez besoin de règles nommées d'user agent dans votre robots.txt.liquid. Plus important encore, ces crawleurs s'appuient lourdement sur les données structurées pour comprendre vos pages de produit. Un sitemap qui surface vos pages de collection canonique et de produit, combiné avec le schema Product correct, est ce qui fait citer votre inventaire dans les réponses générées par IA.

Corrigez d'abord l'architecture de crawl. Les URLs canoniques que vous surface à Googlebot sont les mêmes que celles que les crawleurs IA utiliseront pour comprendre et recommander vos produits.

shopify seoseo techniquebudget de crawlnavigation facettéecollections shopifyshopify developer

Questions fréquentes

Shopify corrige-t-il automatiquement les problèmes de SEO de navigation facettée ?

Shopify ajoute les balises canoniques aux pages de produit automatiquement, mais ne gère pas l'indexation des URLs de filtre, les règles robots.txt pour les pages de tags, ou les chemins de liens internes. Les marchands doivent configurer ces éléments séparément en utilisant le template robots.txt.liquid et les modifications de thème Liquid.

Devrais-je bloquer toutes les URLs de filtre de collection dans robots.txt ?

Non. Bloquez uniquement les combinaisons de filtres qui n'ont aucune intention de recherche autonome, comme les paramètres de tri et les pages filtrées par tags. Les filtres qui représentent de vraies requêtes de recherche (par exemple, une collection filtrée sur un matériau spécifique) pourraient mériter leur propre page indexable avec une URL canonique unique.

Combien de temps faut-il pour voir les améliorations de classement après correction des problèmes de budget de crawl ?

Les correctifs de budget de crawl montrent généralement des résultats dans Google Search Console en 4-8 semaines à mesure que Googlebot re-crawle et réévalue vos canoniques. Les améliorations de classement organique dans les résultats de recherche suivent généralement 2-3 mois après la stabilisation des corrections d'indexation.