La navigation à facettes est un sujet récurrent sur les sites à forte volumétrie de pages qui ont des listings produits ; si elle est implémentée correctement, elle peut être très bénéfique pour un site. En effet, la création de nouvelles pages plus précises permet de répondre à plus de requêtes pour plus de visibilité dans les résultats de recherche.
En plus de proposer une architecture de site logique et un maillage interne optimisé, la navigation à facettes permet aussi aux utilisateurs de trouver rapidement le(s) produit(s) qu’ils recherchent.

La mise en place d’une navigation à facettes demande de respecter certaines règles sinon elle peut entraîner d’importants problèmes comme la création en masse de pages inutiles / dupliquées ou l’apparition de spider traps.

Qu’est-ce qu’une facette ?

La navigation à facettes peut être généralement trouvée sur les pages listing de sites e-commerce ou immobilier : elle correspond aux différentes combinaisons qu’un utilisateur peut sélectionner pour affiner sa recherche.

Exemple de navigation à facettes pour les t-shirts homme sur Zalando

Parmi ces combinaisons disponibles, il est important de faire la différence entre une facette et un filtre.

Facette : C’est une page catégorie filtrée que l’on souhaite rendre crawlable et indexable. Cette dernière répond à des requêtes d’utilisateurs ayant un certain volume de recherche, sa création apporte de la valeur et potentiellement du trafic au site.

Filtre : C’est une page catégorie filtrée uniquement pour l’utilisateur. Cette dernière ne répond pas à des requêtes ayant du volume de recherche mensuel ; elle permet seulement aux utilisateurs de rendre une page catégorie plus précise et de naviguer parmi les différents attributs d’un produit.

Pourquoi ouvrir des facettes ?

Comme mentionné précédemment, la navigation à facettes est bénéfique pour les sites à forte volumétrie de pages qui possèdent des listings de produits / biens. Une ouverture de facettes gérée de manière optimale aura principalement 3 avantages :

  • Cibler des mots clés génériques ou issus de la de longue traîne. Il est donc intéressant d’ouvrir des facettes pour cibler des requêtes précises et proposer un listing de biens correspondant.
    • t shirt : 74 000 volume / mois
    • t shirt homme : 9 900 volume / mois
    • t shirt noir homme : 590 volume / mois
  • Automatiser la création de pages selon certaines règles : les sites concernés ayant en général un nombre de pages élevé, il est bénéfique d’automatiser la création de pages ;
  • Automatiser le maillage interne de ces pages grâce à la création automatique des pages.

Comment choisir les facettes à ouvrir ?

Pour choisir les facettes intéressantes à ouvrir, il est important de respecter 3 étapes :

L’étude sémantique : Recherche sémantique classique où les mots clés relatifs au site sont récupérés ;

La catégorisation : Catégorisation des mots clés selon la méthode habituelle qui prend en compte les différentes segmentations pertinentes des facettes (ex : Prix, taille, marque, genre, matière, etc.)

L’analyse des résultats : Analyse des résultats de la recherche sémantique avec des TCD qui mettent en avant les différentes catégories et combinaisons possibles. L’idée est de récupérer le volume de recherche associé à chaque croisement possible.

Par exemple, il est intéressant d’ouvrir certaines couleurs sur la catégorie T-shirt :

Crawl et indexation : Pourquoi est-il nécessaire de maîtriser l’ouverture des facettes ?

Si la navigation à facettes est implémentée correctement, elle permettra d’augmenter le nombre de pages qualifiées pour les utilisateurs et les robots, par contre si cette dernière n’est pas gérée de manière optimale, elle peut entraîner plusieurs typologies de problèmes :

  • Risque de spider traps :

Un spider trap est la création d’un très grand nombre ou d’un nombre illimité d’URLs empêchant l’exploration correcte d’un site. Comme la navigation à facettes permet de créer un nombre de combinaisons importantes, elle peut facilement être sujette à des spider traps si elle n’est pas gérée correctement.

  • Gaspillage de crawl :

