Mercredi 12 février 2014

https://www.example.com/category.php?category=gummy-candies&price=5-10&price=over-10La navigation à facettes, comme le filtrage par couleur ou par fourchette de prix, peut être utile pour vos visiteurs,
mais elle n’est souvent pas adaptée aux moteurs de recherche car elle crée de nombreuses combinaisons d’URL avec du
contenu dupliqué. Avec
des URL dupliquées, les moteurs de recherche peuvent ne pas crawler de contenu unique nouveau ou mis à jour aussi rapidement, et/ou
ils peuvent ne pas indexer une page avec précision car les signaux d’indexation sont dilués entre les versions dupliquées. Pour réduire ces problèmes et aider les sites de navigation à facettes à devenir aussi adaptés que possible aux moteurs de recherche, nous souhaitons :
- Fournir un contexte et les problèmes potentiels liés à la navigation à facettes
- Mettre en avant les pires pratiques
Partager les meilleures pratiques
Contexte
Dans un état idéal, un contenu unique — qu’il s’agisse d’un produit/article individuel ou d’une catégorie de
produits/articles — n’aurait qu’une seule URL accessible. Cette URL aurait un chemin de clic clair, ou un itinéraire vers le contenu depuis le site, accessible en cliquant depuis la page d’accueil ou une
page de catégorie.
Idéal pour les internautes et la recherche Google
Chemin clair menant à toutes les pages de produits/articles individuels

Une URL représentative pour la page de catégorie
https://www.example.com/category.php?category=gummy-candies
Une URL représentative pour la page de produit individuel
https://www.example.com/product.php?item=swedish-fish
Duplication indésirable causée par la navigation à facettes
Nombreuses URL pour le même article/produit
Canonique :
example.com/product.php?item=swedish-fish
Dupliqué :
example.com/product.php?item=swedish-fish&category=gummy-candies&price=5-10
La même page produit pour les bonbons gélifiés suédois peut être disponible sur plusieurs URL.
Nombreuses pages de catégorie qui n’apportent que peu ou pas de valeur aux internautes et aux moteurs de recherche), comme
indiqué dans le tableau suivant :URL example.com/category.php?category=gummy-candies&taste=sour&price=5-10example.com/category.php?category=gummy-candies&taste=sour&price=over-10

