La pagination est essentielle pour structurer un site WordPress contenant de nombreux articles. Au lieu de faire défiler une page interminable, elle découpe le contenu en plusieurs pages, améliorant ainsi l’expérience utilisateur et le référencement naturel. Dans cet article, nous allons explorer en détail comment ajouter un système de pagination sur WordPress, que vous soyez débutant ou développeur.
Table des matières:
Pourquoi la pagination est cruciale pour votre site WordPress ?
Une bonne pagination permet de réduire le temps de chargement, d’éviter une surcharge cognitive et de faciliter la navigation. Pour le SEO, elle aide les moteurs de recherche à explorer et indexer vos contenus plus efficacement. Une pagination mal implémentée peut au contraire nuire à votre classement.
Les différentes méthodes pour ajouter une pagination sur WordPress
Il existe plusieurs approches, allant de l’utilisation de plugins à la modification manuelle du code. Chacune a ses avantages et inconvénients.
1. Utiliser les réglages natifs de WordPress
WordPress intègre une pagination de base. Rendez-vous dans Réglages > Lecture et définissez le nombre maximum d’articles par page. Ensuite, votre thème affichera automatiquement des liens « Page suivante » et « Page précédente ». Cependant, cette méthode offre peu de contrôle sur l’apparence.
2. Ajouter une pagination via un plugin
Les plugins sont la solution la plus simple pour les non-développeurs. Voici les plus populaires :
- WP-PageNavi : très utilisé, il remplace les liens simples par une barre de pagination numérique.
- WP-Paginate : léger et personnalisable.
- Yoast SEO : permet de gérer la pagination au niveau SEO (balises noindex, rel prev/next).
- Paginator : offre des options de style avancées.
Comment faire : Installez le plugin, activez-le, puis configurez les options dans l’onglet dédié. Généralement, il suffit d’activer la pagination sur les archives.
3. Modifier le fichier functions.php ou créer un shortcode
Pour un contrôle total, vous pouvez ajouter du code personnalisé. Exemple de pagination personnalisée :
function custom_pagination($pages = '', $range = 2) {
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '') {
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages) $pages = 1;
}
if(1 != $pages) {
echo "";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "«";
if($paged > 1 && $showitems < $pages) echo "‹";
for ($i=1; $i = $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems )) {
echo ($paged == $i)? "".$i."":"".$i."";
}
}
if ($paged < $pages && $showitems < $pages) echo "›";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "»";
echo "n";
}
}
Placez ce code dans le fichier functions.php de votre thème enfant, puis appelez la fonction custom_pagination() dans vos templates (index.php, archive.php, etc.) à l’endroit où vous souhaitez afficher la pagination.
4. Pagination avec requête WP_Query personnalisée
Si vous utilisez une boucle personnalisée, vous devez gérer la pagination manuellement. Exemple :
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$args = array(
'post_type' => 'post',
'posts_per_page' => 5,
'paged' => $paged
);
$custom_query = new WP_Query($args);
while($custom_query->have_posts()) : $custom_query->the_post();
// affichage
endwhile;
// Pagination
if(function_exists('custom_pagination')) { custom_pagination($custom_query->max_num_pages); }
wp_reset_postdata();
Bonnes pratiques SEO pour la pagination WordPress
Une pagination mal optimisée peut créer du contenu dupliqué ou disperser le PageRank. Voici comment l’éviter :
- Utilisez les balises rel= »prev » et rel= »next » : elles indiquent aux moteurs de recherche la relation entre les pages. Yoast SEO le fait automatiquement.
- Noindex les pages de pagination : si vous avez beaucoup de pages, envisagez de noindex les pages 2, 3, etc., pour concentrer le jus de lien sur la page 1. Attention, cela dépend de votre stratégie.
- Évitez le contenu dupliqué : ne créez pas de pages de pagination avec un contenu identique. Utilisez des extraits uniques si possible.
- Optimisez la vitesse : la pagination réduit le nombre d’éléments par page, améliorant le temps de chargement.
- Soignez l’URL : les URLs doivent être propres, par exemple
/page/2/plutôt que/?page=2.
Personnalisation avancée : pagination Ajax et infinie
Pour une expérience moderne, vous pouvez implémenter une pagination Ajax (chargement sans rechargement de page) ou un défilement infini. Cela nécessite des compétences en JavaScript et PHP. Des plugins comme Ajax Pagination ou Infinite Scroll facilitent la tâche. Attention : le défilement infini peut poser problème pour le SEO si mal configuré (les robots ne voient pas le contenu chargé dynamiquement).
Tableau comparatif des méthodes de pagination
| Méthode | Difficulté | Personnalisation | SEO | Recommandé pour |
|---|---|---|---|---|
| Réglages natifs | Facile | Faible | Moyen | Débutants |
| Plugin (ex: WP-PageNavi) | Facile | Moyenne | Bon | Utilisateurs non techniques |
| Code personnalisé | Avancé | Élevée | Excellent | Développeurs |
| Ajax / Infini | Expert | Élevée | Variable | Sites dynamiques |
Erreurs courantes à éviter
- Oublier la pagination sur les archives personnalisées : si vous créez des types de publication personnalisés, n’oubliez pas d’ajouter la pagination.
- Négliger la pagination mobile : assurez-vous que les boutons sont tactiles et bien espacés.
- Utiliser plusieurs plugins de pagination : cela peut causer des conflits.
- Ignorer les paramètres de lecture : vérifiez que le nombre d’articles par page est cohérent avec votre design.
Checklist pour une pagination réussie
- Définir le nombre d’articles par page dans Réglages > Lecture.
- Choisir une méthode (plugin ou code) adaptée à vos compétences.
- Tester l’affichage sur différents écrans (desktop, tablette, mobile).
- Vérifier les balises rel prev/next (avec un outil comme Screaming Frog).
- Décider si les pages de pagination doivent être noindex.
- Optimiser la vitesse de chargement des pages.
- Ajouter un fil d’Ariane pour aider la navigation.
Questions fréquentes sur la pagination WordPress
Comment ajouter une pagination numérique dans WordPress sans plugin ?
Vous pouvez ajouter une pagination numérique en insérant du code PHP personnalisé dans votre fichier functions.php et en appelant la fonction dans vos templates. L’exemple donné plus haut fonctionne pour la plupart des thèmes.
Quel est le meilleur plugin de pagination pour WordPress ?
WP-PageNavi est le plus populaire et fiable. Pour une option plus moderne, WP-Paginate est également recommandé. Yoast SEO intègre aussi des fonctionnalités de pagination SEO.
La pagination est-elle bonne pour le SEO ?
Oui, si elle est correctement implémentée avec des balises rel prev/next et une gestion des contenus dupliqués. Elle facilite l’indexation et améliore l’expérience utilisateur.
Comment supprimer la pagination sur une page spécifique ?
Vous pouvez utiliser une condition dans votre template : par exemple, if ( !is_page('slug-de-la-page') ) { // afficher la pagination }
Comment personnaliser l’apparence de la pagination avec CSS ?
Les plugins génèrent généralement des classes CSS (ex: .pagination, .page-numbers). Vous pouvez les cibler dans votre feuille de style pour modifier les couleurs, les bordures, les espacements, etc.
Quelle est la différence entre pagination et navigation par page ?
La pagination fait référence à la division du contenu en plusieurs pages numérotées, tandis que la navigation par page est un terme plus général incluant les liens « précédent/suivant » et la pagination numérique.
Recommandations finales pour une pagination efficace
Pour tirer le meilleur parti de la pagination sur WordPress, choisissez une méthode adaptée à votre niveau technique. Les plugins sont parfaits pour les débutants, tandis que le code personnalisé offre une flexibilité maximale. N’oubliez pas d’optimiser le SEO en utilisant les balises rel prev/next et en surveillant les performances. Testez toujours sur différents appareils et navigateurs. Avec ces conseils, vous pourrez ajouter un système de pagination sur WordPress qui améliorera à la fois l’expérience utilisateur et le référencement de votre site.

Merci pour ce guide très complet. J’ai essayé WP-PageNavi mais la pagination ne s’affiche pas sur ma page d’archives. Pourtant j’ai bien activé le plugin. Une idée ?
Bonjour, merci pour votre retour. Ce problème peut venir du thème qui ne supporte pas nativement WP-PageNavi. Vérifiez que votre thème utilise bien `wp_pagenavi()` dans les templates d’archives. Sinon, vous pouvez ajouter cette fonction manuellement dans le fichier archive.php ou category.php de votre thème enfant.