Magento Guide E-commerce Solution
Interface d'administration Magento avec navigation à facettes et filtres produits configurés

Recherche & navigation à facettes Magento : guide complet (OpenSearch, filtres, SEO)

La recherche à facettes Magento est l'un des leviers les plus puissants pour améliorer l'expérience utilisateur et le référencement naturel d'une boutique en ligne. Grâce au moteur OpenSearch (ou Elasticsearch) intégré à Adobe Commerce et à Magento Open Source, il est possible de proposer des résultats de recherche ultra-pertinents, enrichis d'une navigation à facettes (layered navigation) qui permet aux utilisateurs d'affiner leurs résultats de recherche en quelques clics.

Ce guide rédigé par Wiener Shuey couvre l'intégralité du sujet : configuration d'OpenSearch, gestion des synonymes et de la pertinence, paramétrage des attributs filtrables, optimisation SEO des pages filtrées et bonnes pratiques pour transformer votre moteur de recherche en véritable outil de conversion.

Comprendre la navigation à facettes dans Magento

La navigation à facettes (ou layered navigation dans la terminologie Magento) est un système de filtrage multicritères qui s'affiche dans la colonne latérale des pages de catégories et des pages de résultats de recherche. Elle permet aux visiteurs d'affiner leurs résultats de recherche par prix, couleur, taille, marque ou tout autre attribut produit défini dans le catalogue.

Sur Magento Open Source comme sur Adobe Commerce, la layered navigation est intégrée nativement. Elle repose sur deux composants clés : le catalogue produit (avec ses attributs filtrables) et le moteur de recherche backend (OpenSearch ou Elasticsearch). La combinaison de ces deux éléments détermine la qualité des filtres proposés, la vitesse d'affichage et la pertinence des résultats.

ℹ️

Layered Navigation vs navigation traditionnelle

Contrairement à une simple arborescence de catégories, la navigation à facettes permet de croiser plusieurs critères simultanément (ex. : prix entre 50 € et 100 € + couleur rouge + marque X), réduisant considérablement le nombre de clics nécessaires pour trouver un produit spécifique.

OpenSearch sur Magento : architecture et configuration de base

Depuis la version 2.4.x de Magento, OpenSearch est le moteur de recherche recommandé, en remplacement progressif d'Elasticsearch. Il s'agit d'un moteur open source, fork d'Elasticsearch, qui offre des fonctionnalités avancées d'indexation et de recherche full-text. Sa configuration dans Magento s'effectue depuis le panneau d'administration.

Configurer OpenSearch dans Magento (Stores > Settings > Configuration)

  1. Accédez à Stores → Settings → Configuration → Catalog → Catalog Search.
  2. Dans le champ Search Engine, sélectionnez OpenSearch dans la liste déroulante.
  3. Renseignez le Hostname (par défaut localhost), le Port (9200) et le Index Prefix (ex. : magento2).
  4. Vérifiez la connexion via le bouton Test Connection. Un message de confirmation indique que le moteur est joignable.
  5. Ajustez le paramètre Minimum Terms to Match pour définir le nombre minimum de termes devant correspondre dans une requête.
  6. Sauvegardez la configuration (Save Config), puis relancez l'indexation via bin/magento indexer:reindex catalogsearch_fulltext.
💡

Prérequis serveur

OpenSearch nécessite Java (JVM) et des ressources mémoire significatives. Avant de configurer le moteur de recherche, vérifiez que votre infrastructure répond aux prérequis serveur pour Magento : RAM suffisante (8 Go minimum recommandés pour un stack complet), version de PHP compatible et accès réseau entre Magento et OpenSearch.

Paramètres avancés du moteur de recherche Magento

Au-delà de la connexion de base, Magento expose de nombreux paramètres pour affiner le comportement du moteur de recherche. Ces réglages influencent directement la pertinence des résultats de recherche retournés aux utilisateurs.