Problèmes - Aucune valeur ajoutée pour les internautes de Google étant donné que les utilisateurs recherchent rarement “bonbons gélifiés acides
prix de cinq à dix dollars”. - Aucune valeur ajoutée pour les crawlers des moteurs de recherche qui découvrent le même élément (“salade de fruits”)
à partir des pages de catégories parentes (soit “bonbons gélifiés” ou “bonbons gélifiés acides”). - Valeur négative pour le propriétaire du site dont les signaux d’indexation peuvent être dilués entre de nombreuses
versions de la même catégorie. - Valeur négative pour le propriétaire du site en termes d’utilisation de la bande passante et de perte de capacité
de crawl au profit de contenu dupliqué plutôt que de pages nouvelles ou mises à jour.
- Aucune valeur pour les moteurs de recherche (devrait avoir
code de réponse 404). - Valeur négative pour les internautes.
- Aucune valeur ajoutée pour les internautes de Google étant donné que les utilisateurs recherchent rarement “bonbons gélifiés acides
Pires pratiques (non adaptées aux moteurs de recherche) pour la navigation à facettes
Pire pratique n° 1 : Encodage d’URL non standard pour les paramètres, tels que les virgules ou les crochets, au lieu de
key=value& paires.
Pires pratiques :
- Paires clé-valeur marquées avec
:au lieu de=. - Paramètres multiples ajoutés avec
[ ]au lieu de&.
- Paires clé-valeur marquées avec un
,au lieu de=. - Paramètres multiples ajoutés avec
,,au lieu de&.
Bonne pratique :
Bien que les humains puissent être capables de décoder des paramètres d’URL étranges, tels que ,,, les crawlers ont du mal à interpréter les paramètres d’URL lorsqu’ils sont implémentés de manière non standard. Mehmet Aktuna, ingénieur logiciel au sein de l’équipe Crawling de Google, déclare : “Utiliser un encodage non standard, c’est chercher les ennuis.” À la place, connectez les paires clé-valeur avec un signe égal (=) et ajoutez plusieurs paramètres avec une esperluette (&).
Pire pratique n° 2 : Utiliser des répertoires ou des chemins de fichiers au lieu de paramètres pour lister des valeurs qui ne modifient pas le contenu de la page.
Pire pratique :
Où /c123/ est une catégorie, /s789/ est un
ID de session qui ne
modifie pas le contenu de la page :
Bonne pratique :
Le répertoire, /gummy-candy/, modifie le contenu de la page de manière significative :
Bonne pratique :
Les paramètres d’URL offrent plus de flexibilité aux moteurs de recherche pour déterminer comment crawler efficacement.
Il est difficile pour les programmes automatisés, tels que les crawlers des moteurs de recherche, de différencier les valeurs utiles (par exemple, gummy-candy) des valeurs inutiles (par exemple,
sessionID) lorsque les valeurs sont placées directement dans le chemin. D’un autre côté, les paramètres d’URL offrent aux moteurs de recherche la flexibilité de tester rapidement et de déterminer quand une valeur donnée ne nécessite pas que le robot d’exploration accède à toutes les variations.
Les valeurs courantes qui ne modifient pas le contenu de la page et qui doivent être répertoriées comme paramètres d’URL incluent :
- ID de session
- ID de suivi
- ID de référent
- Horodatage
Pire pratique n° 3 : Convertir des valeurs générées par l’utilisateurs en paramètres d’URL (potentiellement infinis) qui peuvent être explorés et indexés, mais qui ne sont pas utiles dans les résultats de recherche.
Pires pratiques :
Par exemple, des valeurs générées par l’utilisateur telles que la longitude/latitude ou “il y a X jours” en tant qu’URL explorables et indexables :
Meilleures pratiques :
Plutôt que de permettre aux valeurs générées par l’utilisateur de créer des URL explorables — ce qui conduit à des possibilités infinies avec très peu de valeur pour les internautes —, publiez plutôt des pages de catégorie pour les valeurs les plus populaires, puis incluez des informations supplémentaires afin que la page offre plus de valeur qu’une page de résultats de recherche ordinaire. Vous pouvez également envisager de placer les valeurs générées par l’utilisateur dans un répertoire distinct, puis d’interdire l’exploration de ce répertoire via robots.txt.
avec robots.txt :
Pire pratique n° 4 : Ajouter des paramètres d’URL sans logique.
Pires pratiques :
Meilleure pratique :
Meilleure pratique :
Les paramètres d’URL superflus ne font qu’accroître la duplication, ce qui entraîne une exploration et une indexation moins efficaces. Par conséquent, envisagez de supprimer les paramètres d’URL inutiles et d’effectuer la “maintenance interne” de votre site avant de générer l’URL. Si de nombreux paramètres sont requis pour la session utilisateur, masquez peut-être les informations dans un cookie plutôt que d’ajouter continuellement des valeurs telles que :
Pire pratique n° 5 : Proposer un affinage supplémentaire (filtrage) lorsqu’il y a zéro résultat.
Pire pratique :
Permettre aux utilisateurs de sélectionner des filtres lorsqu’aucun élément n’existe pour l’affinage.

Meilleure pratique :
Ne créez des liens/URL que lorsqu’il s’agit d’une sélection utilisateur valide (des éléments existent). S’il y a zéro élément, grisez les options de filtrage. Pour améliorer encore l’ergonomie, envisagez d’ajouter le nombre d’éléments à côté de chaque filtre.

