Facettes, pagination et canonical sur PrestaShop 9
Référencement

Facettes, pagination et canonical sur PrestaShop 9

Listes PrestaShop 9 : facettes, tri, pagination, canonical, déclinaisons et recherche interne. Comportements vérifiés sur la 9.2, pièges des thèmes, UX.

Mis à jour le 1er novembre 2026. Cet article regroupe désormais notre article « SEO et UX sur PrestaShop : le rôle réel de l’IA ». Chaque comportement décrit a été vérifié sur une installation de test PrestaShop 9.2. Conseil corrigé : les filtres sans valeur se bloquent dans le robots.txt, la balise noindex n’y est pas lue. Pour l’ensemble des réglages, partez de notre SEO technique PrestaShop : guide avancé 2026.

Les pages de liste d’une boutique sont les catégories, les résultats filtrés et la recherche interne. Ce sont elles qui créent le plus d’adresses en double. Ce sont aussi elles que les visiteurs utilisent pour choisir. Un filtre mal réglé gaspille l’exploration de Google et fait perdre l’acheteur. Cet article détaille ce que fait PrestaShop 9.2 par défaut, ce que votre thème peut casser et ce qu’il reste à décider.

Ce que fait PrestaShop 9.2 par défaut

Nous avons relevé le code HTTP, la balise canonical et la balise robots de chaque type d’URL sur une installation de test PrestaShop 9.2.

Type d’URLExempleCodeCanonicalRobotsrobots.txt généré
Catégorie/3-vetements200elle-mêmeindexableautorisée
Page 2/3-vetements?page=2200elle-même, avec ?page=2indexableautorisée
Filtre/3-vetements?q=Taille-S200la catégorienoindexbloquée (q=)
Tri/3-vetements?order=product.price.asc200la catégorie ou sa pagenoindexbloquée (order=)
Déclinaison/1-2-t-shirt.html200la fiche sans déclinaisonindexableautorisée
Recherche/recherche?s=mug200sans objetnoindexbloquée
Page hors limite/3-vetements?page=50200elle-mêmeindexableautorisée

La base est saine. Deux points demandent votre attention : la dernière ligne, et la façon dont votre thème affiche la pagination.

Facettes : bloquer ce qui ne sert pas

Comment PrestaShop construit les URL filtrées

Le module Navigation à facettes (ps_facetedsearch) place tous les filtres dans un seul paramètre q. Plusieurs filtres se suivent, séparés par une barre oblique : ?q=Taille-S/Couleur-Blanc. Une catégorie de 50 produits peut ainsi produire des milliers de combinaisons.

Pourquoi le robots.txt suffit

