Site WordPress envoie du spam : trouver la source, arrêter les envois et sortir des listes noires
Un client de Bertrange vous transfère un message bizarre parti de votre adresse, votre fiduciaire ne reçoit plus vos factures et l’hébergeur vous signale un pic d’envois sortants : selon toute vraisemblance, votre site WordPress envoie du spam à votre insu. Au-delà de l’agacement, c’est la délivrabilité de toute votre correspondance professionnelle qui se dégrade, devis et relances compris.
L’agence Référenceur aide les commerces, cabinets, fiduciaires et PME du Grand-Duché à remonter jusqu’à la source de ces envois, à remettre en état un site WordPress piraté et à faire de nouveau accepter les messages de leur domaine par les serveurs de leurs correspondants.
Analysez la sécurité de votre site WordPress : lancez dès maintenant une première analyse gratuite avec notre outil ci-dessous.
Ce chapitre prolonge notre guide complet de sécurité WordPress. Il sépare les vérifications à votre portée, les points à confier à votre hébergeur et les erreurs qui font durer le blocage. Une analyse gratuite de sécurité est proposée sur cette page pour un premier état des lieux.
Reconnaître le problème avant vos clients
WordPress n’affiche aucune alerte quand il sert de relais. Les premiers indices viennent de la messagerie : des retours d’erreur en cascade, des partenaires qui retrouvent vos offres dans leur dossier indésirable, ou un contact surpris par une offre que vous n’avez jamais envoyée.
- Des messages d’échec de remise visant des destinataires inconnus, rédigés en allemand, en anglais ou en français selon le serveur qui les renvoie.
- Un rejet Microsoft portant le code 550 5.7.606-649, signe que l’adresse IP d’expédition est bannie.
- Une alerte de l’hébergeur sur un quota d’envoi atteint, voire la coupure pure et simple de la messagerie du compte.
- Des comptes d’abonnés créés par dizaines ou des formulaires saturés de liens, quelle que soit la langue de la page.
Script caché, formulaire relais ou boîte piratée ?
La piste la plus courante est un script PHP injecté après une intrusion. Il se loge dans le dossier des médias, dans une extension que personne n’a installée ou dans un thème inutilisé, et appelle directement la fonction mail() sans passer par vos pages.
Deuxième hypothèse : aucun fichier n’est infecté, mais un formulaire légitime sert de porte-voix. Une option « recevoir une copie », une inscription ouverte ou la réinitialisation de mot de passe suffisent à des robots pour écrire à des milliers d’adresses. Sur un site décliné en français, allemand, luxembourgeois et anglais, chaque formulaire de chaque langue constitue une entrée possible.
Troisième hypothèse : une boîte e-mail dont le mot de passe a fuité, souvent après un hameçonnage. Le site n’est alors pas en cause, et c’est votre fournisseur de messagerie qui doit verrouiller le compte.
Stopper les envois puis assainir, dans cet ordre
Réclamer un délistage pendant que les envois continuent ne sert à rien : l’IP ou le domaine retourne sur la liste quelques heures plus tard. Respectez plutôt cette progression.

