WordPress redirige vers un casino : comment l'arrêter
Votre site WordPress renvoie vers un casino ou un site de paris, surtout depuis Google ? C'est un hack de redirection. Voici où il se cache et comment le retirer pour de bon.
Quand un visiteur clique sur votre site depuis Google et atterrit sur un casino en ligne ou un site de paris, vous avez affaire à un hack de redirection WordPress. C’est l’une des compromissions les plus courantes, et l’une des plus déroutantes : vous tapez votre adresse dans le navigateur, tout est normal, et pourtant vos clients vous disent que le site les envoie ailleurs. Cet article vous montre où se cache le code de redirection, comment le retirer, et comment vérifier qu’il ne reviendra pas.
Pourquoi la redirection n’apparaît que depuis Google ou sur mobile
Si vous ne voyez jamais le problème en tapant votre URL directement, c’est normal. Les pirates utilisent une technique appelée cloaking : le code de redirection se déclenche uniquement dans certaines conditions, pour rester invisible au propriétaire du site.
Concrètement, le code injecté regarde plusieurs choses avant de décider s’il redirige le visiteur :
- Le référent (referer). Si le visiteur arrive depuis un résultat de recherche Google ou Bing, il est redirigé. S’il tape l’URL directement (referer vide), il voit le site normal.
- L’appareil. Beaucoup de redirections ne ciblent que les mobiles. Sur desktop, rien ne se passe ; sur smartphone, le visiteur part vers le casino.
- Le cookie. Une fois redirigé, le visiteur reçoit souvent un cookie qui empêche une seconde redirection, pour ne pas éveiller les soupçons.
- L’adresse IP et le user-agent. Le code ignore les IP des administrateurs et les robots qu’il a intérêt à ne pas alerter.
Résultat : vous, connecté à votre admin depuis votre ordinateur, vous ne voyez jamais rien. Vos clients, eux, arrivent depuis Google sur leur téléphone et tombent sur des paris sportifs. Pour reproduire le bug, ouvrez votre site depuis une recherche Google en navigation privée, idéalement sur mobile.
Les cachettes typiques du code de redirection
Le code peut se trouver à plusieurs endroits à la fois. Il faut tous les inspecter, sinon la redirection persiste.
Le fichier .htaccess à la racine
C’est la cachette numéro un. Ouvrez le fichier .htaccess à la racine de votre installation (au même niveau que wp-config.php). Un .htaccess sain contient le bloc WordPress standard entre # BEGIN WordPress et # END WordPress. Méfiez-vous de tout ce qui se trouve avant ou après ce bloc : règles RewriteCond qui testent le HTTP_REFERER ou le HTTP_USER_AGENT, redirections RewriteRule vers un domaine inconnu, ou code encodé difficile à lire.
RewriteCond %{HTTP_REFERER} google [NC,OR]
RewriteCond %{HTTP_USER_AGENT} android [NC]
RewriteRule ^(.*)$ http://domaine-casino.xyz/ [R=301,L]
Si vous voyez ce genre de lignes, supprimez-les. Vérifiez aussi les .htaccess présents dans wp-content/ et wp-includes/, où il ne devrait y avoir aucune règle de redirection.
La table wp_options dans la base de données
Deux pièges ici. D’abord les champs siteurl et home : s’ils pointent vers autre chose que votre vrai domaine, le site entier part ailleurs. Vérifiez-les avec phpMyAdmin ou en SQL :
SELECT option_name, option_value FROM wp_options
WHERE option_name IN ('siteurl', 'home');
Ensuite, cherchez des options aux noms aléatoires que vous n’avez jamais créées (suites de lettres comme wp_a1b2c3 ou des noms exotiques). Les pirates y stockent du JavaScript ou un script PHP qu’un autre fichier exécute. Listez les options les plus volumineuses pour repérer l’anomalie :
SELECT option_name, LENGTH(option_value) AS taille FROM wp_options
ORDER BY taille DESC LIMIT 30;
Le préfixe de table peut être différent de wp_ sur votre installation. Adaptez selon votre wp-config.php.
Le thème : functions.php et header.php
Le pirate ajoute souvent quelques lignes au functions.php du thème actif (wp-content/themes/votre-theme/functions.php) ou injecte un <script> dans header.php. Cherchez des fonctions PHP qui utilisent base64_decode, eval, gzinflate ou str_rot13 : c’est presque toujours du code malveillant obfusqué. Comparez le fichier avec une version propre du thème téléchargée depuis sa source officielle.
Le JavaScript injecté
La redirection peut aussi se faire côté navigateur, via un <script> ajouté dans vos pages (souvent un window.location conditionnel, ou un script chargé depuis un domaine externe). Inspectez le code source d’une page (clic droit, « Afficher le code source ») et repérez tout script pointant vers un domaine que vous ne reconnaissez pas.
Les mu-plugins
Le dossier wp-content/mu-plugins (must-use plugins) est exécuté automatiquement par WordPress et n’apparaît pas dans la liste normale des extensions. C’est une cachette appréciée. Si ce dossier existe et contient des fichiers .php que vous n’avez pas installés volontairement, c’est très suspect. Inspectez-les avant de supprimer.
Comment retirer la redirection, étape par étape
- Faites une sauvegarde complète (fichiers + base de données) avant toute manipulation. Si vous cassez quelque chose, vous pourrez revenir en arrière.
- Nettoyez le
.htaccess: retirez toute règle suspecte. En cas de doute, régénérez un.htaccesspropre depuis les réglages des permaliens de WordPress. - Corrigez
wp_options: remettezsiteurlethomesur votre vrai domaine, supprimez les options aux noms aléatoires que vous avez identifiées comme malveillantes. - Restaurez le thème : remplacez
functions.phpetheader.phppar les versions saines, ou réinstallez le thème proprement. - Supprimez les mu-plugins injectés et tout fichier
.phpétranger danswp-content. - Réinstallez le cœur de WordPress depuis l’administration (Tableau de bord, Mises à jour, « Réinstaller maintenant ») pour écraser d’éventuels fichiers
wp-includesouwp-adminmodifiés. - Videz tous les caches : cache de votre plugin (WP Rocket, W3 Total Cache…), cache serveur, cache CDN type Cloudflare. Tant que le cache n’est pas purgé, l’ancienne version redirigée continue d’être servie.
Pour le détail complet de la procédure de désinfection, suivez notre guide que faire quand WordPress est piraté.
Vérifier que la redirection est bien partie
Ne vous fiez pas à un simple coup d’œil depuis votre admin : à cause du cloaking, ça ne prouve rien. Testez dans les conditions réelles du hack :
- Depuis Google, cherchez votre site et cliquez sur le résultat, plutôt que de taper l’URL.
- En navigation privée, pour éviter les cookies et le cache de votre navigateur.
- Sur mobile, ou en simulant un mobile (outils de développement du navigateur, mode appareil mobile).
- Avec l’outil d’inspection d’URL de la Google Search Console : il récupère votre page comme le fait Googlebot et vous montre ce que Google voit réellement, cloaking compris.
Faites plusieurs essais, sur plusieurs pages, y compris la page d’accueil et quelques articles.
Pourquoi il faut aussi trouver la backdoor
Retirer la redirection ne suffit pas. Si le pirate a laissé une backdoor (une porte dérobée, souvent un petit fichier PHP planqué dans wp-content/uploads ou ailleurs), il réinjectera la redirection dans les heures ou les jours qui suivent. Vous nettoierez le .htaccess le matin, il sera ré-infecté le soir.
Une backdoor ressemble souvent à un fichier au nom anodin (wp-cache.php, class.php, un .php posé dans un dossier d’images) contenant du code obfusqué. Cherchez les fichiers PHP récemment modifiés et tout .php présent dans des dossiers où il ne devrait pas y en avoir, comme wp-content/uploads. Tant que la porte d’entrée reste ouverte, le nettoyage ne tient pas.
Ce même type d’intrusion crée aussi de faux contenus : si vous voyez apparaître des pages que vous n’avez pas écrites, voyez comment supprimer les articles spam casino.
Prévention rapide
Une fois le site propre, limitez les risques de récidive :
- Mettez tout à jour : cœur WordPress, thème, extensions. La plupart des piratages exploitent une faille connue d’un plugin non mis à jour.
- Changez tous les mots de passe : administrateurs WordPress, FTP/SFTP, base de données, panneau d’hébergement.
- Supprimez les comptes admin que vous ne reconnaissez pas.
- Installez un plugin de sécurité (Wordfence, Sucuri…) pour surveiller les modifications de fichiers et bloquer les attaques.
- Surveillez les permissions de fichiers :
644pour les fichiers,755pour les dossiers, et unwp-config.phpen600si votre hébergement le permet.
Si votre site a été signalé par Google pendant l’infection, pensez aussi à enlever l’avertissement de Google une fois le nettoyage terminé.
FAQ
Pourquoi je ne vois la redirection que sur mon téléphone ? Parce que le code injecté cible volontairement les mobiles et ignore les ordinateurs de bureau. C’est du cloaking : le pirate maximise le trafic capté tout en restant invisible pour vous, qui administrez le site depuis un desktop.
J’ai nettoyé le .htaccess mais la redirection est revenue. Pourquoi ?
Il reste une backdoor active sur le site, ou un second emplacement infecté (base de données, mu-plugin, thème). Tant que la porte dérobée n’est pas supprimée, le code de redirection est réinjecté automatiquement.
Faut-il prévenir Google après le nettoyage ? Oui. Une fois le site sain, demandez un nouvel examen via la Search Console pour faire lever un éventuel avertissement « Ce site risque d’endommager votre ordinateur » et accélérer le réindexage des pages propres.
Si vous voulez aller droit au but, WP-Detox propose un scan gratuit qui vous montre précisément ce qui est détecté sur votre site : règles de redirection, options malveillantes, backdoors. Le nettoyage complet prend environ 30 minutes, à 149 € tout compris, avec une sauvegarde réalisée avant toute intervention. Si nous n’arrivons pas à nettoyer votre site, vous êtes remboursé.