Comment fermer les commentaires sur WordPress ?


Pendant mon congé maternité, j'ai choisi de fermer les commentaires sur le site afin d'éviter que des réactions de visiteurs restent sans réponse. Si vous souhaitez vous aussi fermer les commentaires sur WordPress, que ce soit temporaire ou définitif, je vous propose des solutions dans cet article.

Quand envisager de fermer les commentaires sur son site ?

Il devient de plus en plus répandu sur bon nombre de sites de fermer les commentaires sur les articles, souvent parce que l'on considère que le débat s'est aujourd'hui déplacé sur les réseaux sociaux.

Mais ce n'est pas la seule raison d'envisager une telle décision. On peut être amené à la prendre...

  • Quand on souhaite justement encourager le débat sur d'autres plateformes et non sur le site lui-même ;
  • Quand on ne peut pas modérer les commentaires pendant une période donnée, comme ça a été mon cas pendant mon congé maternité ;
  • Quand on reçoit trop de messages et que le volume devient impossible à gérer correctement ;
  • Quand on est envahi par le spam en dépit des antispams mis en place : pour ma part, les indésirables sont automatiquement triés par mon antispam Cleantalk, que je trouve excellent... mais je vois à quel point ils sont nombreux et s'ajoutent aux messages "publicitaires" postés par certains visiteurs ;
  • Quand on traverse une phase de gros changements sur son site : fermer les commentaires pendant une période de refonte ou de réoptimisation permet de se concentrer sur le "chantier" en cours et de réduire la charge de travail liée à la modération ;
  • Quand on souhaite mettre un terme à un débat qui dégénère ;
  • Quand un article donne lieu à beaucoup de commentaires hors sujet qui n'apportent rien au contenu ;
  • Quand une page ne se prête tout simplement pas à recevoir des réactions : c'est le cas, par exemple, des mentions légales, des formulaires de contact ou des landing pages, sur lesquelles il est peu pertinent de laisser les visiteurs réagir ;
  • Quand le contenu vieillit, laisser les internautes commenter perd parfois de son intérêt et de sa pertinence (c'est le cas par exemple sur les articles d'actualité).

Quelques raisons parmi d'autres, sans doute, qui peuvent vous pousser à envisager une fermeture de cet espace.

Une discussion qui se joue ailleurs
Une discussion qui se joue ailleurs

Comment fermer les commentaires sur un article ou une page ?

Il est possible de clôturer les commentaires sur un article ou une page spécifique. Pour ce faire, dans l'administration de WordPress, accédez à la rubrique Articles ou Pages selon ce qui vous intéresse.

Avec la souris, survolez le nom du contenu sur lequel vous souhaitez fermer les commentaires et cliquez sur le lien "Modification rapide".

Modification rapide sur WordPress
Modification rapide sur WordPress

Décochez la case "Autoriser les commentaires" qui apparaît, puis cliquez sur "Mettre à jour" pour sauvegarder la modification.

Fermer les commentaires sur un article WordPress
Fermer les commentaires sur un article WordPress

Comment fermer les commentaires sur des articles à paraître

WordPress propose une option globale permettant de fermer les commentaires sur toutes les nouvelles publications. Vous pouvez y accéder depuis l'administration, menu Réglages > Commentaires, en décochant la case "Autoriser les commentaires sur les nouvelles publications" puis en sauvegardant.

Fermer les commentaires sur les nouvelles publications
Fermer les commentaires sur les nouvelles publications

Fermer les commentaires au bout d'un délai spécifique

Toujours dans la rubrique Réglages > Commentaires de l'administration, vous pouvez choisir un délai au bout duquel les commentaires se clôturent automatiquement. Une option utile si, par exemple, vous publiez des articles d'actualité et estimez qu'il n'est plus pertinent de les ouvrir aux échanges au-delà d'une certaine durée.

Il suffit de cocher la case "Fermer automatiquement les commentaires pour les publications datant de plus de X jours"... et de choisir le délai en jours souhaité.

Fermer les commentaires après un délai
Fermer les commentaires après un délai

Fermer les commentaires sur l'ensemble des articles passés

Les méthodes données précédemment vont s'appliquer aux nouveaux articles, ou à des articles ponctuels sélectionnés... mais comment faire si l'on veut fermer globalement TOUS les commentaires du site ? Il existe plusieurs méthodes.

En sélectionnant en bloc tous vos contenus

Allez dans le menu Articles et/ou Pages de l'administration selon ce qui vous intéresse. Dans les options de l'écran, en haut à droite, faites en sorte que le nombre d'éléments affichés par page soit assez élevé (par exemple, une centaine d'articles). En effet, nous allons sélectionner tous les articles page par page et désactiver les commentaires en bloc pour l'ensemble d'entre eux. Si vous n'affichez que 20 articles par page et que votre site en compte énormément, ça risque de prendre du temps !

