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é.

Ce que ce symptôme signifie réellement

WordPress n’utilise pas toujours la même variable : paged sert généralement aux archives et page peut intervenir dans une page statique. Une variable globale nommée $page peut aussi être réécrite pendant le chargement d’un template.

Une requête personnalisée qui ignore le numéro courant affichera des cartes différentes dans l’URL mais identiques dans le contenu, ce qui dégrade navigation et indexation.

Avant toute modification : préserver les preuves et le retour arrière

Notez l’heure, l’URL, le message exact, le code HTTP et le dernier changement connu. Vérifiez ensuite qu’une sauvegarde récente couvre bien les fichiers et la base de données, qu’elle est lisible et qu’un retour arrière limité est possible. Une sauvegarde non testée ne suffit pas pour une intervention risquée.

  • Ne transmettez jamais de mot de passe, clé privée, jeton, fichier wp-config.php ou export de base dans un formulaire ou une capture.
  • Travaillez d’abord sur un staging ou une copie isolée lorsque le diagnostic exige une mise à jour, une modification de code ou une opération de base de données.
  • Conservez les journaux et les fichiers suspects avant nettoyage : ils peuvent être nécessaires pour comprendre la cause ou vérifier l’étendue d’un incident.

Diagnostic : avancer du signal le plus fiable au test le moins intrusif

Testez les pages 1, 2, dernière et dernière + 1. Relevez statut, H1, canonical, cartes, liens précédent/suivant et paramètres conservés.

  1. Identifier si la boucle utilise la requête principale ou un nouveau WP_Query.
  2. Inspecter get_query_var("paged"), get_query_var("page") et la règle de réécriture réellement résolue.
  3. Vérifier que max_num_pages correspond au jeu filtré et que les exclus sont identiques sur toutes les pages.
  4. Contrôler les canonicals et éviter les filtres JavaScript qui créent des URL explorables sans contenu distinct.

Correction : appliquer une action ciblée et réversible

Corrigez la source du numéro de page et transmettez-la explicitement à la requête. Utilisez un nom de variable non global dans le template.

  1. Calculer un numéro courant borné, compatible avec la vue, puis l’utiliser dans paged.
  2. Générer la pagination depuis le même objet de requête et restaurer les données globales après une boucle secondaire.
  3. Renvoyer une vraie 404 et noindex au-delà de la dernière page avant toute sortie HTTP.
  4. Tester la page 2 et la frontière finale dans la recette automatisée pour éviter une répétition silencieuse.

Contrôles après correction

Une page qui se recharge ne suffit pas à prouver que le problème est résolu. Contrôlez le parcours concerné, une page non connectée, l’administration, les erreurs console et réseau, les journaux serveur, le cache et les redirections. Vérifiez aussi les écrans mobile et desktop si le symptôme touchait le rendu.

  • Premiers contenus uniques sur chaque page et nombre total cohérent.
  • Page hors plage en 404 avec un état utile, pas en 200 vide.
  • Canonical de chaque page et liens précédent/suivant exacts.

Quand arrêter et demander une intervention

Si la pagination dépend d’un constructeur, d’un cache ou de règles nginx, capturez les variables WordPress et les en-têtes avant de modifier les permaliens en production.

Sources de référence

Continuer le diagnostic

Liens externes cités