ParamètreValeur par défautRôle
Minimum Query Length1Longueur minimale d'une requête acceptée
Maximum Query Length128Longueur maximale d'une requête
Number of top search results10Nombre de résultats pour les suggestions
Enable Search RecommendationsUse System ValueActive les suggestions de recherche alternatives
Number of Search Result PagesUse System ValueNombre de pages de résultats proposées
Enable Search SuggestionsUse System ValueAffiche des suggestions en cas de zéro résultat
Search Weight (attribut)Variable (1–10)Pondération d'un attribut dans le score de pertinence

Le paramètre Use System Value (présent sur de nombreux champs) indique que Magento applique la valeur par défaut définie au niveau global. Il est conseillé de le désactiver pour chaque store view afin de personnaliser précisément le comportement du moteur de recherche selon l'audience et la langue du magasin.

Gestion des synonymes pour améliorer la pertinence

Les synonymes de recherche permettent d'étendre la portée du moteur en associant des termes équivalents. Un visiteur qui tape « canapé » obtiendra les mêmes résultats que s'il avait tapé « sofa » ou « divan », à condition d'avoir configuré ces équivalences. Dans Magento, la gestion des synonymes se trouve dans Marketing → SEO & Search → Search Synonyms.

  • Synonymes unilatéraux : le terme A renvoie vers les résultats de B, mais pas l'inverse (ex. : « TV » → « télévision »).
  • Synonymes bilatéraux : les deux termes renvoient aux mêmes résultats (ex. : « chaussures » ↔ « souliers »).
  • Portée par Store View : chaque vue de boutique peut avoir ses propres synonymes, utile pour les sites multilingues.
  • Import CSV : Magento permet d'importer en masse un fichier de synonymes, ce qui est indispensable pour les grands catalogues.
  • Synonymes contextuels : certains modules tiers permettent des synonymes conditionnels selon la catégorie consultée.
Configuration du moteur de recherche OpenSearch dans Magento via le terminal
💡

Conseil pratique

Analysez régulièrement les rapports de termes de recherche (Marketing → SEO & Search → Search Terms) pour identifier les requêtes sans résultat et créer des synonymes ou redirections adaptés. C'est l'un des gains de conversion les plus rapides à mettre en place sur une boutique en ligne Magento.

Optimiser la pertinence des résultats de recherche

La pertinence d'un moteur de recherche e-commerce se mesure à sa capacité à afficher en premier les produits les plus susceptibles de correspondre à l'intention d'achat du visiteur. Magento offre plusieurs leviers pour améliorer cette pertinence au niveau des attributs produit.

Pondération des attributs (Search Weight)

Chaque attribut produit peut se voir attribuer un poids de recherche (Search Weight) compris entre 1 et 10. Un poids élevé signifie qu'une correspondance sur cet attribut aura plus d'influence sur le score de pertinence final. Il est généralement recommandé de prioriser ainsi :

  • Nom du produit (name) : poids 8–10 — c'est l'attribut le plus discriminant.
  • SKU : poids 6–8 — les utilisateurs B2B recherchent souvent par référence.
  • Description courte : poids 3–5 — contribue à la couverture lexicale.
  • Description longue : poids 1–2 — utile pour les termes rares ou techniques.
  • Marque / fabricant : poids 5–7 — très recherché dans la mode, l'électronique.

Attributs filtrables : configuration pour la layered navigation

Pour qu'un attribut apparaisse dans la navigation à facettes, il doit être correctement configuré dans le panneau d'administration. Rendez-vous dans Stores → Attributes → Product, sélectionnez l'attribut souhaité et configurez les champs suivants dans l'onglet Storefront Properties :

PropriétéValeur recommandéeEffet sur la layered navigation
Use in Layered NavigationFilterable (with Results) / Filterable (no results)Rend l'attribut disponible comme filtre dans les catégories
Use in Search Results Layered NavigationYesAffiche le filtre aussi sur les pages de résultats de recherche
PositionEntier (ex. 10, 20…)Ordre d'affichage des facettes dans la colonne latérale
Use for Promo Rule ConditionsOptionnelPermet d'utiliser l'attribut dans les règles promotionnelles
SearchableYesInclut l'attribut dans l'index full-text d'OpenSearch
Comparable on StorefrontYes/NoPermet la comparaison de produits sur cet attribut
⚠️