- Interrompre la source : faites suspendre l’expédition par l’hébergeur ou basculez le site en maintenance.
- Conserver les traces : archivez fichiers, base de données et journaux (accès, erreurs, messagerie) avant d’effacer quoi que ce soit.
- Identifier l’émetteur : l’en-tête
X-PHP-Originating-Script(directivemail.add_x_header) et le journal défini parmail.log, que l’hébergeur peut activer, révèlent le fichier qui déclenche les messages. - Contrôler les fichiers du cœur et des extensions, puis rechercher tout PHP égaré parmi les médias.
- Changer tous les secrets : comptes administrateurs, SFTP, base de données, boîtes e-mail et clés de
wp-config.php. - Bannir les copies piratées d’extensions ou de thèmes (« nulled ») et réinstaller les versions officielles.
wp core verify-checksums
wp plugin verify-checksums --all
find wp-content/uploads -type f -name "*.php"
wp cron event list --fields=hook,next_run_relative
Les deux premières commandes comparent vos fichiers aux empreintes officielles ; seules les extensions publiées sur WordPress.org sont couvertes, les autres se comparent à l’archive fournie par l’éditeur. La dernière affiche les tâches planifiées, où un crochet inconnu peut relancer les envois. Pour la suite, voyez notre méthode pour éliminer un malware WordPress et celle pour récupérer un compte administrateur compromis.
SPF, DKIM et DMARC : prouver que vos messages viennent de vous
Ces trois enregistrements DNS ne neutralisent pas un script présent sur votre serveur. Ils empêchent en revanche un tiers d’expédier des messages crédibles au nom de votre domaine, et ils rassurent les messageries qui les reçoivent. SPF liste les serveurs autorisés, DKIM appose une signature cryptographique et DMARC dicte la conduite à tenir en cas d’échec tout en vous adressant des rapports.
Selon les règles de Google pour les expéditeurs, quiconque écrit vers Gmail doit configurer SPF ou DKIM, et ceux qui dépassent 5 000 messages par jour doivent déployer les trois. Google demande aussi de garder le taux de spam signalé, visible dans Postmaster Tools, sous 0,3 %.
Démarrez avec une politique DMARC p=none pour observer. Recensez ensuite toutes les sources légitimes (site, messagerie, outil d’e-mailing, logiciel de facturation de la fiduciaire), puis passez par étapes à quarantine et à reject.
Faire partir les e-mails du site par un canal authentifié
Par défaut, wp_mail() s’appuie sur PHPMailer, qui confie le message à la fonction mail() de PHP : il quitte le serveur web sans réelle authentification. Préférez un relais SMTP authentifié, c’est-à-dire votre messagerie professionnelle ou un service transactionnel, de préférence hébergé dans l’Union européenne, avec une adresse d’expédition dédiée et une connexion chiffrée.
Une extension SMTP fait l’affaire, tout comme le crochet phpmailer_init documenté sur developer.wordpress.org. Demandez ensuite à l’hébergeur s’il peut bloquer mail() sur votre compte.
Côté formulaires : protection anti-robot sur chaque version linguistique, plus aucune copie automatique à l’expéditeur, limite d’envois par heure et inscription publique désactivée dans Réglages > Général si personne ne s’en sert.
Domaine blacklisté e-mail : quelle liste, quelle démarche
Une fois le site assaini et les accès renouvelés, occupez-vous du domaine blacklisté e-mail ou de l’adresse IP listée. Le message d’échec désigne en général l’opérateur de la liste, et chacun applique sa propre procédure.
| Opérateur ou filtre | Indice dans le rejet | Démarche conseillée |
|---|---|---|
| Spamhaus | IP ou domaine nommé dans le message d’erreur | Test et demande sur check.spamhaus.org ; une inscription SBL se règle avec l’hébergeur |
| Microsoft (Outlook, Hotmail) | Code 550 5.7.606-649 | Formulaire de retrait sur sender.office.com, une adresse IP par demande |
| Microsoft, expéditeur bloqué | Code 550 5.7.511 | Envoyer le rejet intégral et l’IP à [email protected] |
| Gmail | Messages refusés ou rangés parmi les indésirables | Suivre la réputation dans Postmaster Tools et respecter les règles expéditeurs |
| Hébergement mutualisé | Messagerie du compte coupée | Fournir la preuve du nettoyage et solliciter la réactivation |
Une seule demande par liste, déposée après suppression de la source, reste la bonne stratégie : des relances pendant que le spam continue retardent le retrait.
CNPD, CIRCL et Police grand-ducale : qui prévenir
Si les envois ont exposé des données personnelles, par exemple les messages de formulaires conservés dans la base, le RGPD peut exiger une notification à la Commission nationale pour la protection des données (CNPD) dans les 72 heures, sauf si la violation est peu susceptible d’engendrer un risque (article 33). La CNPD met un formulaire de notification à disposition sur cnpd.public.lu. En cas de risque élevé, les personnes concernées doivent aussi être informées (article 34). Notre page consacrée à la fuite de données et au RGPD détaille ces obligations, sans valoir conseil juridique.
Le CIRCL, équipe de réponse aux incidents pour le secteur privé, les communes et les organisations non gouvernementales du pays, reçoit les signalements à l’adresse [email protected]. Une plainte peut être déposée auprès de la Police grand-ducale si votre entreprise est victime d’usurpation ou d’escroquerie. BEE SECURE publie aussi des conseils utiles pour repérer un hameçonnage.
Un diagnostic de vos envois mené en visioconférence
Notre accompagnement se déroule entièrement en visioconférence, que votre entreprise soit à Luxembourg-Ville, à Wiltz ou à Remich, au créneau qui convient à votre équipe. Une séance de cadrage sert à lire ensemble vos messages d’échec et votre zone DNS.
En partage d’écran, nous examinons journaux, enregistrements et réglages d’envoi, en français ou en anglais. Une formation enregistrée vous reste pour la gestion des formulaires, et un point mensuel suit ensuite la réputation du domaine.
La démarche est identique pour une enseigne d’Esch-sur-Alzette ou un cabinet d’Ettelbruck. Quand le site est trop ancien pour être assaini proprement, une refonte du site WordPress mérite d’être étudiée ; dans tous les cas, le durcissement et des mises à jour suivies limitent la récidive.
Site WordPress envoie du spam : questions fréquentes
Dois-je couper le site entier pendant l’intervention ?
Pas forcément. En revanche, quand un site WordPress envoie du spam, l’expédition doit s’arrêter immédiatement : faites bloquer la messagerie du compte par l’hébergeur ou activez une page de maintenance. Archivez auparavant les fichiers, la base et les journaux, qui serviront de preuve et aideront à localiser le script ou le formulaire fautif.
Comment savoir si c’est mon domaine ou mon adresse IP qui est listé ?
Le message d’échec le précise souvent. Une IP bannie pénalise tous les sites hébergés sur le même serveur mutualisé, tandis qu’un domaine blacklisté e-mail vous suit même après un changement d’hébergeur. Les outils de vérification comme check.spamhaus.org testent l’un et l’autre. Les démarches de retrait diffèrent, d’où l’intérêt de savoir précisément ce qui est inscrit.
Une politique DMARC stricte règle-t-elle le problème ?
Non. DMARC empêche des serveurs extérieurs d’usurper votre domaine, mais un script installé sur votre propre hébergement peut produire des messages qui réussissent les contrôles. Le nettoyage et le changement des accès passent donc en premier. DMARC garde ensuite toute son utilité : ses rapports agrégés signalent rapidement le retour d’un envoi anormal.
Quelles informations réclamer à mon hébergeur ?
Demandez les journaux de messagerie de la période, le nom du script appelant la fonction mail de PHP si l’en-tête correspondant était activé, et la liste des fichiers modifiés récemment. Renseignez-vous aussi sur les conditions de réactivation. Si votre domaine blacklisté e-mail apparaît sur une liste, transmettez-lui ensuite un résumé écrit des mesures appliquées.
Un formulaire en quatre langues peut-il être détourné sans intrusion ?
Oui. Un formulaire qui expédie une copie à l’adresse saisie permet d’écrire à n’importe qui sans qu’aucun fichier soit modifié. Sur un site en français, allemand, luxembourgeois et anglais, chaque version doit recevoir les mêmes protections : anti-robot, plafond d’envois, suppression de la copie automatique. Vérifiez quand même l’intégrité des fichiers par prudence.
Faut-il notifier la CNPD ?
Tout dépend des données touchées. Si des données personnelles ont pu être consultées ou détournées, le RGPD impose une notification à la CNPD dans les 72 heures, sauf risque improbable, et l’information des personnes en cas de risque élevé. Documentez l’incident dans votre registre interne des violations dans tous les cas, et sollicitez la CNPD ou un juriste pour votre situation précise.
Comment éviter qu’un site WordPress envoie du spam de nouveau ?
Expédiez via un SMTP authentifié, protégez chaque formulaire, installez les mises à jour sans tarder et retirez les extensions superflues. Conservez des sauvegardes hors du serveur et lisez vos rapports DMARC. Une maintenance régulière détecte une hausse anormale des envois avant que les listes de blocage ne pénalisent votre domaine.
Un doute sur l’état de votre site ? Lancez une analyse de sécurité gratuite de votre site WordPress :
Vos messages n’arrivent plus chez vos clients ou vos partenaires ? Réservez un appel en visio : nous analysons ensemble vos retours d’erreur, votre configuration d’envoi et l’état de votre site WordPress pour diagnostiquer la source et fixer l’ordre des corrections.