WordPress est un logiciel open-source très populaire pour créer un blog. La base de données de ce CMS contient notamment les commentaires laissés par les internautes lorsqu’ils commentent les articles. Il peut être très intéressant de récupérer la liste d’emails des personnes qui ont laissé un message. Cela peut être utile pour les inscrire à une newsletter (avec leurs consentement) ou pour envoyer un email quelconque, par exemple pour prévenir si le blog change d’adresse.
Cet article propose plusieurs requêtes SQL pour exporter les adresses emails laissés lorsqu’un internaute écrit un commentaire. Il convient d’adapter les requêtes si vous avez utilisé un préfixe spécifique pour vos tables. Vous pouvez effectuer ces requêtes dans l’interface de PhpMyAdmin de votre hébergeur.
Exporter les adresses emails
La solution la plus simple pour exporter la liste des adresses emails consiste à effectuer la requêtes SQL suivante.
SELECT DISTINCT comment_author_email FROM wp_comments WHERE comment_author_email <> '';
Une fois la requête lancée dans PhpMyAdmin, vous pouvez exporter les résultats grâce au lien “export” qui se trouve en dessous des résultats.
A savoir : attention, certaines personnes utilisent des adresses emails fictives ou jetables pour ne pas recevoir de spam ou d’offre marketing non sollicité. Si vous n’avez pas beaucoup de résultats vous pouvez parcourir la liste pour reconnaître les emails qui vous semble être inventés.
Exporter les emails avec nom et nombre de commentaires
La requête précédente permettait de récupérer exclusivement les adresses emails, or pour l’envoi d’une newsletter il peut être judicieux d’exporter le nom ou le pseudo associé à l’adresse email. Ainsi l’email peut être personnalisé.
Il peut aussi être intéressant de savoir si un utilisateur a laissé beaucoup de messages sur votre blog. Cela peut être pratique pour envoyer un message aux lecteurs les plus fidèles.
La requête ci-dessous liste les adresses emails avec le nom associé et le nombre de commentaires laissés sur le blog avec cette adresse email.
SELECT MIN(comment_author), comment_author_email, COUNT(*) AS nbr_commentaires FROM wp_comments WHERE comment_author_email <> '' GROUP BY comment_author_email ORDER BY nbr_commentaires DESC
Attention : si l’utilisateur a utilisé plusieurs fois l’adresse email mais qu’il y a indiqué plusieurs pseudos, cette requête n’affichera qu’un seul nom parmi ceux qu’il a pu utiliser.
Exporter les emails et exclure certaines adresses emails
Jusqu’à présent les requêtes SQL permettait de lister tous les emails, mais il faut parfois filtrer pour éviter d’avoir votre propre adresse emails ou ceux des rédacteurs du blog.
La requête ci-dessous présente 2 moyens de filtrer certains résultats. A vous d’adapter pour correspondre à vos besoins.
SELECT DISTINCT comment_author_email FROM wp_comments WHERE comment_author_email <> '' AND comment_author_email <> 'mon.email@example.com' -- filtrer l'email indiqué AND comment_author_email NOT LIKE '%@example.com' -- filtrer les emails se terminant par '@example.com'
Mot de la fin
Faites bon usage de ces requêtes et surtout essayez de respecter la législation et vos lecteurs lorsque vous aurez récupéré les adresses électroniques.
A noter : certains pseudo peuvent être sous le format “Nom@Mot-Clé” pour correspondre au format du plugin KeywordLuv. Si vous souhaitez conserver uniquement le nom et supprimer les mots-clés, vous devrez d’abord supprimer les mots-clés des commentaires KeywordLuv.