Attention à la prolifération des attributs filtrables

Ajouter trop d'attributs filtrables dégrade à la fois l'expérience utilisateur (interface surchargée) et les performances (requêtes complexes). Limitez-vous aux attributs réellement utiles à l'affinage des résultats de recherche et supprimez les facettes qui génèrent peu d'interactions.

Search Results Layered Navigation : le filtre sur les pages de résultats

La search results layered navigation est une fonctionnalité distincte de la layered navigation classique (catégories). Elle s'applique spécifiquement à la page /catalogsearch/result/, c'est-à-dire aux pages de résultats de recherche générées lorsqu'un utilisateur utilise la barre de recherche.

Pour l'activer dans Magento, accédez à Stores → Settings → Configuration → Catalog → Layered Navigation et vérifiez que le paramètre Display Product Count et Price Navigation Step Calculation sont correctement réglés. Assurez-vous également que chaque attribut filtrable a bien le champ Use in Search Results Layered Navigation positionné sur Yes.

76 %
des acheteurs en ligne utilisent les filtres pour affiner leur recherche (Baymard Institute)
42 %
d'augmentation du taux de conversion observée avec une navigation à facettes bien configurée
21 %
des sites e-commerce proposent une expérience de filtrage jugée « très mauvaise » selon Baymard

Navigation à facettes et SEO Magento : enjeux et solutions

La navigation à facettes est un double tranchant pour le SEO Magento. D'un côté, elle génère des URLs de pages filtrées qui peuvent être indexées par Google et les moteurs de recherche, créant du contenu dupliqué et du crawl budget inutile. De l'autre, certaines combinaisons de filtres correspondent à des requêtes de longue traîne réelles, sur lesquelles il est judicieux de se positionner.

Le problème du contenu dupliqué sur les pages filtrées

Par défaut, chaque combinaison de filtres génère une URL unique dans Magento (ex. : /chaussures.html?color=45&size=89&price=50-100). Ces URLs de pages filtrées contiennent souvent les mêmes produits, avec des variantes minimes, ce qui constitue du contenu dupliqué aux yeux de Google. Quelques stratégies permettent de maîtriser ce phénomène :

  • Balise canonical : Magento ajoute nativement une balise rel="canonical" pointant vers la page de catégorie parente sur les pages filtrées. Vérifiez qu'elle est bien en place.
  • Fichier robots.txt : bloquez l'indexation des paramètres de filtres non stratégiques dans le fichier robots.txt (ex. : Disallow: /*?*color=) ou utilisez la directive noindex sur les pages filtrées à faible valeur SEO.
  • Robots.txt et Sitemap : assurez-vous que vos pages filtrées ne sont pas incluses dans le sitemap XML si elles portent une directive noindex. La cohérence entre robots.txt, sitemap et balises meta robots est essentielle.
  • Sélection des facettes indexables : identifiez les combinaisons de filtres qui correspondent à des volumes de recherche réels et créez des pages de catégories dédiées plutôt que de laisser les URLs dynamiques s'indexer.
  • URL rewrites : Magento permet de créer des règles de réécriture d'URL pour donner des URLs propres et sémantiques aux pages filtrées stratégiques.
ℹ️

Pages CMS et catégories : différences d'indexation

Les pages CMS, catégories et pages de résultats de recherche n'ont pas le même comportement vis-à-vis de l'indexation. Les pages de catégories sont indexées par défaut ; les pages de résultats de recherche (/catalogsearch/result/) devraient être bloquées dans le fichier robots.txt pour éviter le crawl de millions d'URLs dynamiques. Pour un audit complet, consultez notre guide sur le SEO technique Magento 2.

Optimiser les pages filtrées stratégiques pour le référencement naturel

