Par défaut, vos derniers articles sur WordPress sont présentés dans un ordre antéchronologique - le plus récent étant en premier. Comment changer l'ordre des articles WordPress si cette organisation ne vous convient pas ?
Dans cet article, je vous propose plusieurs méthodes, avec ou sans plugin, pour réorganiser les articles.
Quand changer l'ordre des articles WordPress ?
WordPress a conçu deux types de contenus, les articles et les pages, qui ne sont pas gérés de la même manière. Les articles, par défaut, sont rattachés à une catégorie précise et, à l'intérieur de cette catégorie, s'affichent tout simplement du plus récent au plus ancien. Cela peut poser à la fois un problème de structure et un problème logique.
Une profondeur élevée des contenus
Au fil des publications, les articles les plus anciens se retrouvent à une place de plus en plus profonde dans la structure du site. Ils sont relégués en page 2, puis en page 3, et ainsi de suite. Au bout d'un moment, à moins de mettre en place des stratégies précises de maillage interne, il faudra beaucoup de clics pour accéder à ces contenus.
Or, plus un article est "profond" et caché, moins il est exploré par les moteurs de recherche comme Google (on le constate en faisant une analyse de logs) : cela peut donc avoir des conséquences en matière de référence naturel.
L'âge d'un article n'est pas toujours le reflet de sa pertinence. On peut souhaiter continuer à mettre en avant certains contenus parce qu'ils semblent plus pertinents, plus stratégiques que d'autres. On peut aussi souhaiter que les articles "à succès" restent à des niveaux de profondeur raisonnables dans la structure du site, sans exiger trop de clics pour être lus. Changer l'ordre des articles WordPress peut donc être utile.
La logique des séries d'articles
Si vous publiez des séries d'articles, il est plus pertinent que les lecteurs lisent en premier le "premier volet" de la série que le dernier, publié après. Or, par défaut, WordPress affichera en premier l'article le plus récent, donc le dernier de la série (cf ci-dessous). Réorganiser les articles permet d'éviter ça.
Ces deux raisons justifient de changer l'ordre des articles sur WordPress. Pour le faire, vous avez trois possibilités :
- Prendre appui sur des fonctionnalités par défaut : la mise en avant et la date de publication ;
- Utiliser un plugin pour réorganiser les articles ;
- Redéfinir dans le code du thème WordPress l'ordre des articles.
Réorganiser les articles facilement
Si vous n'avez pas envie d'utiliser une extension WordPress ou de toucher au code, vous pouvez tout simplement utiliser des fonctionnalités par défaut de WordPress pour changer l'ordre des articles.
Déjà, si vous ne le savez pas, il est possible de mettre en avant un ou plusieurs articles si vous souhaitez qu'ils restent toujours en haut d'une rubrique précise, échappant au classement antéchronologique ! Par exemple, si vous souhaitez mettre en avant un contenu sur Noël pendant la période des fêtes, c'est possible.
Depuis le menu Articles > Tous les articles de WordPress, survolez l'article à mettre en avant, cliquez sur "Modification rapide" et cochez la case "Mettre ce contenu en avant".
Si votre thème WordPress est bien conçu et prend en compte correctement ce réglage, vous allez alors voir l'article concerné en tête de la catégorie. Sur mon blog voyage par exemple, l'article est mis en avant avec un petit macaron "A la Une" et une couleur de fond différente des autres posts.
Au-delà de la mise en avant, il est possible de modifier la date de publication des contenus : plus un article est récent, plus il est "mis en avant" donc il suffit de changer les dates en tenant compte de ce paramètre.
Lorsque vous êtes dans le menu Articles > Tous les articles, cliquez sur le bouton "Modification rapide", changez la date puis sauvegardez.
C'est la solution la plus rapide, il suffit de faire en sorte que l'article que vous voulez afficher en premier ait la date la plus récente, et ainsi de suite.
Il y a cependant quelques inconvénients à la méthode :
- Elle ne préserve pas la date de publication réelle du contenu.
- Il faut faire attention à ne pas "dépublier l'article" temporairement (veillez à toujours entrer des dates passées) car ça peut avoir un impact en termes de référencement si le contenu se retrouve hors ligne durant quelques heures.
- Ca reste peu pratique si vous avez de gros volumes d'articles à réorganiser.
Changer l'ordre des articles WordPress avec une extension
Il existe plusieurs plugins WordPress pour réorganiser les articles, je vais en citer deux : Post Types Order et Simple Custom Post Order. Vous pouvez installer l'un ou l'autre via le menu Extensions > Ajouter de WordPress.
L'extension Post Types Order
L'extension crée un sous-menu dans le menu "Réglages" de l'administration, où vous pouvez configurer quelques paramètres.
- Définir dans quelles interfaces de WordPress l'extension est active (articles, fichiers médias, etc) ;
- Le rôle utilisateur minimum nécessaire pour utiliser le plugin : par défaut, l'utilisation est réservée aux administrateurs mais si vous voulez l'ouvrir à d'autres types d'utilisateurs, vous pouvez le faire ;
- Les modalités de tri : le plugin Post Types Order peut effectuer un tri automatique tenant compte de l'ordre que vous avez choisi, peut également appliquer ce tri à l'affichage des articles dans l'administration.
Il existe une poignée d'autres options, vous pouvez sans problème laisser les réglages par défaut.
Une fois ces paramètres sauvegardés, allez dans la rubrique Articles > Tous les articles. Vous pouvez alors changer l'ordre des articles WordPress par simple glisser-déposer.
Les posts visibles par les visiteurs sont alors automatiquement réorganisés. Si vous désinstallez le plugin, tout revient à sa position initiale.
L'extension Simple Custom Post Order
L'extension crée elle aussi un sous-menu dans "Réglages", baptisé SCPOrder.
Les paramètres sont très faciles à maîtriser, puisqu'il suffit de choisir sur quel type de contenu et quel type de taxonomie l'extension peut fonctionner. Elle est également capable de détecter des types de contenu personnalisés si vous en avez. Enfin, vous disposez d'un bouton pour réinitialiser l'ordre par défaut si nécessaire.
Ici aussi, un simple glisser-déposer suffit ensuite à réorganiser les articles comme vous le souhaitez.
Changer l'ordre des articles WordPress sans plugin
Si vous ne souhaitez pas utiliser de plugin, il est possible d'agir directement dans le code de votre thème pour modifier l'ordre des articles. Il est conseillé d'effectuer vos modifications sur un thème enfant plutôt que sur le thème principal : ainsi, si vous mettez à jour le thème principal pour bénéficier des dernières fonctionnalités et mises à jour de sécurité, vos modifications seront préservées.
function ordre_sur_mesure( $query ) {
if ( $query->is_category() ) {
$query->set( 'orderby', 'XXX' );
$query->set( 'order', 'YYY' );
}}
add_action( 'pre_get_posts', 'ordre_sur_mesure' );
Il faut personnaliser ce code en définissant un critère de tri à la place de XXX : WordPress prévoit pas mal de critères de tri possibles, par exemple :
- Le tri par titre d'article - Remplacez XXX par
title
. - Le tri par date de modification - Remplacez XXX par
modified
. - Le tri aléatoire - Remplacez XXX par
rand
. - Le tri par nombre de commentaires - Remplacez XXX par
comment_count
. - Le tri par date - Si vous souhaitez conserver un tri par date mais par exemple inverser l'ordre (articles les plus récents à la fin), vous pouvez indiquer
date
à la place de XXX.
A la place de YYY, vous ne pouvez choisir que deux paramètres :
- Ecrivez ASC pour un tri croissant (par ordre alphabétique ou ordre croissant si ce sont des chiffres) ;
- Ecrivez DESC pour un tri décroissant (si le critère choisi n'est pas un critère chiffré, le tri se fera en ordre alphabétique inverse).
Ce code s'appliquera sur les pages de catégories mais il peut être personnalisé à votre convenance pour s'appliquer à un autre type de page, à une catégorie précise, etc.
Où le copier ? Tout simplement dans le fichier functions.php de votre thème ou thème enfant, à la fin par exemple. Vous pouvez retrouver des conseils pour modifier functions.php sur WordPress dans un article dédié si vous ne l'avez jamais fait.
J'espère que ces conseils vous aideront si vous avez besoin de changer l'ordre des articles sur WordPress !
Merci beaucoup pour cette info
Bonjour Marlène.
Je cherchais cette fonction depuis un bout de temps déjà, merci !
J’ai toutefois une demande : comment faire pour que cela impacte une catégorie parente et ses sous catégories ?
Lorsque j’utilise
if ( $query->is_category( ‘categorie_parente’) ) {
cela n’impacte que les articles de cette catégorie, sans celles sous celle-ci :(
Comment faire, svp ?
Bonjour Sébastien, si vous renseignez une catégorie précise dans la parenthèse, c’est normal que le code ne s’applique qu’à celle-ci. On peut utiliser ce genre de code pour le if si on veut lister plusieurs ID différents :
if ( is_category( array( 'AAA', 'BBB', 'CCCC' ) ) ) {
Bonjour, merci pour vos conseils. J’avais l’habitude de travailler sous SPIP et il était possible de mettre en avant un article en lui attribuant simplement le mot clé (tag-etiquette) « actualité » et sur ma page d’accueil n’apparaissaient que ces articles. Une fois l’actualité passée je décochais ce mot clé dans l’article. Existe-t-il la même fonction dans WP ?
Merci de votre réponse
Bonjour Guy, sur WordPress il existe « en natif » une fonctionnalité de mise en avant d’article, en cochant la case « Mettre cet article en avant sur la page d’accueil » dans les options de publication. Cependant, la manière dont l’affichage est géré ensuite va dépendre du thème WordPress choisi.
Merci Marlène pour votre réactivité, je vais essayer cette solution.
Je garde votre blog en marque-page.
Bonne journée
Guy
Merci! Exactement ce que je cherchais.
Merci Alex !