Auditer les facettes d’une boutique PrestaShop avec un crawler semble simple : on lance Screaming Frog, on filtre les URL avec un point d’interrogation, on compte. Sauf qu’un crawl qui respecte le robots.txt vous cache la moitié du problème, parce que les règles de blocage empêchent le crawler de voir des URL qui sont pourtant indexées. La méthode fiable repose sur deux passes de crawl et un croisement avec les URL réellement dans l’index. Voici comment procéder.
Sommaire
Pourquoi une seule passe de crawl ne suffit pas
Soyons précis sur un point que la documentation Google rappelle mais que les guides d’audit oublient : le robots.txt bloque le crawl, pas l’indexation. Une URL de facette interdite par Disallow: /*?q= ne sera plus explorée, mais si Google la connaît déjà, ou la découvre par un lien externe, elle peut rester dans l’index, affichée avec la mention « indexée malgré le blocage par le fichier robots.txt ».
Conséquence directe pour l’audit : si votre crawler respecte le robots.txt de la boutique, il n’ouvrira jamais ces URL et votre rapport conclura « facettes sous contrôle » alors que Google en indexe des milliers. Il faut donc deux passes, et surtout la comparaison entre elles.
Préparer le crawler pour PrestaShop
Que vous utilisiez Screaming Frog, Sitebulb ou un équivalent, quelques réglages sont indispensables avant de lancer quoi que ce soit.
- Rendu JavaScript : activez-le si le module fonctionne en mode AJAX, sinon le crawler ne verra pas les liens de filtres injectés côté client.
- Extraction personnalisée : configurez l’extraction de la balise
meta robotset de la baliselink rel="canonical"pour chaque URL. C’est ce qui permettra de repérer les incohérences. - Paramètres à surveiller : sur PrestaShop, les URL de facettes prennent la forme
?q=Attribut-Valeuren URL simplifiées, plus les paramètres?order=et?orderby=pour le tri et?page=pour la pagination. Notez-les, vous filtrerez dessus. - Limite de profondeur et d’URL : sur un gros catalogue, plafonnez le nombre d’URL de la première passe, sinon le crawl combinatoire n’en finit pas.
Passe 1 : cartographier toute la surface générée
Lancez un crawl en ignorant le robots.txt, en partant de la page d’accueil et des principales catégories, avec le suivi des liens internes activé. Objectif : découvrir toutes les URL que le module et le thème génèrent réellement, y compris celles que le robots.txt masque.
Ce que vous mesurez
Le volume total d’URL de type facette et tri, rapporté au nombre d’URL utiles (catégories, produits, pages CMS).
Ce que vous cherchez
Les liens de facettes posés en dur dans le thème (menu, blocs de catégorie), qui rendent ces URL crawlables même quand vous croyez les avoir bloquées.
Ce que vous notez
Pour chaque URL de facette : son code HTTP, son meta robots, sa canonical, et si elle renvoie des produits ou une page vide.
Un ratio parlant : sur un catalogue de 200 produits avec 5 attributs filtrables, la combinatoire dépasse facilement 10 000 URL quasi identiques. Si votre passe 1 en remonte quelques centaines, c’est que le thème lie peu de facettes ; si elle en remonte des milliers, le maillage interne alimente activement le problème.
Passe 2 : voir ce que voit Googlebot
Relancez le même crawl, cette fois en respectant le robots.txt et avec le user-agent Googlebot. Vous obtenez la surface réellement explorable par Google.
Le delta entre la passe 1 et la passe 2 est le coeur de l’audit :
| Situation | Lecture |
|---|---|
| URL vue en passe 1, absente en passe 2 | Bloquée au crawl. À vérifier ensuite dans l’index : si elle y est, le blocage ne suffit pas à la désindexer. |
| URL vue dans les deux passes, en index,follow | Facette crawlable et indexable non maîtrisée. C’est le gisement de dilution le plus direct. |
| URL vue dans les deux passes, en noindex | Correctement traitée, à condition qu’elle ne soit pas aussi dans le robots.txt (sinon Google ne voit jamais le noindex). |
| URL avec canonical vers la catégorie | Indice envoyé à Google, pas une garantie. Sur des pages au contenu trop différent, il l’ignore. |
Croiser avec les URL réellement indexées
Le crawl vous dit ce qui est accessible. Il ne vous dit pas ce qui est indexé. Trois sources pour l’index réel :
- Search Console, rapport Indexation des pages : exportez les URL indexées et filtrez sur
?q=,?order=,?page=. C’est la source la plus fiable. - Opérateur
site:avec un motif de paramètre, pour une estimation rapide et visuelle. - Analytics, pages de destination organiques : les URL de facettes qui reçoivent des visites depuis Google sont, par définition, indexées et positionnées.
Importez ces listes dans le même tableur que vos deux passes de crawl. La jointure sur l’URL révèle les cas les plus graves : une facette indexée, qui reçoit du trafic, mais orpheline au crawl parce qu’aucun lien interne ne la pointe. Google la maintient dans l’index sans que vous puissiez la piloter par le maillage.
Donnée de référence
Le module natif ps_facetedsearch des PrestaShop 8.x ne pose pas de balise noindex sur les URL ?q= : ces pages sont donc indexables par défaut tant que vous n’avez rien fait. La correction dans le coeur n’est arrivée qu’avec PrestaShop 9. Un audit sur une boutique 1.7 ou 8 doit partir du principe que la surface est ouverte.
Les trois pathologies à isoler
- Facettes indexées malgré le blocage robots.txtPrésentes dans l’export GSC des pages indexées, absentes de la passe 2. Le robots.txt les a coupées du crawl trop tôt, avant que Google n’ait pu lire un éventuel noindex. Elles stagnent dans l’index sans contenu à jour.
- Facettes crawlables et indexables non maîtriséesVues dans les deux passes, en index,follow, souvent maillées depuis le thème. Elles consomment du budget de crawl, diluent le PageRank interne et créent des quasi-doublons de vos catégories.
- Combinaisons à zéro résultatURL qui répondent 200 avec une page « aucun produit ». Google recommande explicitement de renvoyer un code 404 dans ce cas. Repérez-les via la passe 1 en croisant code HTTP 200 et absence de bloc produit dans le contenu extrait.
Le livrable d’audit
Cette démarche est le coeur d’un audit SEO technique de boutique PrestaShop. Un audit de facettes exploitable tient sur un onglet de tableur, une ligne par URL, avec les colonnes : URL, motif de paramètre, code HTTP, meta robots, canonical, présente en passe 1, présente en passe 2, indexée (GSC), trafic organique (oui/non), maillée depuis le thème (oui/non), pathologie identifiée, action recommandée. En face, une synthèse chiffrée : nombre d’URL de facettes générées, nombre crawlables, nombre indexées, nombre recevant du trafic, et la liste des facettes à valeur SEO réelle qu’il faudra au contraire conserver et travailler.
Cet inventaire est le préalable à toute décision de traitement. Le choix entre noindex, canonical ou blocage se prend URL par URL à partir de ce tableau, et la question de savoir quelles pages filtrées méritent d’être indexées se tranche sur les données de trafic et d’engagement, pas au doigt mouillé. L’ensemble s’inscrit dans une stratégie SEO des facettes cohérente, et les erreurs de pilotage du budget de crawl liées aux facettes sont détaillées dans notre article dédié aux erreurs de budget de crawl sur PrestaShop.
En pratique
Retenez la séquence : préparer le crawler avec l’extraction du meta robots et de la canonical, passe 1 en ignorant le robots.txt pour voir toute la surface, passe 2 en le respectant pour voir ce que Googlebot voit, export des URL indexées depuis la Search Console, jointure des trois sources dans un seul tableur. Le diagnostic sort du croisement, jamais d’une passe unique. Mener cet audit et prioriser les corrections est un travail d’expertise : je peux vous y aider, le détail est juste en dessous.
Quel crawler utiliser pour auditer les facettes PrestaShop ?
Screaming Frog ou Sitebulb conviennent, à condition d’activer l’extraction personnalisée de la balise meta robots et de la canonical, et le rendu JavaScript si le module fonctionne en AJAX. L’outil compte moins que la méthode : deux passes de crawl et un croisement avec l’index.
Pourquoi crawler une fois en ignorant le robots.txt ?
Parce que le robots.txt bloque le crawl mais pas l’indexation. Un crawl qui le respecte ne verra jamais les URL de facettes bloquées, alors que certaines restent indexées. La passe qui ignore le robots.txt révèle la surface réelle générée par le module et le thème.
Comment savoir quelles facettes sont réellement indexées ?
Le rapport Indexation des pages de la Search Console est la source la plus fiable : exportez les URL indexées et filtrez sur les motifs de paramètres de facettes. Complétez avec l’opérateur site: et les pages de destination organiques dans Analytics.
Le module ps_facetedsearch pose-t-il un noindex sur les pages filtrées ?
Pas sur les versions 1.7 et 8.x : les URL de type ?q= y sont indexables par défaut. La gestion dans le coeur n’est arrivée qu’avec PrestaShop 9. Sur une boutique antérieure, considérez que la surface est ouverte tant que vous n’avez pas agi.
Que faire des combinaisons de filtres sans résultat ?
Google recommande de renvoyer un code HTTP 404 quand une combinaison ne retourne aucun produit. Repérez-les dans la passe 1 en croisant un code 200 avec l’absence de bloc produit dans le contenu, puis corrigez le comportement du module ou ajoutez une règle serveur.
Un canonical vers la catégorie suffit-il à régler le problème ?
Non. Google traite le canonical comme un indice, pas comme une directive. Sur des pages filtrées dont le contenu diffère nettement de la catégorie, il peut l’ignorer et indexer quand même l’URL. Le canonical se combine avec le noindex selon les cas, il ne le remplace pas.
À 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 PrestaShop sur l’indexation, la navigation à facettes, le budget de crawl, la performance et la structure du catalogue. Mon approche croise audit terrain au crawler, priorisation métier et recommandations actionnables pour les équipes e-commerce et techniques. Pour un conseil en référencement pour PrestaShop sur votre navigation à facettes, parlons de votre catalogue.
À lire aussi
Les autres articles sur le sujet
Quelles facettes PrestaShop méritent une page indexée ? La méthode pour les lister, mesurer la demande via la recherche interne,…
Lire l’article
Éviter la duplication entre pages filtrées et catégories PrestaShop : le cas invisible du filtre à valeur unique et comment le…
Lire l’article
Créer une landing page SEO à partir des filtres PrestaShop : limite native du back-office, bloc CMS injecté et quand créer une…
Lire l’article
Facettes PrestaShop : ce que font vraiment noindex, canonical et robots.txt, la séquence de désindexation à respecter et une…
Lire l’article
Pagination des catégories PrestaShop et SEO : le vrai risque n’est pas les pages 2+, c’est la description de catégorie répétée et…
Lire l’article
Gérer les URL de tri sur PrestaShop : le robots.txt par défaut ne bloque pas le tri après la pagination. Canonical, robots…
Lire l’article
Quels filtres PrestaShop indexer pour le SEO ? Presque aucun : la marque va sur sa page native, un usage récurrent sur une…
Lire l’article

