Aller au contenu

Guide · La technique

Pagination, filtres et navigation à facettes

Un site de commerce peut générer plusieurs millions d'adresses à partir de trois cents produits. C'est le mécanisme qui ruine le plus discrètement un budget d'exploration.

Par Camille Mis à jour le 3 min de lecture

Une liste de résultats s'étale sur plusieurs pages, et un catalogue propose des filtres. Ces deux mécanismes créent des URL, souvent beaucoup plus qu'on ne l'imagine.

La pagination

Trois règles suffisent.

Chaque page paginée a sa propre adresse. /categorie/ ?page=2 ou /categorie/page-2/, peu importe la forme, l'important est qu'elle existe et soit atteignable par un lien.

Chaque page paginée déclare sa propre canonique. La page 2 pointe vers la page 2. Déclarer la page 1 comme canonique de toutes les autres fait disparaître de l'index les produits qui ne figurent que page 4.

Chaque page paginée est indexable. Mettre noindex sur les pages au-delà de la première est une pratique répandue et coûteuse : elle finit par désindexer les pages qui n'étaient atteignables que par là.

Les attributs rel="next" et rel="prev" ne sont plus utilisés par Google depuis 2019. Les laisser ne nuit pas, ils ne servent simplement à rien.

Les pages « tout afficher »

Une page qui affiche l'ensemble des résultats est une bonne option quand le volume le permet, disons jusqu'à une centaine d'éléments. Elle simplifie l'architecture et concentre les signaux.

Au-delà, elle devient trop lourde et dégrade la performance, avec les effets décrits dans le chapitre sur les Core Web Vitals.

Les facettes, et l'explosion combinatoire

Une navigation à facettes propose de filtrer par marque, taille, couleur, prix, disponibilité. Chaque combinaison produit une URL.

Cinq filtres à cinq valeurs chacun donnent plus de trois mille combinaisons par catégorie. Multipliées par cinquante catégories, et croisées avec les tris et la pagination, on dépasse le million d'adresses pour quelques milliers de produits.

Le moteur explore une partie de ces adresses, au détriment des fiches produit. C'est un gaspillage silencieux, qui ne se voit que dans les journaux du serveur.

La méthode qui tient

Classer les combinaisons en trois familles.

Celles qui correspondent à une demande réelle : « chaussures de running femme » est une requête que les gens tapent. Elles méritent une page indexable, avec un titre propre et un texte d'introduction distinct.

Celles qui servent la navigation sans être cherchées : un tri par prix croissant, un filtre sur une couleur rare. Elles doivent rester utilisables et ne pas être indexées.

Celles qui n'ont aucun sens : trois filtres empilés qui ne ramènent rien. Elles ne doivent même pas être atteignables.

Appliquer le traitement adapté à chaque famille. Indexable et liée en dur pour la première. Accessible mais non indexable pour la deuxième. Non générée pour la troisième.

Ne pas compter sur le robots.txt seul. Il empêche l'exploration, donc le moteur ne lit pas le noindex de la page. Le bon ordre : laisser explorer et poser un noindex, puis, une fois la désindexation constatée, bloquer l'exploration pour économiser le budget.

Le défilement infini

Il est excellent pour l'usage mobile et catastrophique pour l'accessibilité machine s'il est seul.

La solution qui concilie les deux : charger au défilement pour le visiteur, et maintenir en parallèle de vraies URL paginées, atteignables par des liens présents dans le code. Les cadres modernes le permettent, encore faut-il l'avoir demandé.

Vérifier

Lancez un crawler sans limite de profondeur sur une catégorie et regardez le nombre d'URL qu'il découvre. Si le chiffre dépasse de loin le nombre de produits, vous avez un problème de facettes.

Regardez ensuite les journaux : la part de l'exploration consommée par des URL à paramètres se lit en une requête, et elle dépasse souvent la moitié.