Certaines combinaisons de filtres méritent d'être traitées comme de véritables pages SEO. Par exemple, la page « chaussures rouges femme taille 38 » peut capturer une longue traîne à forte intention d'achat. Pour ces pages, il convient de :

  • Configurer des balises title et meta description dynamiques incluant les valeurs des filtres actifs.
  • Générer un H1 unique qui reflète la combinaison de filtres (ex. : « Chaussures rouges femme – Taille 38 »).
  • S'assurer que la balise canonical pointe vers la page elle-même (et non vers la catégorie parente) pour les pages filtrées stratégiques.
  • Inclure la page dans le sitemap XML si elle est indexable et présente un contenu suffisamment différencié.
  • Travailler le maillage interne depuis les pages de contenu et les fiches produit vers ces pages filtrées.

Configuration de la navigation à facettes dans Magento : guide pas à pas

Mettre en place une layered navigation performante

  1. Auditer les attributs existants : listez tous les attributs produit du catalogue et identifiez ceux qui ont une réelle valeur de filtrage pour les utilisateurs (prix, couleur, taille, marque, matière…).
  2. Configurer les attributs filtrables : pour chaque attribut retenu, activez Use in Layered Navigation → Filterable (with Results) et Use in Search Results Layered Navigation → Yes.
  3. Définir l'ordre des facettes : utilisez le champ Position pour prioriser les filtres les plus utilisés (prix en haut, attributs secondaires en bas).
  4. Configurer la navigation par prix : dans Stores → Settings → Configuration → Catalog → Layered Navigation, choisissez le mode de calcul des plages de prix (Automatic, Manual ou Improved selon vos besoins).
  5. Réindexer le catalogue : lancez bin/magento indexer:reindex catalog_product_attribute catalog_product_flat catalogsearch_fulltext après chaque modification d'attribut.
  6. Tester l'affichage et la performance : vérifiez le rendu sur desktop et mobile, mesurez les temps de réponse des filtres et validez que les comptes de produits (Display Product Count) sont corrects.
  7. Configurer la gestion SEO des URLs filtrées : mettez en place les canonicals, le fichier robots.txt et les règles noindex/nofollow appropriées selon votre stratégie.

Facettes de prix : configuration et bonnes pratiques

Le filtre par prix est le plus utilisé dans toute navigation à facettes e-commerce. Magento propose trois modes de calcul des plages :

ModeDescriptionIdéal pour
Automatic (Equal Price Ranges)Divise la plage de prix totale en intervalles égauxCatalogues avec distribution de prix homogène
Automatic (Improved Algorithm)Calcule des intervalles basés sur la distribution réelle des prixCatalogues avec prix hétérogènes
ManualL'administrateur définit manuellement les bornes de chaque tranchePositionnement marketing précis (ex. : < 50 €, 50–100 €, > 100 €)