Options de l'écran sur WordPress
Options de l'écran sur WordPress

Notez que plus le nombre d'articles est élevé, plus cela correspond en arrière-plan à des modifications multiples sur votre base de données WordPress... donc plus la manoeuvre est gourmande en ressources. Si vous constatez que vous obtenez des erreurs, essayez de réduire le nombre d'articles par page.

Sélectionnez ensuite tous les articles d'une même page, à l'aide de la case à cocher en haut du tableau :

Sélectionner tous les articles
Sélectionner tous les articles

Puis choisissez "Modifier" dans le menu déroulant et cliquez sur "Appliquer".

Modifier des articles en bloc sur WordPress
Modifier des articles en bloc sur WordPress

Sélectionnez enfin "Refuser" dans le menu déroulant "Commentaires", puis "Mettre à jour" pour sauvegarder.

Refuser les commentaires sur WordPress
Refuser les commentaires sur WordPress

Cela va prendre un peu de temps, votre site donne l'impression de "mouliner", surtout si vous effectuez la manipulation sur un grand nombre de contenus. Il faudra ensuite la réitérer sur chaque page de votre liste de contenus.

En faisant une requête en base de données

Cette solution est à utiliser avec prudence, elle est d'une part réservée aux utilisateurs experts et d'autre part peut induire une surcharge au niveau du serveur si votre site compte de nombreux articles. Tout dépend de votre hébergeur, des ressources dont vous bénéficiez, de la taille de votre site.

Je vous incite donc à bien mettre tous ces paramètres dans la balance et, évidemment, à faire une sauvegarde de votre base de données avant toute modification afin de pouvoir la restaurer en cas de problème.

UPDATE 'wp_posts' SET 'comment_status' = 'closed';

Cette requête consiste à mettre à jour la table wp_posts contenant tous les contenus, en imposant le statut "fermé" pour l'ensemble des commentaires. Notez que si vous avez personnalisé le préfixe de table, il faudra penser à le modifier en remplaçant wp_posts par votre nom personnalisé, par exemple monprefixe_posts.

En utilisant un plugin

Le plugin Disable Comments permet d'autoriser ou d'interdire les commentaires très facilement sur n'importe quel type de contenu (pages, articles, médias), de masquer tout ce qui concerne les commentaires dans l'administration de WordPress, etc.

Il est gratuit, vous pouvez l'installer depuis le menu Extensions > Ajouter. C'est une solution simple pour ceux qui n'ont pas envie de toucher au code.

En ajoutant une fonction dans le fichier functions.php

Vous pouvez modifier le fichier functions.php de votre thème WordPress ou thème enfant afin d'y ajouter une fonction dédiée. Elle permet ici de fermer les commentaires, de masquer ceux qui existent (facultatif, retirez la ligne si vous souhaitez conserver les commentaires existants) et de faire disparaître la partie Commentaires du menu d'administration de WordPress.

function supprimer_commentaires() {
    // Fermer les commentaires
    add_filter('comments_open', '__return_false', 20, 2);
    add_filter('pings_open', '__return_false', 20, 2);
    
    // Masquer les commentaires existants
    add_filter('comments_array', '__return_empty_array', 10, 2);
    
    // Retirer l'élément de menu Commentaires de l'administration
    add_action('admin_menu', function () {
        remove_menu_page('edit-comments.php');
    });
}
add_action('init', 'supprimer_commentaires');

Fermer les commentaires sur des fichiers média

C'est une situation peu fréquente car en général, on redirige les fichiers média automatiquement vers le lien de la page sur laquelle ils ont été uploadés... mais si vous n'avez pas activé cette option, vous pouvez désactiver les commentaires à l'aide d'une fonction sur mesure, à ajouter dans le fichier functions.php de votre thème.

Il faut savoir que l'on peut distinguer chaque type de contenu sur WordPress, et créer du code dédié à chacun. Ici, on va viser le type de contenu "attachment" avec ce code, qui dit "si le type de contenu est un attachment (fichier joint), alors le statut des commentaires est 'fermé'" :

function pasdecommentaires_media($data, $postarr) {
if ($data['post_type'] == 'attachment') {
$data['comment_status'] = 'closed'; }
return $data;}
add_filter('wp_insert_post_data', 'pasdecommentaires_media', 10, 2);

Cette fonction ne s'appliquera qu'aux nouveaux fichiers média mis en ligne. Si vous souhaitez fermer les commentaires sur des fichiers existants, il faut soit utiliser un plugin comme Disable Comments que je mentionnais, soit effectuer une requête dans la base de données, ce qui est à réserver aux utilisateurs experts (toujours faire une sauvegarde avant de toucher à la base de données !) :

UPDATE 'wp_posts' SET 'comment_status' = 'closed' WHERE 'post_type' = 'attachment' AND 'comment_status' = 'open';

