Dans cet article
Un client vous écrit : « en cliquant sur votre site dans Google, je suis tombé sur une page de casino ». Vous vérifiez en tapant l'adresse : tout est normal. Ce décalage n'est pas un hasard. Le code malveillant regarde d'où vient le visiteur, et ne le détourne que s'il arrive depuis un moteur de recherche. C'est l'une des formes de la redirection malveillante, et elle peut rester des semaines sans que le propriétaire la voie. La rubrique dépannage et site piraté présente les autres cas.
Pourquoi le pirate ne redirige que les visiteurs de Google
Ce choix répond à trois objectifs :
- Rester invisible pour vous. Le propriétaire tape presque toujours l'adresse directement ou passe par un favori. Il ne voit rien.
- Voler un trafic de qualité. Les visiteurs qui viennent de Google cherchent activement quelque chose. Ils ont plus de valeur pour les réseaux de publicité frauduleuse qui rémunèrent le pirate.
- Retarder la détection. Le robot de Google, lui, est souvent épargné, ou reçoit une page différente, pour que l'alerte « site dangereux » arrive le plus tard possible.
Le code combine en général plusieurs conditions : provenance Google, appareil mobile, première visite seulement (un cookie est posé pour ne pas recommencer), et exclusion des administrateurs connectés.
Reproduire la redirection
Pour prouver le problème, et plus tard vérifier que le nettoyage a fonctionné, il faut se placer dans les conditions du visiteur :
- Prenez un téléphone en 4G, pas sur le wifi du bureau (certains codes excluent une adresse IP déjà vue).
- Ouvrez une fenêtre de navigation privée, pour partir sans cookie.
- Cherchez dans Google le nom de votre entreprise ou une page précise de votre site, puis cliquez sur le résultat.
- Si rien ne se passe, recommencez avec une autre page, ou depuis un autre téléphone. Le déclenchement est parfois aléatoire.
Notez l'heure, l'appareil et l'adresse de destination. Ces détails aident à retrouver le code.
Pour un administrateur à l'aise avec la ligne de commande, l'outil curl permet de simuler une visite venant de Google en précisant une provenance, avec l'option « -e https://www.google.com/ » et un navigateur mobile avec l'option « -A ». Comparez la réponse avec une visite sans ces options : un code 301 ou 302 vers un domaine inconnu, ou un script supplémentaire dans la page, confirme l'injection.
Où se cache le code
Trois endroits reviennent le plus souvent.
Le fichier .htaccess
C'est la méthode la plus simple pour le pirate. Des règles de réécriture testent la provenance (la variable HTTP_REFERER contenant google, bing ou yahoo) et renvoient vers un autre domaine. Ouvrez le .htaccess à la racine, mais aussi ceux des sous-dossiers. Toute règle qui mentionne un moteur de recherche est suspecte.
Un fichier PHP du site
Le code peut être ajouté au début d'un fichier chargé à chaque page : functions.php du thème, index.php, wp-config.php, ou une extension. Il lit la provenance et le navigateur du visiteur, puis envoie une redirection. Il est souvent caché sous une forme illisible (texte encodé, fonctions comme base64_decode ou gzinflate).
Un script dans la base de données
Le code peut aussi être un JavaScript injecté dans un réglage, un widget ou le contenu des articles. Il teste la provenance côté navigateur, puis change de page. C'est le cas le plus difficile à repérer, car aucun fichier n'est modifié.
Les gestes immédiats
- Ne supprimez rien à l'aveugle. Notez ce que vous trouvez, faites une sauvegarde de l'état actuel.
- Changez les mots de passe de l'hébergement, du FTP et des administrateurs depuis un ordinateur sain.
- Ouvrez la Search Console : la rubrique sur les problèmes de sécurité indique si Google a déjà repéré quelque chose, et l'outil d'inspection d'URL montre la page telle que Google la voit.
Et votre référencement ?
Tant que la redirection est en place, Google peut finir par la détecter et afficher un avertissement à côté de votre site, ou un écran rouge dans Chrome. Le trafic de recherche chute alors brutalement. Après le nettoyage, vérifiez la Search Console et, si un problème de sécurité y est signalé, demandez un réexamen. Notre article lever l'alerte « site dangereux » de Google détaille la démarche.
Pourquoi retirer la règle ne suffit pas
Supprimer la ligne fautive du .htaccess arrête la redirection, souvent pour quelques heures seulement. Le pirate est entré par une faille ou un mot de passe volé, et il a presque toujours laissé une porte dérobée qui remet le code en place. Un nettoyage efficace retrouve l'injection, toutes ses copies, l'accès de secours et la cause d'origine.
Si vos visiteurs sont redirigés sur mobile plutôt que depuis Google, notre article sur la redirection uniquement sur mobile détaille ce cas voisin. Et si des pages en japonais apparaissent en plus dans les résultats de recherche, lisez le hack japonais expliqué.
Pour un WordPress standard, le nettoyage express est à 190 €, le nettoyage complet à 350 € si la base de données ou plusieurs sites sont touchés (TVA non applicable). Diagnostic gratuit au 04 82 53 39 32 ou à lois.armand@hinsight.org.