Blog / Tutoriels

Spam casino WordPress : le reconnaître et le nettoyer

Le spam casino WordPress est l'infection la plus répandue du moment : des milliers de pages de paris en ligne apparaissent dans Google sous votre nom de domaine, alors que votre site semble intact. Voici comment le reconnaître, d'où il vient, et comment le nettoyer pour de bon.

Search results showing spam pages under a domain name

À quoi ressemble le spam casino WordPress

Le phénomène porte plusieurs noms selon les pays : « japanese keyword hack », « pharma hack », « casino hack ». Le mécanisme est le même.

Les symptômes vus depuis Google

Tout commence par une recherche site:votredomaine.fr. Au lieu de vos trente pages habituelles, Google en liste trois mille : « meilleur casino en ligne 2026 », « machines à sous bonus sans dépôt », « slot gacor », souvent en japonais, en indonésien ou en turc. Les adresses ressemblent à /casino/, /slot-online/, /?p=xxxx ou à des sous-dossiers aux noms aléatoires. En cliquant depuis Google, le visiteur est redirigé vers un site de paris ; en tapant la même adresse directement, il voit une page 404 ou votre site normal. Cette différence de comportement est la signature du spam casino WordPress : le code injecté lit le référent et l’agent utilisateur, et ne sert le contenu de spam qu’aux robots de Google et aux visiteurs venant d’un résultat de recherche. C’est ce qui le rend si difficile à repérer pour le propriétaire, qui tape toujours l’adresse de son site à la main. Les autres signes suivent : la Search Console signale des milliers de nouvelles pages indexées et des « problèmes de sécurité », le nombre de clics s’effondre pour vos vrais mots-clés, des courriers de plainte arrivent, et parfois l’hébergeur bloque le compte à cause de la charge serveur générée par les millions de requêtes des robots sur les pages fictives.

Ce que l’attaquant gagne avec un spam casino WordPress

Le but n’est pas de vous nuire, mais d’emprunter votre réputation. Un domaine ancien, avec des liens entrants et un historique propre, se positionne dans Google bien plus facilement qu’un domaine créé la veille. Les réseaux qui vendent des liens aux casinos en ligne, dans des pays où leur publicité est interdite, ont donc industrialisé la prise de contrôle de sites WordPress ordinaires : chaque site piraté devient un relais qui héberge des pages de paris, renvoie vers le casino client, et transmet une partie de son autorité. Un seul réseau peut contrôler plusieurs dizaines de milliers de sites, répartis par pays et par langue. Le code injecté est conçu pour durer : il se réinstalle si on supprime un fichier, se cache dans plusieurs endroits à la fois et évite soigneusement de modifier la page d’accueil. Plus l’infection reste invisible, plus le site rapporte. C’est pourquoi un spam casino WordPress peut vivre six mois ou un an sur un site d’entreprise sans que personne ne s’en aperçoive, jusqu’au jour où Google retire le domaine de ses résultats ou affiche l’avertissement « Ce site risque d’avoir été piraté ». À ce stade, la perte de visibilité est déjà installée, et la récupération prendra plusieurs semaines après le nettoyage.

Nettoyer un spam casino WordPress en sept étapes

Le nettoyage demande de la méthode, pas de l’expertise. L’erreur classique est de supprimer les pages visibles et de s’arrêter là.

Trouver le code injecté