Notez que si vous utilisez un préfixe de table personnalisé, il faudra là aussi penser à le modifier en remplaçant wp_posts par le nom de la table avec votre préfixe, comme monprefixe_posts par exemple.

Ici, on modifie la table wp_posts qui stocke tous les contenus, en définissant le statut des commentaires sur "fermés" quand le type de contenu est un fichier joint et que le statut actuel des commentaires est "ouverts".

Comment personnaliser le texte informant que les commentaires sont fermés ?

Chaque thème WordPress est codé d'une manière qui lui est propre. La section des commentaires peut être gérée par le fichier comments.php mais aussi par d'autres fichiers. Si vous ne trouvez pas rapidement le fichier qui contrôle cette section, voyons ensemble comment procéder pour le retrouver.

Lorsque vous fermez les commentaires, regardez quel message s'affiche, par exemple :

Message disant que les commentaires sont fermés
Message disant que les commentaires sont fermés

Connectez-vous ensuite au serveur qui héberge votre site avec un client FTP comme FileZilla et naviguez dans le dossier "wp-content", puis dans "themes". Faites un clic droit sur le dossier de votre thème et téléchargez-le, sur le bureau de votre ordinateur par exemple.

Télécharger son thème WordPress
Télécharger son thème WordPress

Effectuez ensuite une recherche de texte à l'intérieur des fichiers du thème, en cherchant le message identifié un peu plus tôt. Cela devrait vous permettre de retrouver le fichier qui le définit.

Si vous modifiez un message dans un fichier php, il est parfois nécessaire d'échapper les apostrophes, en plaçant un backslash juste avant. Vous écrirez par exemple : "L\'ajout de commentaires est impossible".

Comment masquer totalement la section Commentaires sur le site ?

Si vous ne souhaitez rien afficher du tout, pas même un message disant que les commentaires sont fermés, il faut supprimer dans le thème WordPress les références à cette section.

Regardez si votre thème offre une option pour le faire car parfois, pas besoin de mettre les mains dans le code, il suffit de cocher une case prévue par le développeur dans les paramètres !

Si ce n'est pas le cas, il faudra modifier à la main certains fichiers contrôlant l'affichage des articles et des pages, par exemple single.php et page.php, pour retirer les références au template des commentaires (en général, comments_template()).

Chaque thème étant codé différemment, utilisant parfois sa propre organisation des fichiers, il n'est pas possible de donner une solution unique pour tous.

En revanche, une petite astuce qui fonctionne parfois est de vider totalement le fichier comments.php de son contenu. Ainsi, il continue à être chargé par le thème mais, étant vide, n'ajoute aucune ligne de code relative aux commentaires. Pensez à bien faire une sauvegarde de l'original afin de pouvoir le restaurer en cas de problème.

Comment supprimer tous les commentaires existants ?

Si la fermeture de votre espace d'échanges est définitive et que vous ne souhaitez pas conserver les commentaires, mieux vaut les supprimer totalement que simplement les masquer, cela allègera votre base de données.

Vous pouvez le faire depuis l'administration de WordPress, menu "Commentaires". Cliquez sur la case à cocher en haut du tableau, à côté de Auteur/Autrice, puis choisissez "mettre à la corbeille" dans le menu déroulant et cliquez sur le bouton "Appliquer" pour lancer la suppression.

Supprimer des commentaires sur WordPress
Supprimer des commentaires sur WordPress

Pensez ensuite à cliquer sur l'élément "Mis à la corbeille" et sur "Vider la corbeille" histoire de supprimer définitivement les messages.

Vider la corbeille
Vider la corbeille

Il faudra le faire pour chaque page de commentaires (là aussi, le menu "Options de l'écran" en haut à droite permet d'afficher un nombre plus ou moins grand de commentaires par page).

Plus rapide mais moins évident : supprimer directement les commentaires dans la base de données du site. Accédez à votre base de données, avec phpMyAdmin par exemple. Effectuez la requête suivante (en remplaçant si besoin le préfixe wp_ par le vôtre) :

TRUNCATE TABLE 'wp_comments';
TRUNCATE TABLE 'wp_commentmeta';
UPDATE 'wp_posts' SET 'comment_count' = 0 WHERE 'comment_count' > 0;

On vide ici les deux tables de la base de données qui stockent les commentaires et informations associées, et l'on ramène le compteur de commentaires à 0 sur les contenus.

Voilà, j'espère que cet article vous aidera à fermer les commentaires sur WordPress de la manière dont vous le souhaitez. S'il vous reste des questions, n'hésitez pas à les poser dans les commentaires !


Poster un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *



Si vous aimez les articles du site, n'hésitez pas à faire vos achats sur Amazon.fr via ce lien ; il me permettra de toucher une commission grâce au programme Partenaires Amazon EU.