Un nombre important de liens non indexables dans une structure de site entraînera forcément un gaspillage du crawl (même si à terme ces liens seront moins crawlés).

  • Dilution de la popularité interne :

Un grand nombre de liens non crawlables au sein d’une structure de site n’est pas optimal pour la répartition de la popularité interne.

  • Génération de doublons ou de quasi-doublons :

Parmi les pages créées automatiquement par la navigation à facettes, certaines peuvent avoir un contenu identique ou très similaire. Ce genre de cas doit être évité pour ne pas créer du contenu dupliqué interne.

  • Génération de pages vides :

De la même manière que pour les pages ayant un contenu similaire, celles n’ayant pas de contenu ne doivent pas être générées.

Les règles à respecter pour maîtriser l’ouverture de facettes

Gestion du Multi-facettes

Tout d’abord, il faut définir si une facette doit être ouverte si plusieurs variables sont sélectionnées simultanément (au sein d’une même catégorie ou non)

Exemple: j’ouvre mes facettes genre + couleurs
Exemple: je n’ouvre pas mes facettes genre lorsque homme + enfant est sélectionné
Exemple: je n’ouvre pas mes facettes genre + motifs

Définition du nombre minimal de produits / biens

Une facette doit s’ouvrir automatiquement seulement lorsque le nombre de produits / bien est suffisant

Exemple: j’ouvre mes facettes genre (homme ou femme) lorsque j’ai au minimum 3 t-shirts à vendre

Mise en place du balisage SEO

Les facettes ouvertes doivent contenir un balisage SEO classique optimisé, il faut donc définir des règles de balisage automatique.

Mettre en place une ré-écriture d’URL

Les facettes étant initialement des filtres que l’on souhaite indexer, des URLs « ugly » seront créées lors de l’ouverture de celles-ci. Il faut alors ré-écrire ces URLs afin d’obtenir des URLs « propres » (donc sans caractères spéciaux comme des %, ? Ou &).

Exemple: Je cherche un t-shirt noir de la marque Nike

Ces URLs « propres » sont optimisées pour le crawl et l’indexation

Gestion de la stabilité des URLs

La structure d’URL ne doit pas changer selon le chemin suivi par l’internaute.

Exemple: Deux personnes cherchent un t-shirt noir de la marque Nike mais de manière différente.

Il faut donc définir un ordre par défaut, par exemple : [Catégorie d’habit] > [Couleur] > [Marque] et garder cet ordre quel que soit le chemin de l’internaute.

Optimisation du maillage interne

Comme pour une structure de site classique, pour qu’une facette ouverte soit crawlable et indexable, les URLs du site doivent avoir un lien en dur vers la facette ouverte. Ce dernier doit être présents dans le DOM et accessible même si le JavaScript et le CSS sont désactivés

Exemple: j’ai ouvert mes facettes sur les T-shirts Homme + Couleurs

J’ai bien un lien en “dur” T-shirts Homme Bleus depuis ma page T-shirts rouges homme vers ma page T-shirts bleus homme.

Plusieurs façons de rendre inaccessibles des facettes

Maintenant que nous avons abordé les règles à respecter quant à l’ouverture de facettes, il faut définir un moyen de rendre non crawlable / non indexable les facettes qui ne doivent pas être ouvertes.

Généralement, il est possible de bloquer les facettes non souhaitées de plusieurs manières, chacune d’entre elle ayant ses avantages et inconvénients.

  • Ajout du nofollow sur les liens des facettes fermées + meta robots noindex

Cette solution permet de limiter le gaspillage de crawl sur les pages non souhaitées ainsi que d’assurer la non indexation des pages fermées (dans le cas où elles seraient connues des moteurs de recherche par d’autres moyens). Cependant, cela ne résout pas les problèmes de dilution de popularité interne car un nombre de liens important non crawlable est présent sur la page.

