Dépannage WordPress

Corriger une pagination WordPress qui ne fonctionne plus

Une pagination cassée peut répéter la page 1, renvoyer une 404, perdre les filtres ou produire de mauvaises canonicals. Le correctif dépend du type de vue : archive native, page statique avec requête secondaire ou endpoint personnalisé.

Lire le conseil

Un bouton « Suivant » qui ramène aux mêmes articles, une page 2 en erreur ou un filtre qui disparaît après un clic ne viennent pas forcément des permaliens. La pagination relie une adresse, un numéro courant et une liste de contenus. Pour la réparer, il faut retrouver lequel de ces éléments ne suit plus les autres.

Reproduire le problème sur une série de pages précise

Commencez par une liste identifiée : les articles du blog, une catégorie, les résultats de recherche ou une grille construite dans une page. Notez les filtres et le tri actifs. Ouvrez la première page, la deuxième, la dernière page connue, puis une adresse au-delà de cette limite. Gardez pour chacune l’URL finale, le statut HTTP et quelques titres ou identifiants de contenus.

Regardez ce qui échoue réellement : l’adresse ne change pas, elle change mais les cartes se répètent, la réponse est une 404 ou le bouton disparaît trop tôt. Comparez aussi l’ouverture directe de l’URL avec le clic dans la page. Une interface JavaScript peut sembler fonctionner alors que son adresse n’est pas exploitable après rechargement.

Faites ce relevé sur un jeu de contenus aussi stable que possible. De nouvelles publications ou un changement de tri peuvent déplacer des éléments entre deux essais. Il faut distinguer ce mouvement normal d’une requête qui répète systématiquement le premier lot.

Retrouver la requête et le numéro réellement utilisés

Sur une archive native, vérifiez d’abord la requête principale de WordPress. Dans un thème, le filtre pre_get_posts permet d’en ajuster les paramètres, mais il doit être limité à la vue concernée et à la bonne requête. Un réglage appliqué sans distinction peut modifier aussi une recherche, une autre archive ou l’administration.

Une grille personnalisée peut utiliser un autre objet WP_Query. Le numéro présent dans l’URL doit parvenir à cette requête, généralement par paged. Le cas d’une page d’accueil statique demande une attention particulière à la variable page. Elle sert aussi dans d’autres contextes, notamment un contenu découpé en plusieurs pages : remplacer partout un nom par l’autre ne constitue pas un correctif fiable.

La référence WP_Query précise les paramètres de pagination. Contrôlez notamment un éventuel offset, qui peut prendre le dessus sur paged. Retrouvez la valeur réellement utilisée plutôt que de vous fier au numéro visible. Dans le template, gardez votre numéro de liste dans une variable locale explicite au lieu de réutiliser une variable globale ambiguë.

Construire les liens depuis la même liste de contenus

Les liens et le nombre total de pages doivent correspondre à la requête qui fournit les cartes. Une grille filtrée et une pagination calculée sur tous les articles peuvent annoncer des pages vides ou masquer des résultats encore disponibles. Comparez les catégories, exclusions, droits de visibilité, nombre de contenus par page et ordre retenus dans les deux calculs.

Avec paginate_links, vérifiez la base des URL, le numéro courant et le total transmis. Pour une boucle secondaire, ce total doit venir de son propre max_num_pages, pas par défaut d’un autre objet global. Un mode qui évite le calcul du total, comme no_found_rows, exige une stratégie adaptée si l’interface doit annoncer toutes les pages.

Après une boucle personnalisée qui utilise the_post(), wp_reset_postdata rétablit les données de publication attendues par les fonctions du thème. Cette remise en état évite des effets sur les éléments suivants ; elle ne remplace pas la transmission correcte du numéro de page à la requête.

Contrôler les permaliens, les filtres et le cache

Si l’adresse numérotée renvoie une 404 alors que les résultats existent, examinez la route résolue, les règles de réécriture et le contexte du serveur. La documentation des permaliens WordPress aide à distinguer la structure des URL de leur prise en charge. Ne changez pas la structure publique de tout le site pour réparer une seule liste.

Vérifiez ensuite que les paramètres utiles suivent les liens : recherche, catégorie choisie ou tri. Un changement de filtre doit généralement repartir du début de la nouvelle liste plutôt que conserver un numéro devenu hors limites. Les valeurs reçues doivent être validées ; ne recopiez pas indistinctement tous les paramètres d’une requête dans les liens suivants.

Enfin, comparez la liste affichée avec la clé du cache. Si deux numéros ou deux filtres partagent une réponse qui devrait être différente, le bon code peut encore servir les mauvaises cartes. Testez à froid et à chaud, en visite non connectée puis dans le contexte concerné. Une purge limitée peut accompagner la correction ; elle ne corrige pas une clé qui ignore toujours le numéro ou le filtre.

Distinguer les pages inexistantes des signaux SEO

Pour une collection dont les limites sont établies, une page numérotée inexistante doit renvoyer une vraie 404 avec un message utile. Ne la transformez pas silencieusement en première page ou en réponse 200 vide. Une recherche valide sans résultat peut, elle, présenter un état vide normal : ce n’est pas la même situation qu’une page 6 demandée dans une collection de trois pages. Le guide des erreurs 404 WordPress complète ce contrôle.

Pour une séquence paginée destinée à l’indexation, les recommandations Google sur la pagination prévoient des adresses distinctes et des liens accessibles. Ne désignez pas systématiquement la page 1 dans la balise canonical des autres pages. Un simple fragment après # ne remplace pas une URL de page que le moteur peut explorer.

Un bouton « Charger plus » peut améliorer l’usage, mais les contenus suivants doivent aussi rester découvrables sans exiger que Google clique dessus. Prévoyez les liens et les adresses correspondantes. Le choix d’indexer certaines vues filtrées se traite séparément ; une correction de pagination ne justifie pas d’ouvrir toutes les combinaisons de filtres à l’indexation.

Vérifier le parcours après une correction limitée

Avant de toucher au thème, à une extension ou aux règles du serveur, vérifiez une sauvegarde récente et restaurable et conservez les paramètres précédents. Reproduisez sur une copie isolée lorsque le changement dépasse un réglage borné. Corrigez une cause à la fois, avec une preuve du défaut avant et du comportement attendu après.

Reprenez les pages de départ, les limites, les filtres et le retour arrière du navigateur. Vérifiez aussi le clavier, le mobile, le chargement direct d’une URL et la lecture sans JavaScript lorsque les résultats doivent y être accessibles. À contenu figé, chaque page doit montrer le segment attendu et les liens « Précédent » ou « Suivant » doivent s’arrêter au bon endroit.

Le hub des conseils WordPress permet d’explorer les dossiers liés. Pour transmettre le problème à un intervenant WordPress, joignez quelques URL, les filtres utilisés et le résultat observé, plutôt qu’un journal complet ou une copie de la base. Ce relevé suffit souvent à orienter la vérification vers la requête, la réécriture ou le cache réellement concerné.

Liens externes cités