Évitez les URL inutiles et réduisez l’espace d’exploration en ne créant des URL que lorsque des produits existent. Cela aide les utilisateurs à rester engagés sur votre site (moins de clics sur le bouton retour lorsqu’aucun produit n’existe) et aide à minimiser les URL potentielles connues des robots d’exploration. De plus, si une page n’est pas seulement temporairement en rupture de stock, mais qu’il est peu probable qu’elle contienne un jour du contenu utile, envisagez de renvoyer un
404 code d’état.
Avec la 404 réponse, vous pouvez inclure un message utile aux utilisateurs avec plus d’options de navigation ou une boîte de recherche pour trouver des produits associés.
Meilleures pratiques pour les nouvelles implémentations de navigation à facettes ou les refontes
Les nouveaux sites qui envisagent de mettre en œuvre une navigation à facettes disposent de plusieurs options pour optimiser “l’espace d’exploration” (l’ensemble des URL de votre site connues de Googlebot) pour les pages de contenu uniques, réduire l’exploration des pages en double et consolider les signaux d’indexation.
- Déterminez les paramètres d’URL requis pour que les moteurs de recherche explorent chaque page de contenu individuelle (par exemple, déterminez les paramètres requis pour créer au moins un chemin de clics vers chaque élément). Les paramètres requis peuvent inclure
item-id,category-id,
page, et d’autres. Déterminez les paramètres qui seraient précieux pour les internautes et leurs requêtes, et ceux qui ne causeraient probablement qu’une duplication avec une exploration ou une indexation inutile. Dans l’exemple du magasin de bonbons, je peux trouver le paramètre d’URL
tasteprécieux pour les internautes pour des requêtes telles que “bonbons gélifiés acidulés” qui pourrait afficher le résultat
example.com/category.php?category=gummy-candies&taste=sour. Cependant, je peux considérer le paramètrepricecomme ne causant que de la duplication, tel que
category=gummy-candies&taste=sour&price=over-10. Autres exemples courants :- Paramètres précieux pour les internautes:
item-id,category-id,
name,brand, et d’autres. - Paramètres inutiles:
session-id,price-range, et ainsi de suite.
- Paramètres précieux pour les internautes:
Envisagez d’implémenter l’une des différentes options de configuration pour les URL contenant des paramètres inutiles. Assurez-vous simplement que les paramètres d’URL inutiles ne sont jamais requis dans le chemin de clic d’un robot d’exploration ou d’un utilisateur pour atteindre chaque produit individuel !
Option 1:
rel="nofollow"liens internesFaites de toutes les URL inutiles des liens avec
rel="nofollow".
Cette option minimise la découverte par le robot d’exploration des URL inutiles et réduit par conséquent l’espace d’exploration potentiellement explosif (URL connues du robot d’exploration) qui peut se produire avec la navigation à facettes.rel="nofollow"n’empêche pas l’exploration des URL inutiles (seul un robots.txtdisallowempêche l’exploration). En leur permettant d’être explorées, vous pouvez cependant consolider les signaux d’indexation des URL inutiles avec une URL précieuse pour l’internaute en ajoutant unrel="canonical"de l’URL inutile vers une URL de sur-ensemble (par exemple
example.com/category.php?category=gummy-candies&taste=sour&price=5-10
peut spécifier unrel="canonical"vers la page de vue globale “bonbons gélifiés acidulés” sur
example.com/category.php?category=gummy-candies&taste=sour&page=all).Option 2: Robots.txt
disallowPour les URL contenant des paramètres superflus, incluez un
/filtering/répertoire qui sera interdit dans robots.txt. Cela permet à tous les moteurs de recherche d’explorer le bon contenu, tout en empêchant l’exploration des URL indésirables. Par exemple, si mes paramètres utiles étaient item, category et taste, et mes paramètres superflus session-id et price, je pourrais avoir l’URL suivante :qui pourrait renvoyer vers un autre paramètre utile tel que taste :
Mais pour les paramètres superflus, tels que price, l’URL inclut un répertoire prédéfini,
/filtering/:qui est ensuite interdit dans robots.txt :
Option 3 : Hôtes distincts
Si vous n’utilisez pas de CDN (les sites utilisant des CDN ne disposent pas facilement de cette flexibilité dans les Outils pour webmasters), envisagez de placer toutes les URL contenant des paramètres superflus sur un hôte distinct — par exemple, en créant un hôte principal
www.example.comet un hôte secondaire,www2.example.com. Sur l’hôte secondaire (www2), définissez la
Fréquence d’exploration dans les Outils pour webmasters sur « faible » tout en maintenant la fréquence d’exploration de l’hôte principal aussi élevée que possible. Cela permettra une exploration plus complète des URL de l’hôte principal et réduira l’attention de Googlebot sur vos URL superflues.- Assurez-vous qu’il reste au moins un chemin de clics vers tous les éléments de l’hôte principal.
- Si vous souhaitez consolider les signaux d’indexation, envisagez d’ajouter
rel="canonical"depuis l’hôte secondaire vers une URL de sur-ensemble sur l’hôte principal (par exemple,
www2.example.com/category.php?category=gummy-candies&taste=sour&price=5-10
peut spécifier unrel="canonical"vers la page de vue d’ensemble du sur-ensemble « bonbons gélifiés acidulés »,
www.example.com/category.php?category=gummy-candies&taste=sour&page=all).
- Empêchez les liens cliquables lorsqu’aucun produit n’existe pour la catégorie ou le filtre.
Ajoutez de la logique à l’affichage des paramètres d’URL.
Supprimez les paramètres superflus plutôt que d’ajouter des valeurs en continu. Évitez :
Améliorez l’expérience de l’internaute en maintenant un ordre de paramètres cohérent, les paramètres utiles pour l’internaute étant listés en premier (car l’URL peut être visible dans les résultats de recherche) et les paramètres non pertinents pour l’internaute en dernier (par exemple, l’ID de session). Évitez :
- Améliorez l’indexation des pages de contenu individuelles avec
rel="canonical"
vers la version privilégiée d’une page.rel="canonical"peut être utilisé sur plusieurs noms d’hôtes ou domaines. Améliorez l’indexation du contenu paginé (tel que
page=1etpage=2de la catégorie « bonbons gélifiés ») en :- Ajoutant
rel="canonical"depuis les pages de composants individuels de la série vers la page « tout afficher » de la catégorie (par exemple,page=1,page=2, et
page=3de « bonbons gélifiés » avecrel="canonical"vers
category=gummy-candies&page=all), tout en veillant à ce que l’expérience utilisateur reste bonne (par exemple, chargement rapide de la page). - Utilisant
le balisage de pagination avecrel="next"etrel="prev"
pour consolider les propriétés d’indexation, telles que les liens, des pages/URL de composants vers l’ensemble de la série.
- Ajoutant
- Assurez-vous que, si vous utilisez JavaScript pour trier/filtrer/masquer dynamiquement du contenu sans mettre à jour l’URL, il existe toujours sur votre site des URL que les internautes trouveront utiles, telles que les pages de catégories principales et de produits qui peuvent être explorées et indexées. Par exemple, évitez d’utiliser uniquement la page d’accueil (ou une seule URL) pour l’ensemble de votre site avec JavaScript pour modifier dynamiquement le contenu lors de la navigation de l’utilisateur — cela fournirait malheureusement aux internautes une seule URL pour accéder à l’ensemble de votre contenu. Vérifiez également que les performances ne sont pas affectées négativement par le filtrage dynamique, car cela pourrait nuire à l’expérience utilisateur.
- N’incluez que des URL canoniques dans les sitemaps.
Bonnes pratiques pour les sites existants dotés d’une navigation à facettes
Tout d’abord, sachez que les bonnes pratiques listées ci-dessus (par exemple, rel="nofollow" pour les URL superflues) s’appliquent toujours si/quand vous êtes en mesure de mettre en œuvre une refonte plus importante. Sinon, avec une navigation à facettes existante, il est probable qu’un grand espace d’exploration ait déjà été découvert par les moteurs de recherche. Par conséquent, concentrez-vous sur la réduction de la croissance future des pages superflues explorées par Googlebot et sur la consolidation des signaux d’indexation.
- Utilisez des paramètres (si possible) avec un encodage standard et des paires clé-valeur.
- Vérifiez que les valeurs qui ne modifient pas le contenu de la page, telles que les ID de session, sont implémentées en tant que paires clé-valeur standard et non sous forme de répertoires.
- Empêchez les ancres cliquables lorsqu’aucun produit n’existe pour la catégorie/le filtre. N’autorisez pas les clics ou la création d’URL lorsqu’aucun élément n’existe pour le filtre.
Ajoutez de la logique à l’affichage des paramètres d’URL. Supprimez les paramètres superflus plutôt que d’ajouter des valeurs en continu. Par exemple, évitez :
Améliorez l’expérience de l’internaute en maintenant un ordre de paramètres cohérent, les paramètres utiles pour l’internaute étant listés en premier (car l’URL peut être visible dans les résultats de recherche) et les paramètres non pertinents pour l’internaute en dernier. Par exemple, évitez :
au profit de :
Configurez
Paramètres d’URL des Outils pour webmasters
si vous comprenez parfaitement le comportement des paramètres d’URL sur votre site (assurez-vous qu’il existe toujours un chemin de clics clair vers chaque article/élément individuel). Par exemple, avec les paramètres d’URL dans les Outils pour webmasters, vous pouvez lister le nom du paramètre, l’effet du paramètre sur le contenu de la page et la manière dont vous souhaitez que Googlebot explore les URL contenant ce paramètre. Le tableau suivant montre comment différents paramètres affectent les paramètres :Nom du paramètre Effet sur le contenu ? Que doit explorer Googlebot ? trackingIdNone Une URL représentative SortOrderTri Uniquement les URLs avec la valeur = ‘LowToHigh’ SortByTri Uniquement les URLs avec la valeur = ‘Price’ FilterByColorRestreint Aucune URL itemIdSpécifie Chaque URL pagePagine Chaque URL - Assurez-vous que si vous utilisez JavaScript pour trier, filtrer et masquer du contenu de manière dynamique sans mettre à jour l’URL, il existe toujours sur votre site des URLs que les internautes trouveront utiles, telles que les pages de catégories principales et de produits qui peuvent être explorées et indexées. Par exemple, évitez d’utiliser uniquement la page d’accueil (ou une seule URL) pour l’ensemble de votre site avec JavaScript pour changer dynamiquement le contenu selon la navigation de l’utilisateur — cela fournirait malheureusement aux internautes une seule URL pour accéder à l’ensemble de votre contenu. Vérifiez également que les performances ne sont pas négativement affectées par le filtrage dynamique, car cela pourrait nuire à l’expérience utilisateur.
- Améliorez l’indexation des pages de contenu individuelles avec
rel="canonical"
vers la version préférée d’une page.rel="canonical"peut être utilisé sur plusieurs noms d’hôtes ou domaines. Améliorez l’indexation du contenu paginé (tel que
page=1etpage=2de la catégorie “gummy candies”) en effectuant l’une des actions suivantes :- Ajout de
rel="canonical"des pages de composants individuels de la série vers la page “tout afficher” de la catégorie (par exemple,page=1,page=2, et
page=3de “gummy candies” avecrel="canonical"vers
category=gummy-candies&page=all) tout en veillant à ce que l’expérience utilisateur reste de qualité (par exemple, la page se charge rapidement). - Utilisation du balisage de pagination avec
rel="next"etrel="prev"
pour consolider les propriétés d’indexation, telles que les liens, des pages/URLs de composants vers l’ensemble de la série.
- Ajout de
- Incluez uniquement les URLs canoniques dans les sitemaps.
N’oubliez pas que, de manière générale, plus c’est simple, mieux c’est. Des questions ? Veuillez les poser dans notre
Webmaster discussion forum.
Comment nous l'appliquons
Google announcements age. We keep this post here for the record, and we note for clients whether the behaviour it describes still applies today or has since been superseded.
Services associés