Poser une balise canonical sur vos sous-catégories PrestaShop ne suffit pas toujours à faire disparaître la duplication catégorie / sous-catégorie : dans beaucoup de configurations, c’est un réglage d’affichage, pas une balise, qui fabrique le doublon à la source. Ce guide détaille les deux vrais mécanismes en jeu, celui que la plupart des tutoriels traitent (les paramètres d’URL) et celui qu’aucun ne mentionne.
Sommaire
- Pourquoi la duplication catégorie / sous-catégorie n’est pas un doublon classique
- Le réglage qui fabrique la duplication à la source
- La balise canonical sur PrestaShop : ce qui est natif, ce qui ne l’est pas
- Filtres et paramètres d’URL : la seconde source de duplication
- Différencier réellement chaque page de catégorie
- Checklist de vérification
- Questions fréquentes
Pourquoi la duplication catégorie / sous-catégorie n’est pas un doublon classique
Un doublon SEO classique, c’est deux URL différentes qui affichent le même contenu texte. La duplication entre une catégorie parente et ses sous-catégories est plus insidieuse : ce n’est pas le même texte qui se répète, c’est la même GRILLE DE PRODUITS. Une catégorie « Chaussures » qui affiche les produits de ses trois sous-catégories « Baskets », « Bottes » et « Sandales » présente, sur sa propre page, un contenu qui recouvre en grande partie ce que ces trois sous-catégories affichent chacune de leur côté. Google voit alors quatre pages qui se chevauchent fortement, sans qu’aucune ne soit un doublon parfait des trois autres : c’est une duplication partielle et diffuse, plus difficile à corriger qu’un doublon strict.
Cette nuance compte parce qu’elle change la nature de la solution. Un doublon strict se règle avec une balise canonical qui désigne une version de référence. Une duplication partielle et diffuse ne se règle pas de la même façon : désigner une catégorie « canonique » parmi quatre pages qui ne sont pas identiques revient à demander à Google d’ignorer des pages qui contiennent, chacune, des produits que les autres n’ont pas. C’est là que la plupart des correctifs trouvés en ligne échouent : ils traitent le symptôme (la balise) sans traiter la cause (l’affichage).
Le réglage qui fabrique la duplication à la source
Ce que les guides généralistes ne disent pas
Sur PrestaShop, le module Recherche par filtres (Faceted Search) intègre un réglage qui affiche directement les produits des sous-catégories sur la page de la catégorie parente. Une fois activé, la catégorie mère n’est plus une simple page de navigation : elle devient une seconde vitrine complète de tout ce que ses sous-catégories contiennent déjà.
C’est ce réglage, bien plus que l’absence de balise canonical, qui explique pourquoi certains catalogues PrestaShop affichent des grilles de produits quasi identiques à plusieurs niveaux de l’arborescence. Le poser en canonical vers la sous-catégorie ne change rien au problème de fond : la page parente continue d’afficher, aux yeux d’un visiteur comme d’un robot, un contenu qui duplique celui des pages filles. La balise dit à Google « ignore cette page », le réglage continue de la remplir avec le contenu des autres.
La bonne question à se poser n’est donc pas seulement « quelle page dois-je désigner comme canonique ? » mais « la catégorie parente doit-elle réellement afficher tous ces produits, ou doit-elle rester une page de navigation qui présente ses sous-catégories sans dupliquer leur contenu ? ». Sur un catalogue avec plusieurs niveaux de profondeur, désactiver l’affichage des produits de sous-catégories sur les pages parentes et les remplacer par une présentation courte de chaque sous-catégorie (image, lien, quelques mots) résout la duplication à la racine, sans dépendre d’un arbitrage canonical toujours imparfait sur du contenu partiellement recouvrant.
La balise canonical sur PrestaShop : ce qui est natif, ce qui ne l’est pas
Une fois le réglage d’affichage traité, la balise canonical reste utile pour les cas de duplication stricte qui subsistent, notamment les produits rattachés à plusieurs catégories. Son comportement natif dépend directement de la version du CMS ; pour la mécanique complète de consolidation des signaux, notre guide sur les URL canoniques PrestaShop détaille le fonctionnement page par page.
PrestaShop 1.7 et 8.x : gestion native, à vérifier quand même
Sur les versions récentes, la balise canonical est générée automatiquement par le thème (variable {$urls.canonical_url} dans les templates du thème par défaut). Dans la majorité des cas, elle est donc déjà présente sans configuration manuelle. Cela ne dispense pas d’une vérification directe dans le code source de vos pages catégorie et produit : un thème tiers personnalisé peut avoir supprimé ou mal réimplémenté cette variable lors d’une customisation graphique, ce qui se voit uniquement en inspectant le HTML livré, pas dans le back-office. Pour la procédure fiche par fiche, notre guide sur la vérification des balises canonical sur les fiches produit détaille chaque étape de contrôle.
PrestaShop 1.6 : une implémentation manuelle
Sur les installations encore en 1.6, la balise canonical n’est pas posée automatiquement sur tous les types de page. Elle demande une insertion manuelle dans le template d’en-tête du thème, avec une logique conditionnelle qui distingue la page d’accueil, les pages produit, catégorie, marque et fournisseur. Une installation 1.6 jamais mise à jour sur ce point peut afficher des URL avec paramètres de tri ou de pagination totalement dépourvues de canonical, ce qui aggrave la duplication décrite plus haut au lieu de la limiter.
Filtres et paramètres d’URL : la seconde source de duplication
Au-delà de l’affichage des sous-catégories, chaque combinaison de tri (?orderby=price), de pagination (?page=2) ou de filtre à facettes (couleur, taille, prix) génère une URL techniquement distincte pour un contenu qui reste, pour l’essentiel, celui de la catégorie d’origine. Sur un catalogue de plusieurs centaines de références avec de nombreux filtres actifs, ces combinaisons peuvent se compter en milliers d’URL, la plupart jamais visitées par un humain autrement qu’en filtrant depuis la page mère.
Deux leviers se complètent ici. Le premier est la balise meta robots en noindex, follow posée sur les URL paramétrées : la page reste accessible et transmet son maillage, mais sort de l’index. Le second est le fichier robots.txt, qui peut bloquer l’exploration des paramètres les plus prolifiques (tri, pagination secondaire) pour préserver le budget de crawl. Les deux ne sont pas interchangeables : un paramètre bloqué par robots.txt ET marqué noindex sur la même URL rend le noindex inopérant, puisque Googlebot ne peut pas lire une balise sur une page qu’il n’a pas le droit d’explorer. Choisissez l’un ou l’autre par type de paramètre, jamais les deux en même temps sur la même URL.
Différencier réellement chaque page de catégorie
Une fois l’affichage assaini et les paramètres traités, il reste un dernier niveau de différenciation à la portée de toute boutique PrestaShop : chaque catégorie dispose nativement de ses propres champs SEO (balise de titre, meta description, meta mots-clés, URL simplifiée) dans l’onglet SEO de sa fiche d’édition, indépendamment de ses catégories sœurs ou parentes. Beaucoup de catalogues laissent ces champs vides ou les remplissent avec des variantes trop proches d’une catégorie à l’autre, ce qui referme partiellement le travail fait plus haut : deux pages avec un contenu produit différencié mais un title et une description quasi identiques restent perçues comme redondantes.
Le texte de présentation de catégorie (le bloc de description affiché en haut ou en bas de la grille produits) est le levier le plus sous-exploité : rédigé spécifiquement pour chaque sous-catégorie, avec un vocabulaire propre à ses produits, il crée une différenciation textuelle réelle que la seule structure de l’arborescence ne suffit pas à produire.
Checklist de vérification
- Vérifier le réglage d’affichage des sous-catégoriesLe module Recherche par filtres n’affiche-t-il pas déjà les produits des sous-catégories sur chaque page parente ?
- Inspecter le code source des pages catégorie et produitLa balise canonical est-elle bien présente, surtout si le thème a été personnalisé ?
- Trier noindex ou robots.txt, jamais les deux ensembleChoisissez un traitement par type de paramètre d’URL, sans les cumuler sur la même page.
- Remplir les champs SEO propres à chaque catégorieTitre, meta description et texte de présentation doivent différencier chaque page, pas seulement l’arborescence.
- Croiser avec les catégories associées des fiches produitUn produit rattaché à plusieurs catégories sans logique claire alimente aussi la duplication.
Sur un catalogue qui a déjà plusieurs milliers de références, ce diagnostic se croise utilement avec la question du audit SEO PrestaShop : l’affichage des sous-catégories n’est qu’un des réglages à vérifier parmi d’autres qui influencent la duplication à l’échelle du site entier.
La balise canonical suffit-elle à régler la duplication catégorie / sous-catégorie ?
Pas seule. Si la page parente affiche encore les produits de ses sous-catégories, la balise dit à Google d’ignorer cette page, mais son contenu continue de dupliquer celui des pages filles. Traiter le réglage d’affichage en amont est plus efficace que de compter uniquement sur la canonical.
Faut-il désactiver l’affichage des produits de sous-catégories sur toutes les catégories parentes ?
Cela dépend de la profondeur de votre arborescence. Sur une catégorie mère avec deux ou trois sous-catégories bien distinctes, désactiver cet affichage et le remplacer par une présentation courte de chaque sous-catégorie règle généralement la duplication sans nuire à l’expérience utilisateur.
Comment vérifier si ma balise canonical est bien présente sur PrestaShop 1.7 ou 8.x ?
Ouvrez le code source d’une page catégorie ou produit (affichage du code source du navigateur) et cherchez la balise <link rel="canonical"> dans le <head>. Sa présence automatique dépend du thème : un thème personnalisé peut l’avoir supprimée sans que cela apparaisse dans le back-office.
Noindex ou robots.txt pour les URL de filtres et de tri ?
Les deux fonctionnent, mais jamais ensemble sur la même URL : un blocage robots.txt empêche Googlebot de lire la balise noindex posée sur la même page, ce qui la rend inopérante. Choisissez l’un des deux traitements par type de paramètre.
En résumé
La duplication entre catégories et sous-catégories PrestaShop se règle rarement avec une seule balise. Elle demande de vérifier, dans l’ordre, ce que le réglage d’affichage des sous-catégories fait réellement apparaître sur chaque page, ce que la canonical corrige ou non selon la version du CMS, et ce que les paramètres de filtre ajoutent encore par-dessus. Traitée dans cet ordre, la correction touche la cause avant le symptôme, ce qui évite de rouvrir le même problème à chaque nouvelle sous-catégorie créée.
À 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 sites PrestaShop et e-commerce sur des problématiques de SEO technique, d’architecture de catalogue et de performance web. Mon approche croise audit terrain, priorisation métier et recommandations actionnables pour les équipes marketing et IT. Pour un consultant en stratégie SEO PrestaShop, parlons de l’architecture de votre catalogue.
À lire aussi
Les autres articles sur le sujet
Paramètres URL PrestaShop : quel levier (canonical, noindex, robots.txt) pour pagination, tri, facettes, depuis la fin de l’outil…
Lire l’article
Déclinaisons PrestaShop et duplicate content : mécanique des URL, canonical officielle et un bug de liens catégorie encore ouvert,…
Lire l’article
Retirer l’ID des URLs produit PrestaShop : gain SEO réel ou marginal, et le vrai risque de collision de slug sur un catalogue.…
Lire l’article
Activer les URL simplifiées sur PrestaShop est facile. Choisir le bon format et éviter les 404 après un changement d’URL l’est…
Lire l’article