Le code se cache à plusieurs endroits à la fois, et il faut tous les trouver. Commencez par les fichiers récemment modifiés : depuis un accès SSH, find . -name "*.php" -mtime -30 liste tout ce qui a bougé dans le mois. Comparez le cœur de WordPress avec la version officielle, soit via un outil de vérification d’intégrité, soit en téléchargeant la même version et en comparant dossier par dossier. Examinez ensuite les emplacements favoris de ce type d’infection, résumés dans le tableau ci-dessous. Cherchez dans tous les fichiers les motifs eval(, base64_decode(, gzinflate(, str_rot13(, et les longues chaînes de caractères illisibles. Regardez aussi les fichiers qui ne devraient pas exister : un .php dans uploads, un wp-conf.php, un index2.php, un fichier au nom aléatoire à la racine. Enfin, la base de données : la table wp_posts contient souvent les milliers d’articles de spam, parfois avec un statut spécial qui les cache de l’administration, et la table wp_options peut héberger un script dans les options du thème. Un administrateur inconnu dans wp_users est presque systématique.

Emplacement Forme typique Comment vérifier
Racine du site Fichiers PHP aux noms aléatoires, .htaccess avec règles de réécriture vers un script Comparer avec une installation propre
wp-includes Code ajouté en tête d’un fichier légitime Vérification d’intégrité du cœur
wp-content/mu-plugins Extension invisible chargée automatiquement Lister le dossier, lire chaque fichier
wp-content/uploads Portes dérobées en PHP, sous-dossiers de pages HTML Rechercher tout fichier PHP
Sitemaps sitemap.xml supplémentaires listant les pages de spam Ouvrir /sitemap.xml et robots.txt
Base de données Articles cachés, options contenant du JavaScript, admin inconnu Requêtes sur wp_posts, wp_options, wp_users

Supprimer, remplacer, puis vérifier

Une fois la carte de l’infection établie, suivez cet ordre, sans en sauter.

  1. Sauvegarder l’état infecté, fichiers et base, hors du serveur. Vous n’y reviendrez sans doute jamais, mais c’est votre filet de sécurité.
  2. Changer tous les mots de passe : WordPress, FTP, base de données, hébergement. Régénérer les clés de sécurité de wp-config.php.
  3. Remplacer le cœur : supprimer wp-admin et wp-includes, réinstaller la même version depuis wordpress.org, remettre les fichiers de la racine sauf wp-config.php.
  4. Réinstaller extensions et thèmes depuis leurs sources officielles, supprimer tout ce qui n’est plus utilisé ou n’a pas de source connue.
  5. Nettoyer la base : supprimer les articles de spam par lot, retirer les administrateurs inconnus, inspecter wp_options.
  6. Purger les sitemaps et le cache, puis relancer un scan externe et une recherche site:.
  7. Demander la suppression des pages de spam dans la Search Console et le réexamen de sécurité.

La vérification ne s’arrête pas le jour même : surveillez les fichiers modifiés pendant au moins deux semaines. Une réinfection dans les premiers jours signifie qu’une porte dérobée a survécu ou que la faille d’origine n’a pas été fermée.

Restaurer une sauvegarde plutôt que nettoyer ?

La question revient à chaque fois, et la réponse dépend de deux dates : celle de l’infection et celle de la dernière sauvegarde sûrement saine. Si vous disposez d’une copie antérieure à l’apparition des premières pages de paris dans Google, et que peu de contenu a été publié depuis, la restauration est la voie la plus rapide : une heure au lieu d’une journée. Le piège est que la plupart des sauvegardes automatiques tournent sur sept ou trente jours, alors qu’un spam casino WordPress vit souvent plusieurs mois avant d’être remarqué ; toutes les copies disponibles contiennent alors déjà l’infection, parfois sous une forme dormante qui se réactivera quelques jours après la restauration. Pour trancher, datez l’infection à l’aide des fichiers modifiés et de la Search Console, qui indique quand le nombre de pages indexées a commencé à grimper, puis choisissez une sauvegarde nettement antérieure. Dans tous les cas, la restauration ne dispense ni du changement des mots de passe, ni de la mise à jour immédiate de tout ce qui est installé, ni de la vérification des administrateurs : la faille qui a permis l’entrée existe aussi dans la sauvegarde, et le robot qui l’a exploitée repassera. Un site restauré sans ces trois gestes est réinfecté dans la semaine, avec en prime la perte du contenu publié entre-temps.

Faire disparaître les pages de Google

Nettoyer le serveur ne suffit pas : Google garde les trois mille pages de casino dans son index pendant des semaines, et continue d’associer votre domaine à ces mots-clés. Il faut accélérer leur retrait. D’abord, assurez-vous que les anciennes adresses renvoient désormais un code 404 ou, mieux, 410, qui signale une suppression définitive et accélère la désindexation. Ensuite, dans la Search Console, utilisez l’outil de suppression pour les préfixes d’adresses les plus fréquents, par exemple tout ce qui commence par /casino/. Soumettez à nouveau votre sitemap légitime, et seulement lui. Si la Search Console affiche un problème de sécurité, demandez le réexamen en décrivant les actions menées ; la réponse arrive en général sous une semaine. Vérifiez également Bing, dont les outils pour webmasters proposent les mêmes fonctions. Attendez-vous à une reprise progressive : les sites nettoyés retrouvent habituellement leur positionnement en quatre à huit semaines, parfois plus si l’infection durait depuis longtemps. Pendant cette période, publiez normalement et surveillez la Search Console chaque semaine, le nombre de pages indexées doit redescendre régulièrement vers votre chiffre réel.

Empêcher que ça revienne

Un spam casino WordPress nettoyé sans correction de la cause revient en quelques jours.

Spam casino WordPress : les portes d’entrée habituelles

Dans la quasi-totalité des cas documentés, l’infection passe par une extension ou un thème non mis à jour, dont la faille est publique et exploitée automatiquement par des robots qui scannent le web en continu. Les éditeurs de formulaires, de galeries, de constructeurs de pages et de sauvegardes sont les cibles les plus courantes, simplement parce qu’ils sont installés sur des millions de sites. Viennent ensuite les mots de passe faibles ou réutilisés : un compte « admin » avec un mot de passe apparu dans une fuite de données est testé dans l’heure. Les thèmes et extensions payants téléchargés gratuitement sur des sites de contrefaçon arrivent en troisième position : ils sont livrés avec la porte dérobée intégrée, et l’installation du spam suit quelques semaines plus tard. Enfin, sur les hébergements mutualisés mal cloisonnés, un site abandonné sur le même compte peut contaminer ses voisins. Ce que le spam casino WordPress n’exploite presque jamais, c’est une faille du cœur de WordPress : celles-ci sont rares et corrigées en quelques heures. Autrement dit, la cause est presque toujours un retard de mise à jour ou un mot de passe, deux choses que l’on corrige sans compétence technique particulière, à condition de le faire régulièrement.

Spam casino WordPress : la surveillance qui l’arrête en une heure

La différence entre une infection découverte en une heure et une infection découverte par Google six mois plus tard tient à un seul élément : quelqu’un ou quelque chose regarde le site tous les jours. Une surveillance efficace compare chaque jour les fichiers du site à une empreinte connue et alerte sur tout fichier PHP nouveau ou modifié, en particulier dans uploads et mu-plugins. Elle liste les administrateurs et signale tout compte inattendu. Elle vérifie que wp-config.php, .htaccess et le sitemap n’ont pas changé. Elle contrôle que le site renvoie le même contenu à un visiteur normal et à Googlebot, ce qui détecte le cloaking caractéristique de cette attaque. À côté de la surveillance, trois mesures réduisent fortement l’exposition : les mises à jour hebdomadaires de tout ce qui est installé, l’interdiction d’exécuter du PHP dans le dossier uploads, et la désactivation de l’éditeur de fichiers dans l’administration. Pour une agence qui gère vingt ou cinquante sites, faire cela à la main est impossible ; c’est précisément ce qu’un outil de gestion de parc automatise, en remontant chaque jour les sites dont un fichier a bougé ou dont une extension accuse un retard de version.

Questions fréquentes

Mon site s’affiche normalement, suis-je vraiment infecté ? Oui, si site:votredomaine.fr montre des pages de paris. Le code ne les sert qu’à Google et aux visiteurs venant d’un résultat de recherche.

Supprimer les pages de spam suffit-il ? Non. Elles sont régénérées par le code injecté, qu’il faut retirer des fichiers et de la base.

Combien de temps pour retrouver mon classement ? Quatre à huit semaines après un nettoyage complet et un réexamen accepté.

Un pare-feu aurait-il suffi ? Il aurait bloqué les tentatives de connexion, pas l’exploitation d’une extension obsolète. La mise à jour reste la première protection.