Pagination en SEO

Comment la pagination affecte le budget de crawl et l'indexation, quand utiliser noindex ou canonical, avec des exemples de code en HTML, en PHP et pour le sitemap.

Pagination découpe les grandes listes de contenus en pages distinctes, chacune avec une URL unique : /catalog/page/2, /catalog/page/3. Le principe est simple, mais la pagination compte parmi les principaux facteurs de gaspillage du budget de crawl sur les gros sites. Googlebot explore des centaines de pages génériques au lieu des fiches produits, et une partie du catalogue n'entre jamais dans l'index.

Qu'est-ce que la pagination

La pagination répartit un grand volume de contenus (produits, articles, avis) sur des pages successives, chacune avec une URL unique. Formats courants : /catalog/?page=2, /catalog/page/2/, /catalog/2/. Les moteurs de recherche traitent chaque URL comme un document distinct.

Googlebot explore les pages de pagination les unes après les autres. Sur les grands catalogues, les pages profondes reçoivent moins de crawls : les nouveaux produits sont indexés avec des délais importants.

Trois formats de pagination se comportent très différemment du point de vue du SEO :

Format 1Pages numérotées

Boutons « 1 2 3 ... 100 », chaque page ayant une URL unique. Contrôle SEO souple : noindex, canonical ou indexation complète.

Format 2Défilement infini

Le contenu se charge au défilement, sans changement d'URL. Sans rendu JavaScript, Googlebot ne voit que le premier écran. Un repli en HTML est nécessaire.

Format 3Bouton « Charger plus »

L'URL ne change pas, le contenu s'ajoute au clic. Même problème de crawl : sans rendu JS, Googlebot ne voit que le contenu initial.

Budget de crawl et contenu dupliqué

Une boutique de 500 produits, affichant 20 produits par page, génère 25 URL de pagination par catégorie. Avec 50 catégories, cela fait 1 250 URL que Googlebot doit crawler avant d'atteindre les fiches produits.

Cas réel. Boutique d'électronique, 8 000 SKU. Pagination sans noindex : plus de 400 URL de catégories. Les nouveaux produits mettaient 3 à 4 semaines à être indexés. Après l'ajout de noindex, follow sur les pages 2 et suivantes, le délai d'indexation est tombé à 3 à 5 jours.

La pagination pose trois problèmes SEO précis :

  • Contenu dupliqué. Le Title et la description d'une même catégorie sont identiques sur /page/1 et /page/15. Le titre de section se répète. Google voit des pages similaires et ne sait pas laquelle positionner dans les résultats.
  • Dilution du PageRank. Les liens internes se répartissent entre des dizaines d'URL de pagination. Les produits situés en page 10 et au-delà reçoivent très peu d'autorité interne.
  • Gaspillage du budget de crawl. Sur les sites petits et moyens, Googlebot dépense son budget de crawl sur des pages de listing génériques, au lieu du contenu prioritaire.

Comparaison des formats de pagination

FormatCrawlabilitéDoublonsSolution SEO
Pages numérotéesCrawl complet de toutes les URLOui (Title/Description)noindex / canonical / indexation complète
Défilement infiniPremier écran uniquement (sans JS)Non (URL unique)Repli HTML + rendu
« Charger plus »Contenu visible uniquementNon (URL unique)SSR ou rendu JavaScript

Stratégies de configuration SEO

Le choix de la stratégie tient à une seule question : les pages 2 et suivantes ont-elles une valeur de recherche propre ? Si personne n'arrive jamais sur /catalog/page/7 depuis la recherche organique, il est inutile de dépenser du budget de crawl dessus.

Choix de la stratégie : les blogs ferment la pagination avec noindex ; les grands e-commerces l'indexent entièrement avec des balises meta uniques ; les catalogues de taille moyenne utilisent un canonical pointant vers la page 1.

Stratégie 1 – noindex sur les pages 2 et suivantes. Idéale pour les blogs, les sites d'actualité et les sites de contenu. Les pages de pagination n'ont pas de valeur de recherche propre : noindex, follow les retire de l'index tout en conservant le suivi des liens. Le budget de crawl est alors consacré au contenu réel.

Stratégie 2 – rel=canonical vers la page 1. Plus souple que noindex : les pages 2 et suivantes restent accessibles (liens directs, publicité), mais leur canonical pointe vers /page/1. Google considère la série comme une seule section, avec la page 1 comme version canonique.

Stratégie 3 – indexation complète. Pour les grands e-commerces où chaque page de pagination contient des produits uniques à indexer. Elle exige un Title et une description uniques pour chaque page, par exemple « Acheter des ordinateurs portables – Page 3 », ainsi qu'un canonical auto-référent sur chaque page.

Test rapide : ouvrez la GSC → Performance et filtrez les URL sur /page/. Si les pages de pagination génèrent du trafic organique, réfléchissez-y à deux fois avant d'appliquer noindex.

Mises en œuvre techniques

La plupart des tâches ne demandent que trois éléments du <head> : <meta name="robots">, <link rel="canonical"> et les entrées du sitemap. Voici un exemple de code pour chacun.

rel=next/prev : attribut obsolète

Avant 2019, Google prenait en charge rel="next" et rel="prev" pour identifier les séries de pagination. En mars 2019, Google a annoncé qu'il ne les utilisait plus. Les ajouter pour Google ne sert donc à rien. Bing les prend formellement en charge, mais sa part de marché est marginale dans la plupart des pays.

Source : blog officiel de Google Search Central, mars 2019, « An update on rel-prev-next ». Google y écrit qu'il les utilisait « comme un indice », et que leur abandon « n'affecte pas l'indexation ».

