Ce week-end, je cherchais une information sur le site de la mairie d’Anthy-sur-Léman. J’ai tapé « Anthy-sur-Léman » dans Google et le site de la mairie n’est pas sorti. J’ai laissé tomber ma recherche.
Lundi, par curiosité professionnelle, j’ai voulu comprendre pourquoi. J’ai tapé site:anthy-sur-leman.fr dans Google. Au lieu des pages de la mairie, Google affichait des textes en thaïlandais avec des publicités pour des casinos en ligne. Le site avait été piraté, et personne à la mairie ne s’en était rendu compte.

Pourquoi on ne voit rien en visitant son propre site
Ce type de piratage est conçu pour rester invisible. Le code malveillant regarde qui demande la page. Si c’est un internaute, il sert le site normal. Si c’est Googlebot, le robot de Google, il sert des pages de spam. On appelle ça du cloaking.
Le webmaster ouvre son site, tout va bien. Les élus aussi. Pendant ce temps, Google indexe des milliers de pages de casino et finit par considérer le site comme du spam. Il le fait descendre dans les résultats, parfois au point qu’on ne le trouve plus en tapant son propre nom. C’est ce qui m’est arrivé en cherchant la mairie.

L’opérateur site: pour voir ce que Google a indexé
C’est le test le plus rapide. Dans la barre de recherche Google, tapez site: suivi de votre nom de domaine, sans espace et sans « https:// » :
site:votre-site.fr
Google liste alors les pages de votre site qu’il connaît. Parcourez les deux ou trois premières pages de résultats. Méfiez-vous des titres ou descriptions dans une langue que vous n’utilisez pas (thaï, japonais, chinois, russe) et des sujets qui n’ont rien à voir avec votre activité : casino, paris sportifs, médicaments, contrefaçons de marques. Des adresses qui ne correspondent pas à votre site doivent aussi vous alerter, par exemple des URL en /wp-content/ alors que votre site n’est pas sous WordPress. Même chose si Google annonce beaucoup plus de pages que vous n’en avez publié.
Vous pouvez affiner en ajoutant un mot-clé : site:votre-site.fr casino ou site:votre-site.fr viagra. Si des résultats sortent sur un site de mairie ou d’artisan, le doute n’est plus permis.
Voir son site avec les yeux de Googlebot dans Chrome
Le deuxième test confirme le premier. Chrome permet de se faire passer pour Googlebot et d’afficher la page telle que le robot la reçoit.
- Ouvrez votre site dans Chrome.
- Ouvrez les outils de développement. Le plus simple est un clic droit n’importe où sur la page, puis « Inspecter ». Vous pouvez aussi passer par les trois petits points en haut à droite de Chrome, puis « Plus d’outils » et « Outils de développement ».
- Un panneau s’ouvre. En haut à droite de ce panneau, cliquez sur ses trois petits points à lui, puis sur « Plus d’outils » et « Conditions du réseau ».
- Dans l’onglet « Conditions du réseau », repérez la partie « User-agent ». Décochez la case « Utiliser les paramètres par défaut du navigateur ».
- Dans la liste déroulante, choisissez un Googlebot. Je recommande « Googlebot Smartphone », puisque Google indexe d’abord la version mobile des sites.
- Rechargez la page, en laissant le panneau ouvert.
Si la page qui s’affiche est la même que d’habitude, bonne nouvelle. Si vous voyez apparaître du texte étranger, des liens vers des casinos ou une page complètement différente, votre site est piraté.
Voici ce que donnait le site de la mairie d’Anthy-sur-Léman avec ce réglage :


Le réglage ne s’applique qu’à l’onglet en cours et seulement tant que le panneau est ouvert. Pensez à tester plusieurs pages, pas seulement l’accueil, car le spam se loge souvent dans des pages internes.
Ce test a une limite. Certains scripts malveillants vérifient aussi l’adresse IP de la requête et ne servent le spam qu’aux vrais serveurs de Google. Dans ce cas, Chrome ne montrera rien d’anormal. Si vous avez accès à la Google Search Console, utilisez « Inspection de l’URL », puis « Tester l’URL en ligne » et « Afficher la page explorée ». Vous verrez le code que Google a réellement reçu. Regardez aussi la rubrique « Problèmes de sécurité », où Google signale parfois lui-même le piratage.
Quand plusieurs sites tombent en même temps
En remontant le fil, je suis allé voir le prestataire qui a réalisé le site de la mairie. Son propre site est touché. Dans sa rubrique de réalisations, une grande partie des sites clients le sont aussi, et tous tournent sous Joomla.

Quand plusieurs sites d’un même prestataire sont piratés en même temps, il y a presque toujours une cause commune : une version de Joomla ou une extension jamais mise à jour, un thème vulnérable, ou un serveur partagé où un site infecté contamine ses voisins. Les pirates ne visent pas une mairie de 2 500 habitants en particulier. Ils scannent le web à la recherche d’une faille connue et l’exploitent partout où elle est ouverte.
J’ai contacté le prestataire et ses clients pour leur montrer ces deux tests. Ils prennent cinq minutes et n’exigent aucune compétence technique.
Si votre site est touché
Prévenez d’abord la personne qui gère votre site, prestataire ou hébergeur. Le nettoyage demande de repérer les fichiers modifiés ou ajoutés, de vérifier le fichier .htaccess et la base de données, puis de mettre à jour le CMS, le thème et toutes les extensions. Changez aussi tous les mots de passe : administration, FTP, base de données, hébergement.
Supprimer le spam ne suffit pas. Si la faille reste ouverte, le site sera réinfecté dans les jours qui suivent.
Une fois le site propre, passez par la Search Console pour demander la suppression des URL de spam et, si Google a émis un avertissement de sécurité, demander un réexamen. Comptez ensuite quelques semaines pour que Google réindexe correctement le site et que le nom de la commune ou de l’entreprise le fasse ressortir à nouveau.
Faites le test site: sur votre propre domaine dès aujourd’hui. Si vous gérez plusieurs sites, faites-le sur chacun. C’est comme ça que j’ai découvert un réseau entier de sites piratés en cherchant simplement les horaires d’une mairie.
Si vous avez des questions, merci de laisser un commentaire ci-dessous, je n’ai malheureusement pas le temps de répondre à tout le monde.