Pour les boutiques avec des catalogues larges et des prix très dispersés, le mode Improved Algorithm est généralement le plus pertinent. Il évite la création de tranches vides (qui dégradent l'expérience utilisateur) et garantit que chaque plage contient un nombre significatif de produits.

Performance de la recherche à facettes : optimisations techniques

Une navigation à facettes lente est contre-productive : les utilisateurs abandonnent si les filtres mettent plus de 2 secondes à s'appliquer. Plusieurs optimisations techniques permettent de garantir des temps de réponse acceptables sur une boutique Magento à fort trafic.

Avantages

  • OpenSearch indexe nativement les attributs, permettant des requêtes filtrées ultra-rapides
  • Le cache de Magento (Varnish, Redis) accélère les réponses sur les pages de catégories les plus visitées
  • Les requêtes Elasticsearch/OpenSearch sont exécutées côté serveur, sans surcharge côté client
  • L'indexation partielle (reindex par batch) limite les temps d'indisponibilité lors des mises à jour de catalogue
  • Les modules tiers comme Smile ElasticSuite offrent des fonctionnalités avancées (recherche floue, facettes virtuelles)

Inconvénients

  • Les catalogues très larges (> 500 000 produits) nécessitent une infrastructure dédiée pour OpenSearch
  • La multiplication des attributs filtrables alourdit les requêtes et peut dégrader les performances
  • Certains modules tiers de layered navigation sont incompatibles avec le thème Hyva ou les PWA
  • La configuration initiale d'OpenSearch demande des compétences serveur que tous les marchands ne possèdent pas
  • Les mises à jour Magento peuvent nécessiter un remapping des index OpenSearch

Cache et invalidation des index

L'indexation OpenSearch dans Magento est gérée par l'indexeur catalogsearch_fulltext. En mode Update on Save, chaque modification produit déclenche une réindexation partielle immédiate. En mode Update by Schedule, les mises à jour sont groupées via les cron jobs, ce qui est préférable pour les catalogues fréquemment mis à jour. Combinez ce mécanisme avec un cache Varnish bien configuré et un cache de session Redis pour maximiser les performances globales du moteur de recherche.

Modules tiers pour enrichir la recherche et les facettes Magento

Navigation à facettes sur mobile dans une boutique Magento – filtres prix couleur et taille

Si les fonctionnalités natives de Magento couvrent la majorité des cas d'usage, certains projets nécessitent des capacités avancées que seuls des modules tiers peuvent apporter. Parmi les plus reconnus de l'écosystème, on peut citer : Smile ElasticSuite (open source, très complet), Amasty Layered Navigation Pro, Mirasvit Search, ou encore Instantsearch+ pour une expérience AJAX sans rechargement de page. Pour faire le bon choix, consultez notre sélection des modules tiers indispensables pour Magento.

  • Smile ElasticSuite : module open source qui remplace le moteur de recherche natif et ajoute facettes virtuelles, recherche floue avancée, synonymes par contexte et personnalisation des résultats par machine learning.
  • Amasty Layered Navigation Pro : enrichit la layered navigation native avec des filtres AJAX, des sliders de prix, des images dans les facettes et une gestion SEO avancée des URLs filtrées.
  • Mirasvit Advanced Search : améliore la pertinence via des algorithmes de scoring personnalisables et supporte la recherche multilingue.
  • Instantsearch+ : transforme la barre de recherche en interface AJAX avec suggestions en temps réel, affichage de miniatures et filtres instantanés.
  • SearchPie : solution SaaS spécialisée dans la recherche e-commerce avec tableau de bord analytique dédié.

UX de la navigation à facettes : bonnes pratiques de design

La configuration technique ne suffit pas : l'expérience utilisateur de la navigation à facettes dépend aussi de choix de design et d'ergonomie. Voici les principes à respecter pour maximiser l'engagement et la conversion sur votre boutique en ligne.

  • Afficher le nombre de produits par valeur de filtre (Display Product Count activé) : l'utilisateur sait à l'avance combien de résultats chaque sélection donnera.
  • Filtres actifs visibles : indiquer clairement quels filtres sont actifs (avec un bouton de suppression individuel) améliore la navigation et réduit la frustration.
  • Mise à jour AJAX : recharger uniquement la grille de produits (sans rechargement de page complet) est devenu la norme. Cela nécessite un module dédié ou un développement custom.
  • Mobile first : sur mobile, les facettes doivent être accessibles via un panneau latéral ou une modal déclenchée par un bouton « Filtrer », et non dans une colonne permanente qui occuperait tout l'écran.
  • Ordre des facettes : placez les filtres les plus discriminants en haut (prix, catégorie, marque) et les attributs secondaires plus bas.
  • Valeurs de filtre triées intelligemment : par pertinence, par nombre de produits ou par ordre alphabétique selon le type d'attribut.
  • Éviter les impasses : désactivez ou masquez les valeurs de filtres qui, combinées aux filtres déjà actifs, donneraient zéro résultat (Filterable with Results).

Intégration de la recherche à facettes avec Google Shopping et les flux produits

Les attributs produit configurés pour la navigation à facettes sont souvent les mêmes que ceux nécessaires pour structurer correctement vos flux produits vers les marketplaces et Google Shopping. Une bonne structuration des attributs dans Magento sert donc à la fois la recherche à facettes interne et la diffusion externe de votre catalogue. Découvrez comment optimiser cette dimension dans notre guide sur les flux produits, marketplaces et Google Shopping.

Mesurer et améliorer les performances : analytics et tests

La mise en place d'une navigation à facettes performante est un processus itératif. Sans mesure, il est impossible de savoir si les changements apportés améliorent réellement l'expérience utilisateur et la conversion. Voici les indicateurs clés à suivre :

  • Taux d'utilisation des filtres : quel pourcentage des sessions implique l'utilisation d'au moins un filtre ?
  • Taux de conversion filtré vs non filtré : les sessions avec filtres convertissent-elles mieux ?
  • Termes de recherche sans résultat : dans le rapport Marketing → Search Terms, identifiez les requêtes qui n'ont retourné aucun produit.
  • Taux de rebond sur les pages de résultats de recherche : un taux élevé peut indiquer une mauvaise pertinence ou une absence de filtres adaptés.
  • Profondeur de navigation : combien de filtres différents les utilisateurs appliquent-ils en moyenne avant d'ajouter au panier ?
  • Tests A/B : testez différentes configurations de facettes (ordre, nombre, mode d'affichage) pour valider les hypothèses par les données.

Choisir le bon accompagnement pour votre projet Magento

La configuration d'un moteur de recherche OpenSearch performant et d'une navigation à facettes optimisée pour le SEO est un projet qui requiert des compétences à la croisée du développement Magento, de l'administration système et du référencement naturel. Si votre équipe interne ne dispose pas de toutes ces expertises, faire appel à une agence e-commerce spécialisée Magento peut vous faire gagner un temps précieux et éviter des erreurs coûteuses en termes de performance ou de positionnement Google.

ℹ️

À retenir

  • La navigation à facettes Magento (layered navigation) repose sur OpenSearch/Elasticsearch et des attributs produit correctement configurés.
  • Gérez les synonymes et les poids d'attributs pour maximiser la pertinence des résultats de recherche.
  • Maîtrisez l'indexation des pages filtrées via les canonicals, le fichier robots.txt et les balises noindex pour protéger votre SEO Magento.
  • Mesurez l'impact des filtres sur la conversion et itérez en continu.
  • Évaluez les modules tiers (ElasticSuite, Amasty…) pour dépasser les limites du natif.
La layered navigation classique s'affiche sur les pages de catégories, tandis que la search results layered navigation apparaît sur la page de résultats de la barre de recherche (/catalogsearch/result/). Pour activer cette dernière, chaque attribut filtrable doit avoir le champ « Use in Search Results Layered Navigation » défini sur Yes dans ses propriétés.
Plusieurs approches complémentaires : (1) vérifier que les balises canonical pointent vers la page de catégorie parente sur les pages filtrées non stratégiques, (2) bloquer les paramètres de filtres dans le fichier robots.txt, (3) ajouter une balise meta robots noindex sur les combinaisons de filtres à faible valeur SEO, (4) créer des pages de catégories dédiées pour les combinaisons à fort volume de recherche.
Oui. Depuis Magento 2.4.4, OpenSearch est officiellement supporté et recommandé par Adobe comme moteur de recherche par défaut. Il est fonctionnellement compatible avec l'interface Elasticsearch de Magento et offre les mêmes fonctionnalités de recherche full-text, de navigation à facettes et de gestion des synonymes.
Plusieurs leviers : limiter le nombre d'attributs filtrables actifs, activer le cache Varnish, utiliser Redis pour le cache de session et de Full Page Cache, passer l'indexeur catalogsearch_fulltext en mode « Update by Schedule » plutôt que « Update on Save », et dimensionner correctement le cluster OpenSearch (RAM, shards) en fonction du volume du catalogue.
Ce paramètre, configuré dans les propriétés d'un attribut produit, indique que la valeur de filtre correspondante ne s'affichera dans la navigation à facettes que si elle retourne au moins un produit compte tenu des autres filtres actifs. Cela évite les « impasses » où l'utilisateur sélectionne un filtre et se retrouve face à zéro résultat.