Que répondre à un client qui demande un bouton « signaler ce commentaire » pour la semaine prochaine, alors que le vrai chantier de modération — file d’attente, rôles dédiés, notifications d’équipe — n’est budgété que pour le trimestre suivant ? La réponse a tenu en un lien mailto: intelligemment pré-rempli, assumé comme solution transitoire plutôt que déguisé en fonctionnalité complète.
Ce site associatif recevait des commentaires sur ses articles de blog, modérés a posteriori par une seule personne qui n’avait pas toujours le temps de tout relire. Un visiteur choqué par un commentaire n’avait, avant cette mise à jour, aucun moyen de le signaler autrement qu’en cherchant une adresse de contact générique perdue dans le pied de page.
Ce que ce lien ne remplace pas
Il faut le dire clairement avant même de coder quoi que ce soit : ce lien mailto n’est pas un système de signalement au sens du Digital Services Act, qui impose des mécanismes de notification structurés, des accusés de réception et des délais de traitement tracés. C’est un pansement utile, pas une conformité. Présenter la fonctionnalité autrement reviendrait à faire courir au client un risque qu’il ignore.
- Pas de traçabilité automatique des signalements reçus
- Pas d’accusé de réception envoyé au signalant
- Pas de délai de traitement garanti ni mesuré
Construire le lien avec le contexte du commentaire
Le lien s’affiche sous chaque commentaire publié, via le filtre comment_text, et embarque l’identifiant du commentaire, le titre de l’article et un extrait du texte dans le corps du mail généré :

function wpm_lien_signalement( $text, $comment ) {
$sujet = rawurlencode( sprintf( 'Signalement commentaire #%d', $comment->comment_ID ) );
$extrait = wp_trim_words( $comment->comment_content, 20 );
$corps = rawurlencode( sprintf(
"Commentaire a examiner : %s\nSur l'article : %s\nExtrait : %s",
get_comment_link( $comment ),
get_the_title( $comment->comment_post_ID ),
$extrait
) );
$lien = sprintf(
'<p><a href="mailto:moderation@exemple-asso.fr?subject=%s&body=%s">Signaler ce commentaire</a></p>',
$sujet,
$corps
);
return $text . $lien;
}
add_filter( 'comment_text', 'wpm_lien_signalement', 10, 2 );
Le lien du commentaire est obtenu via get_comment_link(), une fonction native qui construit l’URL de l’article avec l’ancre pointant directement vers le commentaire concerné — utile pour que la personne qui modère retrouve le contexte en un clic, sans avoir à chercher le commentaire dans une longue liste.
Qui reçoit ces signalements, et comment
L’adresse de destination n’est pas une boîte générique du site, mais une adresse dédiée, surveillée quotidiennement par la personne en charge de la modération. C’est un détail qui change tout : un signalement envoyé dans une boîte « contact » noyée sous les demandes commerciales a toutes les chances de rester des semaines sans réponse.
Un tableau de correspondance a été partagé avec le client pour clarifier les responsabilités en attendant le vrai workflow :
| Situation | Solution actuelle (lien mailto) | Solution cible (trimestre suivant) |
|---|---|---|
| Réception du signalement | Email individuel | File d’attente dans l’administration |
| Accusé de réception | Aucun | Email automatique au signalant |
| Traçabilité | Boîte mail uniquement | Table dédiée avec statut de traitement |
Prévoir la bascule vers le vrai workflow
Pour que cette solution transitoire ne se transforme pas en solution définitive par oubli, un ticket a été ouvert dans l’outil de suivi du client, avec une date de réexamen fixée. C’est souvent le vrai risque des solutions minimales : elles fonctionnent suffisamment bien pour qu’on cesse d’y penser, et le vrai chantier ne voit jamais le jour.
En résumé
Un lien mailto contextualisé peut couvrir un besoin urgent de signalement, à condition de présenter clairement ses limites au client et de garder la date du vrai chantier de modération dans un coin visible du planning. La conformité réglementaire complète reste un projet à part, qui mérite son propre budget et ses propres tests.