noindex pour les pages de pagination

À ajouter dans le <head> des pages 2 et suivantes. Point clé : utilisez noindex, follow, et non noindex, nofollow. Avec nofollow, Googlebot ne suit pas les liens des pages de pagination et n'indexe pas les produits ou articles vers lesquels elles renvoient.

html
<!-- Page /catalog/page/2/ and above -->
<head>
  <meta name="robots" content="noindex, follow">
</head>

<!-- Page /catalog/ (first page) — no noindex -->
<head>
  <meta name="robots" content="index, follow">
</head>

Dans WordPress, on le met en place via un hook wp_head qui vérifie is_paged() :

php
// functions.php
add_action('wp_head', function() {
    if (is_paged()) {
        echo '<meta name="robots" content="noindex, follow">' . "\n";
    }
});

rel=canonical vers la page 1

Lorsque les pages 2 et suivantes doivent rester accessibles sans dupliquer la section, le canonical pointe vers la première page. La page 1 reçoit un canonical auto-référent.

html
<!-- /catalog/page/3/ -->
<head>
  <link rel="canonical" href="https://example.com/catalog/">
</head>

<!-- /catalog/ — self-canonical (required) -->
<head>
  <link rel="canonical" href="https://example.com/catalog/">
</head>
Canonical et noindex répondent à des objectifs différents. Ne les utilisez que s'ils correspondent à la politique de pagination visible par les utilisateurs, puis vérifiez que Google peut encore découvrir les contenus que vous voulez exposer. Aucun des deux ne remplace une réflexion sur les URL et le maillage.

Pagination dans sitemap.xml

Règle : n'incluez dans sitemap.xml que les pages que vous voulez voir indexées. Les pages en noindex présentes dans le sitemap créent des signaux contradictoires et gaspillent le budget de crawl.

xml
<!-- sitemap.xml — indexable pages only -->
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">

  <!-- Page 1 — always include -->
  <url>
    <loc>https://example.com/catalog/</loc>
    <changefreq>daily</changefreq>
    <priority>0.8</priority>
  </url>

  <!-- Pages 2+ — only with full indexing strategy -->
  <url>
    <loc>https://example.com/catalog/page/2/</loc>
    <changefreq>weekly</changefreq>
    <priority>0.4</priority>
  </url>

</urlset>

Erreurs courantes de pagination

La plupart des erreurs viennent d'une mise en œuvre négligée, et non d'une mauvaise compréhension du concept. Les générateurs de sitemap des CMS et les modèles de balises meta ne prennent souvent pas la pagination en compte :

noindex sur la page 1

La condition if page > 1 est mal écrite : la page principale de la catégorie reçoit elle aussi noindex. Le trafic de la section tombe à zéro en quelques semaines.

Erreur 1
Pages en noindex présentes dans le sitemap

Le générateur de sitemap ajoute automatiquement toutes les URL. Google reçoit des signaux contradictoires : le sitemap dit « indexe-la », la meta robots dit « non ». Le budget de crawl est gaspillé à résoudre ce conflit.

Erreur 2
Canonical vers une URL inexistante

La page 1 se trouve sur /catalog/, mais les canonical des pages 2 et suivantes pointent vers /catalog/page/1/, qui renvoie une erreur 404. Google obtient une chaîne de canonical cassée.

Erreur 3
Défilement infini sans repli HTML

Toute la pagination repose sur JavaScript, sans URL statiques. Googlebot ne voit que les N premiers éléments, et le reste du catalogue n'est jamais indexé.

Erreur 4
Title identique sur toutes les pages de pagination

Avec une indexation complète, toutes les pages partagent une seule balise Title. Google voit du contenu dupliqué et réduit la pertinence de la section. Chaque page doit avoir sa balise meta unique, avec le numéro de page.

Erreur 5

La plupart de ces erreurs apparaissent dans Google Search Console → Couverture : les pages en noindex, les URL exclues et les conflits de canonical y sont visibles immédiatement.

Faut-il exclure les pages de pagination de l'indexation ?
Cela dépend du type de site. Pour les blogs et les sites de contenu, oui : les pages 2 et suivantes n'ont pas de valeur de recherche propre et consomment du budget de crawl. Pour un grand e-commerce, non : chaque page contient des produits uniques qui doivent être indexés.
Google prend-il en charge rel=next/prev ?
Non. Depuis mars 2019, Google a officiellement cessé de traiter rel=next et rel=prev. Bing les prend formellement en charge, mais pour Google, ces attributs n'ont aucun effet sur l'indexation.
Canonical ou noindex : qu'est-ce qui est le plus fiable pour la pagination ?
Choisissez la directive selon la finalité de la page, et non en comptant sur une garantie. Les pages paginées qui contiennent des produits utiles et distincts peuvent avoir besoin de liens séquentiels explorables ; les variantes filtrées ou dupliquées nécessitent souvent un canonical distinct ou une politique d'indexation propre.
Comment le défilement infini affecte-t-il le SEO ?
Négativement en l'absence de repli HTML. Sans rendu JavaScript, Googlebot ne voit que le contenu du premier écran. Solutions : mettre en place des URL statiques pour chaque lot de contenus, ou utiliser le rendu côté serveur (SSR).
Les pages de pagination doivent-elles figurer dans le sitemap ?
Seulement si elles sont ouvertes à l'indexation. Les pages en noindex présentes dans le sitemap créent des signaux contradictoires et gaspillent le budget de crawl. Ne mettez dans le sitemap que les URL que vous voulez voir apparaître dans l'index.

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it