Le robots.txt généré par PrestaShop 9.2 (Paramètres de la boutique > Trafic et SEO) contient Disallow: /*?q= et Disallow: /*&q=. Google, dans sa documentation sur la navigation à facettes mise à jour le 6 mars 2026, présente ce blocage comme la méthode la plus efficace pour les filtres non voulus. La canonical et le nofollow y sont décrits comme moins efficaces sur la durée.

PrestaShop pose aussi un noindex et une canonical vers la catégorie sur ces pages. Tant que q= est bloqué, Google ne les lit pas. Ce n’est pas un problème : la page n’est pas explorée. En revanche, si des URL filtrées sont déjà indexées et que vous voulez les retirer, retirez temporairement le blocage pour que le noindex soit lu.

Google recommande aussi une erreur 404 pour une combinaison sans résultat. Sur notre installation, un filtre inconnu renvoie 200 et la liste complète. Le blocage de q= rend ce cas sans conséquence.

Les filtres qui méritent une page

Une marque dans une catégorie, ou une couleur très recherchée, peut correspondre à une vraie demande. Ne débloquez pas le paramètre q pour autant. Créez une sous-catégorie ou une page de marque, avec une adresse propre, un titre et un texte uniques, et liez-la depuis la catégorie parente. Vérifiez la demande dans la Search Console avant de créer la page.

Tri : rien à ajouter

Les liens de tri (?order=) sont bloqués dans le robots.txt et portent un noindex. Vérifiez seulement qu’aucun module n’ajoute de paramètre de tri ou d’affichage non couvert, comme un nombre de produits par page. Si c’est le cas, ajoutez une règle au robots.txt, une seule à la fois, et contrôlez le résultat dans le rapport robots.txt de la Search Console.

Pagination : à laisser explorable

Ce que fait le cœur

La pagination utilise le paramètre page. Chaque page a une canonical vers elle-même, et PrestaShop ajoute le numéro au titre : « Vêtements (2) ». C’est ce que recommande Google : ne pas canonicaliser toutes les pages vers la première. PrestaShop émet aussi des balises rel="prev" et rel="next", que Google n’utilise plus. Ne bloquez jamais ?page= : les produits des pages 2 et suivantes ne seraient plus découverts.

Le piège du thème

Google ne clique pas sur les boutons. Il suit les liens <a href>. Or les thèmes ne rendent pas tous la pagination de la même façon :

ThèmeRendu des numéros de pageConséquence
Hummingbird 2.1.2<button data-ps-data="…">, sans hrefPages suivantes non découvertes par les liens
Classic<a href>, avec rel="nofollow" sur les numérosSeul le lien « suivant » est suivi, page après page

Le gabarit concerné est templates/_partials/pagination.tpl. Sur un thème enfant, remplacez chaque bouton par un lien qui garde les classes et l’attribut d’origine, pour que le chargement sans rechargement continue de fonctionner :

<a href="{$page.url}" data-ps-data="{$page.url}" class="page-link js-pager-link">{$page.page}</a>

Retirez aussi le rel="nofollow" des numéros sur Classic. Testez ensuite la pagination dans le navigateur, puis l’URL dans l’outil d’inspection de la Search Console.

Les pages hors limite

Sur PrestaShop 9.2, la page 50 d’une catégorie qui n’en compte que quelques-unes répond 200, avec une liste vide et le titre « Vêtements (50) ». Google recommande une 404 pour une page de pagination inexistante. Le risque reste faible tant qu’aucun lien n’y mène, mais une ancienne URL indexée peut en créer. Surveillez ces adresses dans le rapport Indexation des pages.

Canonical : un indice, pas un ordre

Google traite la canonical comme un signal fort, et la redirection comme un signal plus fort encore. Il peut l’ignorer si les autres signaux se contredisent. Alignez donc sur la même adresse :

Google déconseille d’utiliser le robots.txt ou le noindex pour choisir une canonique entre deux pages d’un même site. Une canonical ne doit jamais viser une URL en noindex, en 404 ou en redirection.

Déclinaisons : une fiche, plusieurs URL

La règle des fiches de PrestaShop 9 est {id}{-:id_product_attribute}-{rewrite}.html. L’adresse /1-2-t-shirt.html présélectionne la déclinaison 2. Sa canonical pointe vers /1-t-shirt.html, la fiche sans déclinaison. Un nom erroné dans l’adresse est redirigé vers l’URL correcte.

Ce fonctionnement correspond au cas « une seule page » de la documentation de Google sur les variantes : une URL distincte par variante, qui affiche la bonne image et le bon prix, et une seule canonical pour le groupe. Le balisage adapté est un ProductGroup avec hasVariant et variesBy. Le détail est dans Données structurées PrestaShop.

Une déclinaison qui répond à une demande distincte, avec un contenu propre, gagne à devenir un produit séparé. Ne la rendez pas indexable par une canonical modifiée.

Recherche interne : hors de l’index, mais pleine d’informations

La page de résultats porte un noindex. Le robots.txt généré bloque son adresse dans chaque langue active (recherche en français) et le contrôleur search. Notez que la requête passe par le paramètre s, pas par search_query.

Les requêtes des visiteurs sont une source précieuse. Le module Recherches de la boutique (statssearch, menu Statistiques) les enregistre avec le nombre de résultats. Les requêtes sans résultat signalent un produit absent ou un vocabulaire différent de celui de vos fiches :

-- Requêtes sans résultat, préfixe ps_ à adapter, en lecture seule
SELECT keywords, COUNT(*) AS nb
FROM ps_statssearch
WHERE results = 0
GROUP BY keywords
ORDER BY nb DESC
LIMIT 30;

Une requête fréquente sans résultat appelle un synonyme dans Paramètres de la boutique > Rechercher, une catégorie ou un guide d’achat. Un modèle de langage peut regrouper des milliers de requêtes par thème. Vérifiez un échantillon : il confond parfois deux produits proches. Anonymisez les données avant de les confier à un service tiers.

UX des listes : ce qui sert aussi le SEO

Les Core Web Vitals touchent directement les listes. Une colonne de filtres qui s’insère après la grille déplace les produits (CLS, bon à 0,1 ou moins). Un filtre lent à réagir dégrade l’INP, métrique officielle depuis le 12 mars 2024 (bon à 200 ms ou moins). Une bannière de catégorie lourde retarde le LCP. Diagnostic : Core Web Vitals PrestaShop 9 : corriger LCP, INP et CLS.

Contrôler le résultat

  1. Dans la Search Console, ouvrez Indexation des pages : aucune URL avec ?q= ou ?order= ne doit figurer parmi les pages indexées.
  2. Dans Paramètres > Statistiques sur l’exploration, la part des URL filtrées doit baisser après correction.
  3. Inspectez une page 2 de catégorie : la canonique retenue par Google doit être la page elle-même.
  4. Croisez avec les journaux du serveur, selon notre méthode d’analyse des logs serveur pour le SEO.

Le script verif_sitemap.py de nos Scripts Python SEO pour PrestaShop signale toute URL du sitemap en noindex ou canonicalisée ailleurs. Pour la méthode complète, voir Audit SEO PrestaShop : méthode, outils et checklist 2026 et, pour démarrer, Référencer une boutique PrestaShop : 10 actions en 2026.

Questions fréquentes

Faut-il passer les pages filtrées en noindex ?

PrestaShop 9.2 le fait déjà, mais le blocage de q= dans le robots.txt empêche Google de lire la balise. Pour les filtres sans valeur, ce blocage suffit. Le noindex ne sert que pour retirer des URL déjà indexées, en levant le blocage le temps nécessaire.

Faut-il bloquer la pagination ?

Non. Les pages 2 et suivantes permettent à Google de découvrir les produits. Chacune doit rester explorable, avec une canonical vers elle-même.

Ma pagination est-elle explorable ?

Ouvrez le code source d’une catégorie et cherchez page=2. Si l’adresse figure dans un <a href> sans nofollow, c’est bon. Si elle n’apparaît que dans un bouton ou un attribut data-, modifiez le gabarit du thème.

Une déclinaison peut-elle être indexée seule ?

Pas avec le fonctionnement par défaut : sa canonical pointe vers la fiche principale. Si une déclinaison a sa propre demande de recherche, créez un produit distinct avec un contenu propre.

Sources

Agence web PrestaShop & WordPress

Agence web spécialisée PrestaShop et WordPress : création, maintenance, sécurité, performance et référencement. Nos tutoriels sont issus de nos interventions sur de vraies boutiques.

L'agence Genisoft → LinkedIn →