Commerce électronique avec Next.js
Créer une navigation à facettes dans Next.js sans piège d’exploration SEO
Créez des filtres de catégories Next.js utiles en maîtrisant les URL canoniques, la normalisation des paramètres, la pagination, les combinaisons explorables et les résultats vides.
Les filtres peuvent créer des millions d’URL techniquement valides à partir d’un catalogue modeste. Seul un petit ensemble choisi mérite généralement de devenir des pages d’entrée pour la recherche.
Séparer la hiérarchie de l'état du filtre
Trail Supply utilise des routes de catégories durables comme /women/jackets. La couleur, la taille, le niveau d’imperméabilité, la plage de prix et le tri affinent cet ensemble. La hiérarchie des catégories décrit le catalogue ; l’essentiel des filtres sert à aider l’acheteur dans cette catégorie.
Listez chaque filtre, valeur autorisée, valeur par défaut et interaction. Décidez quelles combinaisons répondent à une demande de recherche distincte, avec assez de produits, des stocks stables et un contenu explicatif unique. Elles peuvent devenir des pages d’entrée choisies ; les autres restent des états applicatifs utiles non indexables.
Normaliser les URL à paramètres
Utilisez un nom de paramètre par filtre, des valeurs normalisées en minuscules, un ordre stable et aucun paramètre portant sa valeur par défaut. Rejetez les filtres et valeurs inconnus. Redirigez les URL équivalentes vers la représentation normalisée lorsque cela améliore la cohérence.
Un analyseur de filtres doit renvoyer un état applicatif typé et une URL normalisée, sans transmettre arbitrairement searchParams aux requêtes de base de données. Limitez le nombre de valeurs et la complexité pour protéger la base et la surface d’exploration.
const filters = filterSchema.parse({
color: searchParams.color,
size: searchParams.size,
sort: searchParams.sort ?? "featured",
});
const normalized = buildFilterUrl("/women/jackets", filters);Rendre les résultats filtrés sur le serveur
Lisez searchParams dans la page, validez les filtres, interrogez les produits sur le serveur et rendez dès la première réponse le nombre de résultats, les filtres actifs, les liens produit et la pagination. Les Client Components peuvent modifier les filtres par navigation sans gérer la requête de catalogue.
Prévoyez des états de chargement et de résultat vide stables. Un filtre invalide ne doit pas devenir une catégorie vide renvoyant un succès. Renvoyez une réponse ou redirigez selon la politique de normalisation, et proposez un moyen utile d’effacer les filtres pour une combinaison valide sans résultat.
Choisir explicitement les combinaisons indexables
Maintenez une liste autorisée ou un catalogue de pages d’entrée associé à du contenu pour des combinaisons comme les vestes imperméables pour femmes. Une combinaison indexable exige sa propre URL canonique, son titre, son H1, sa description, ses liens internes et suffisamment de résultats stables. Elle doit être revue comme toute autre page de contenu.
Ne déduisez pas l’indexabilité du seul fait qu’une combinaison renvoie aujourd’hui des produits. Les stocks peuvent la rendre vide demain, et plusieurs combinaisons peuvent servir la même intention. Les équipes produit et recherche doivent définir ensemble l’ensemble approuvé.
Aligner les URL canoniques, robots, liens et sitemaps
Pour une page d’entrée approuvée, faites pointer l’URL canonique vers elle-même, rendez-la indexable, reliez-la depuis les pages centrales pertinentes et incluez-la dans le sitemap. Pour les filtres ordinaires, appliquez uniformément la politique canonical et robots choisie et évitez les liens explorables vers des combinaisons illimitées.
Un blocage dans robots.txt empêche l’exploration et peut empêcher les robots de voir une directive canonical ou noindex sur la page bloquée. Choisissez le contrôle selon l’objectif réel. Les règles robots ne nettoient pas un générateur d’URL qui continue de produire une infinité de liens.
Gérer la pagination et le tri
Donnez aux résultats de catégories paginés des URL stables et des liens classiques pour que les utilisateurs et robots atteignent les produits plus loin. Ne faites pas pointer toutes les URL canoniques vers la première page si chacune contient des liens produit différents. Le tri change généralement l’ordre plutôt que la ressource et ne doit normalement pas créer de page d’entrée distincte.
Gardez la pagination stable lors des changements de filtres. Revenez à la première page après un nouveau filtre, rejetez les pages hors limites avec un statut pertinent et assurez-vous que l’URL canonique représente l’état normalisé réellement rendu.
Mesurer l’exploration et le coût serveur
Consultez les journaux de requêtes pour repérer les paramètres inattendus, combinaisons vides répétées, paginations profondes et charges de base causées par les robots. Comparez les URL du sitemap aux URL indexées et découvertes. Un écart croissant révèle souvent une découverte involontaire ou des pages d’entrée trop faibles.
Mettez en cache les catégories et pages d’entrée approuvées avec des tags ciblés, mais limitez les requêtes de filtres arbitraires pour protéger la base. Les journaux d’exécution Adios relient le comportement des requêtes à la version qui les sert, aidant l’équipe à associer un pic d’exploration au changement de routage ou de liens qui l’a produit.
Tester la politique avant la promotion
Construisez un tableau d’URL normales, équivalentes, approuvées, vides, invalides, triées, paginées et hors limites. Vérifiez pour chacune le statut final, la redirection, l’URL canonique, la valeur robots, le H1, les résultats, les liens internes et la présence dans le sitemap. Une politique SEO vague devient ainsi des attentes exécutables.
Déployez la candidate dans un aperçu Adios et exécutez le tableau de tests sur la compilation de production. Consultez les journaux pour repérer une charge de requêtes inattendue et vérifiez le contrôle de santé. Ne promouvez le changement de routage que si le comportement normalisé est correct ; sinon, le domaine personnalisé canonique reste sur la dernière version opérationnelle.