Ajout d’une meta robots noindex sur les pages fermées

Avec cette approche, seuls les problèmes d’indexation et de contenu dupliqué sont résolus. En effet, le gaspillage de crawl et la dilution de la popularité interne seront toujours présents au sein du site.

  • Blocage des facettes au robots.txt

Solution assez simple à mettre en place et en bloquant le pattern des facettes fermées au robots.txt. Bien que cette dernière permette de ne pas gaspiller de budget de crawl sur des pages inutiles, elle ne permet pas d’apporter de réelles réponses quant à l’indexation, le contenu dupliqué et la dilution de popularité interne.

  • JS / Ajax

L’utilisation du Javascript / Ajax pour bloquer les facettes permet de répondre efficacement à toutes les problématiques. En effet, les liens vers les facettes fermées sont accessibles uniquement pour les utilisateurs et ne sont pas présents dans le code source de la page, ils sont donc inaccessibles pour les robots. A noter que Google exécute le Javascript et qu’une implémentation idéale de cette solution se fait côté client : le filtrage de la page catégorie se fait directement dans le navigateur et aucune nouvelle page n’est créée.

  • PRG (Post-Redirect-Get) :

Tout comme l’utilisation du JS / Ajax, cette méthode permet de répondre efficacement à toutes les problématiques. Pour rappel, les requêtes GET permettent de transmettre des informations dans l’URL et sont exécutables par Google. A contrario, pour les requêtes POST, les informations sont incluses dans un formulaire et ne sont pas exécutables par Google.

Le but de la méthode PRG est donc d’utiliser un formulaire en mode POST pour les facettes non désirées afin que Google ne les exécute pas, ce qui donnerait :

  • Étape 1 POST : l’utilisateur clique sur un filtre d’une facette non désirée et la requête envoyée est en méthode POST (non exécutable par Google) ;
  • Étape 2 REDIRECT : le serveur répond à la requête par une redirection vers l’URL filtrée ;
  • Étape 3 GET: la redirection est suivie et l’URL filtrée est renvoyée en méthode GET. L’utilisateur voit ses résultats filtrés

En résumé

Solutions

Difficulté de mise en place
NoFollow sur les liens + noindex sur les pages

simple
NoIndex sur les facettes fermées

simple
Robots.txt

simple
Ajax / JS

difficile
PRG

difficile
Règle les problèmes de
Contenu Dupliqué
Oui

réduit la quantité de contenu dupliqué dans l’index
Oui

réduit la quantité de contenu dupliqué dans l’index
Moyen

Même si les pages sont bloquées, elles peuvent être indexées
Oui

les contenus non souhaités ne sont pas accessibles aux moteurs
Oui

les contenus non souhaités ne sont pas accessibles aux moteurs
Règle les problèmes de
Budget Crawl
Oui

indique aux moteurs quels sont les liens à ne pas suivre
Non

les moteurs perdent du temps à crawler des liens non indexables
Oui

indique aux moteurs quels sont les liens à ne pas suivre
Oui

Pas de liens en “dur” dans le code
Oui

Pas de liens en “dur” dans le code
Règle les problèmes d’Indexation
Oui

aucune page n’est indexée par les moteurs
Oui

aucune page n’est indexée par les moteurs
Moyen

Même si les pages sont bloquées elles peuvent être indexées
Oui

les contenus non souhaités ne sont pas accessibles aux moteurs
Oui

les contenus non souhaités ne sont pas accessibles aux moteurs
Règle les problèmes de
“Dilution de Popularité interne”
Non

Un nombre important de liens présents dans le code sont non suivis
Non

Un nombre important de liens non indexables présents dans le code sont crawlés
Non

Un nombre important de liens présents dans le code sont non crawlables
Oui

Pas de liens en “dur” dans le code
Oui

Pas de liens en “dur” dans le code