Table des matières
- En quoi consiste la pagination ?
- Solution 1. Supprimez la pagination de l’indexation à l’aide de noindex
- Solution 2. “View all” and rel=”canonical”
- Solution 3. Rel=”prev”/”next”
- Solution 4. Défilement AJAX et Javascript
Qu’est-ce que la pagination ?
La pagination est la numérotation ordinale des pages, que l’on trouve d’habitude en haut ou en bas des pages d’un site.
Dans la plupart des cas, elle est utilisée pour les pages principales et les sous-parties. Elle ressemble parfois à cela :
Regardons quelques-uns des problèmes susceptibles de survenir avec la pagination, si vous n’êtes pas attentifs à certains aspects :
Limitation des visites de moteurs de recherche de votre site
Lorsque les robots des moteurs de recherche parcourent votre site, la profondeur et le nombre de pages qu’ils visiteront à chaque fois va varier d’après la confiance qu’ils accordent à votre site, des mises à jour de son contenu, etc. Si vous avez un très grand nombre de pages paginées, la probabilité que le moteur de recherche parcoure la totalité de celles paginées et indexe la totalité de leurs liens est significativement réduite. La limite sera consommée pour visiter des pages paginées en lieu de celles importantes de votre site Web.
Problèmes avec les contenus dupliqués
Selon la structure de vos pages paginées, il est possible que certaines d’entre elles contiennent des contenus similaires voire identiques. Il ne faut pas oublier que les balises de titre et de méta description seront parfois identiques. Dans ce cas, les contenus dupliqués peuvent poser problème aux moteurs de recherche lorsqu’ils déterminent les pages les plus pertinentes pour une recherche.
Les spécialistes du référencement ont déjà développé 4 manières de résoudre ce problème.
Solution 1. Supprimer la pagination de l’indexation grâce à « noindex »
Dans la plupart des cas, cette méthode est une priorité qui peut être implémentée rapidement. Le principal objectif est l’exclusion de toutes les pages paginées de l’indexation, à l’exception de la première.
Elle s’implémente de la manière suivante :
La balise meta
<meta name="robots" content="noindex, follow" />
est ajoutée à la section HEAD sur toutes les pages sauf la première. Nous excluons toutes les pages paginées de l’indexation, sauf la première tout en nous assurant que tous les pages ou produits appartenant à ce catalogue seront indexés. Faites bien attention aux détails suivants :
- Si vous insérez le texte de description de la page principale du catalogue, il est préférable de ne l’insérer que sur celle première.
- Vous devriez vérifier que l’URL de la première ne soit pas dupliquée. Lorsque la pagination est implémentée de la manière suivante :
site.com/catalogue?page=2
site.com/catalogue?page=3
…
site.com/catalogue?page=N
vous devriez ajouter un lien vers la première page, au cas où vous ne seriez pas là
site.com/catalogue
et à partir de là
site.com/catalogue?page=1
une redirection 301 vers site.com/catalogue est à être configurée.
Avantages
- convient à Yandex.
- solution la moins difficile.
- idéal pour exclure toutes les pages paginées de l’indexation, s’il n’y a aucune raison de les inclure dans l’indexation.
Inconvénients
- cela résolve le problème éventuel de pagination, mais nous excluons le contenu paginé de l’indexation ;
- s’il y a de nombreux produits et que vous n’utilisez pas de sitemap XML, les produits situés au fond du dossier seront indexés pour très longtemps.
Solution 2. “View all” et rel=”canonical”
Cette méthode nécessite l’utilisation de Google pour créer une page « Afficher tout » distincte, où tous les produits et pages du catalogue sont affichés. Nous plaçons sur toutes les pages paginées un attribut rel=”canonical”. Et nous mentionnons la rubrique «Afficher tous».
Implémentation de cette méthode : après avoir créé une page « Afficher tout » (par exemple, site.com/catalogue/afficher-tout.html), toutes les pages paginées devront contenir la balise suivante dans leur section HEAD:
<link rel="canonical" href="http://site.com/catalog/view-all.html" />
Nous indiquons aux robots des moteurs de recherche que chaque page fait en quelque sorte partie de « Afficher tout ». Google indique que
- c’est la méthode qu’ils préfèrent.
- les utilisateurs ont tendance à consulter la totalité d’une catégorie sur une page d’un seul coup (toutefois cet argument est controversé et dépend de la situation).
Nuances
« Afficher tout » devrait se charger relativement rapidement. De préférence en 1 à 3 secondes. Cette méthode est idéale pour une catégorie dont le nombre de pages paginées est comprise entre 5 et 20 et ne convient pas aux répertoires contenant des centaines de pages paginées.
Avantages
- méthode suggérée par Google.
- tous les contenus de la pagination seront localisés lors de l’indexation de la page de recherche grâce à la rubrique « Afficher tout ».
Inconvénients
- ne convient pas s’il y a trop de pages ou beaucoup d’images en haute définition sur les produits ou articles.
- une implémentation complexe sur la plupart des CMS les plus répandus.
Solution 3. Rel=”prev”/”next”
Notre dernière option pour résoudre la problématique de pagination est la plus complexe, mais également la méthode dont le cadre d’utilisation est le plus large avec Google (Yandex ne prend pas en compte ces directives). Étant donné que l’implémentation est compliquée, vous devrez vous montrer extrêmement attentif lors de la mise en place de cette méthode. Voici comment elle fonctionne.
Par exemple, si vous avez 4 pages dans votre dossier. L’utilisation de rel=”prev”/”next” vous permet de créer une chaîne entre elles. Cette chaîne commence sur la première page, pour laquelle vous ajoutez la section HEAD ci-dessous :
<link rel="next" href="http://site.com/page2.html">
Pour elle, c’est le seul attribut. La deuxième page doit quant à elle spécifier en même temps la page précédente et celle suivante :
<link rel="prev" href="http://site.com/page1.html">
<link rel="next" href="http://site.com/page3.html">
Il en va de même pour la troisième page :
<link rel="prev" href="http://site.com/page2.html">
<link rel="next" href="http://site.com/page4.html">
Enfin, sur la quatrième et dernière page, nous n’avons besoin de mentionner que celle précédente de la chaîne :
<link rel="prev" href="http://site.com/page3.html">
Grâce à l’utilisation de ces attributs rel=”prev”/”next”, Google fusionne les données des pages en un seul élément de son index. Pour les utilisateurs, il s’agira de la première page puisqu’elle est la plus pertinente.
Nuances
- rel=”prev” et rel=”next” sont des attributs secondaires pour Google et non des directives.
- les URL relatives et absolues peuvent toutes deux être utilisées comme valeurs (à partir du moment où elles sont valables).
- si vous indiquez une référence dans le document, les chemins relatifs seront déterminés à partir de l’URL de base.
- si Google détecte des erreurs dans vos balises (par exemple, si la valeur de l’attribut rel=”prev” ou rel=”next” est absente), l’indexation et la découverte des contenus sera réalisée prenant en compte l’algorithme heuristique classique de Google.
- vérifiez que l’URL de la première page n’est pas dupliquée.
Avantages
- cette méthode vous permet de résoudre la problématique de pagination sans utiliser « Afficher tout » ;
- l’implémentation n’implique que quelques changements mineurs du code HTML.
Inconvénients
- ces attributs ne sont pas pris en compte par Yandex.
- l’implémentation peut devenir complexe
- l’insertion de liens pour créer des chaînes de pages doit être effectuée très attentivement.
Solution 4. Défilement AJAX and Javascript
Vous avez déjà rencontré des défilements sans fin de produits sur des sites de commerce électronique, où des produits sont téléchargés en continu lorsque vous défilez vers le bas de l’écran. Il s’agit d’une excellente manière d’améliorer l’ergonomie de votre site, mais vous devez utiliser cette méthode consciencieusement. Il est préférable que les produits ne soient pas automatiquement chargés lors du défilement. Ajoutez plutôt un bouton « Afficher davantage de produits » sous les derniers produits. Wikimart.ru présente une bonne implémentation de cette méthode en bas des pages de recherche de produits.
Utilisation correcte des paramètres
Lorsque vous utilisez les attributs rel=”prev”/”next”, les pages paginées peuvent contenir des paramètres qui ne modifient pas le contenu :
- variables de session ;
- ordre de tri ;
- nombre d’éléments par page.
Dans ce cas de figure, le contenu est dupliqué. Pour résoudre ce problème, vous pouvez utiliser en même temps rel=”prev”/”next” et rel=”canonical”.
Pour cela, vous devez tout d’abord vous assurer que toutes les pages paginées contenant rel=”prev”/”next” utilisent le même paramètre. Ensuite, pour chaque URL comportant un paramètre, il est nécessaire de renseigner sa page canonique sans ce paramètre.
Utilisation correcte des filtres et de rel=”prev”/”next”
Regardons un exemple où nous utilisons les paramètres pour lesquels nous pouvons offrir des contenus uniques. Il est important pour nous que ces pages filtrées figurent dans l’indexation. Par exemple, nous avons une catégorie de baskets, et nous souhaitons créer des pages d’atterrissage pour les recherches sur des marques différentes, en utilisant les paramètres contenus dans l’URL.
Dans ce cas
- Vous n’avez pas besoin d’utiliser rel = “canonical” sur la catégorie principale ;
- créez pour chaque marque une chaîne unique basée sur l’attribut rel=”prev”/”next” ;
- précisez un titre, une description et un texte uniques et adaptés pour la description de la catégorie de chaque filtre
Conclusion
Pour conclure voici nos recommendations pour résoudre ce problème de la pagination :
- si vous avec la possibilité technique de créer une page « Afficher tout » (si elle se charge rapidement et n’est pas trop lourde), vous pouvez utiliser cette option puisque Google la recommande et que Yandex comprend également la directive rel=”canonical”;
- dans la plupart des cas, la meilleure solution reste d’associer l’utilisation de l’attribut rel=”next page/prev page” (comprise par Google) à la balise meta robots=”noindex, follow” (comprise par Google et Yandex).