Inspection d'URL : Google voit un autre contenu que vous
Quand l'inspection d'URL montre un autre HTML que votre écran, c'est la preuve du cloaking. Copiez ce que « Google a vu ». Il contient souvent le domaine de spam ou le script. Gardez-le pour le constat — ce n'est pas un bug de Search Console.
C'est la preuve du cloaking. Copiez le HTML « vu par Google ». Il contient souvent le domaine de spam ou le script. Gardez-le pour le constat.
Deux vues : indexée et test en direct
L'inspection affiche la version indexée (ce que Google a stocké) et un test en direct (ce qu'il télécharge maintenant). Les deux peuvent différer de votre Chrome connecté. Trois contenus possibles : le vôtre, l'ancien spam encore en index, le spam encore servi en live.
Si l'indexée est sale et le live propre, le générateur est peut-être coupé : il reste à faire sortir les URL. Si le live est sale et votre écran propre, le cloaking tourne encore. Si les trois sont sales, vous n'êtes pas allé au bout.
Lancez le test en direct sur une URL de l'échantillon GSC, sur la home, et sur une fiche produit. Un cloaking « home only » existe ; l'inverse aussi.
Faites les trois URL le même jour, avec la même capture d'écran (date Windows visible). Un écart home propre / fiche produit sale oriente vers le template Woo ou Elementor, pas vers `index.php` de racine. Un écart live propre / indexée sale oriente vers le calendrier de crawl, pas vers un échec de nettoyage.
Gardez le HTML « vu par Google » hors serveur, horodaté. C'est la pièce que le réviseur Ads et l'assureur comprennent. Un écart n'est un bug de Search Console que si cache, cookie admin ou challenge Cloudflare expliquent tout — encore faut-il l'avoir éliminé.
Copier le HTML, pas seulement le screenshot
Le rendu visuel de l'outil est pauvre. Le HTML brut l'est moins : domaines, iframes, `eval`, redirections meta, canonicals vers un tiers. Enregistrez-le hors du serveur (votre PC). C'est une pièce datée.
Grepez ensuite ces chaînes sur l'hébergement. Un domaine `best-pharma-shop.xyz` unique retrouve le mu-plugin ou la ligne `file_get_contents`. Sans ce HTML, on cherche à l'aveugle.
N'envoyez pas ce HTML à n'importe quel « freelance 29 € » sans contrat : il contient parfois des tokens. Un prestataire sérieux le traite comme une preuve, pas comme un gist public.
Écart cookie, cache, CDN
Tout écart n'est pas du malware. Un cache HTML (WP Rocket, Cloudflare « cache everything ») peut servir une vieille page à Googlebot et une neuve à vous. Après un nettoyage, purgez le CDN, object cache Redis, cache plugin. Sinon l'inspection ment encore 24 h.
Un cookie `wordpress_logged_in` change le HTML (admin bar, prix B2B). Inspectez déconnecté. L'outil Google n'a pas votre cookie — tant mieux, c'est le point.
Geo / A/B : un plugin qui change le H1 selon le pays peut étonner, sans être un hack. Le critère malware : contenu hors métier, redirection hors domaine, script minage, iframe carte. Core Web Vitals et minage.
- Purger CDN et cache page après nettoyage.
- Tester déconnecté.
- Comparer home, article, checkout.
Ce que le HTML pirate trahit
Des blocs de liens en japonais en bas de page, un `<script src="https://.../jquery.min.js">` qui n'est pas jQuery, un `base href` vers un autre domaine, une canonical `https://casino...`. Chacun pointe un type de fichier.
Un `meta refresh` ou un JS `location.replace` conditionnel : cherchez dans le thème et `wp_options` (`siteurl` parfois intact, injection dans `auto_update` / widgets).
Si le HTML live est un article de blog générique que vous n'avez jamais écrit, c'est du générateur virtuel. Pages pharmacies.
Si vous ne lisez pas le HTML, cherchez simplement les domaines qui ne sont pas les vôtres, les `base64`, les `eval`, les `iframe` et les `meta http-equiv=refresh`. Copiez ces chaînes dans un fichier texte hors serveur. C'est le brief que vous donnez à un prestataire ou que vous collez dans un grep. Sans ça, on vous facture une journée de « on a tout scanné ».
User-agent, IP, paramètre
Les scripts testent `Googlebot`, `Mediapartners`, une plage d'IP Google, ou `?gclid=`. D'où l'intérêt de cliquer depuis un résultat, pas seulement de taper l'URL. L'inspection utilise l'identité Google : elle déclenche le cloaking « anti-Google » aussi bien que le cloaking « pour Google ».
Certains kits inversés servent le spam à Google et le site normal aux humains (SEO). D'autres l'inverse (escroquerie). L'inspection attrape surtout le premier. Pour le second : téléphone, 4G, lien Ads. Site qui redirige.
Après la coupure : retester
Retirez le fichier, purgez les caches, attendez quelques minutes, test en direct à nouveau. Si le spam reste, il y a un second point : cache, autre include, ou CDN d'un sous-domaine oublié.
Demandez ensuite l'indexation de la home et d'un template. L'ancienne version indexée peut rester visible dans les SERP quelques jours. Ce n'est pas un échec du live test.
S'en servir pour Ads et le réexamen
Joignez le HTML « avant » au recours Ads et au réexamen sécurité : preuve que vous savez ce qui a été servi. Le HTML « après » montre l'état actuel. Ads suspendu.
Le message site piraté GSC prend un sens dès que vous avez collé l'échantillon à un fichier.
Limites de l'outil
Il ne rend pas tout le JS comme un Chrome utilisateur. Un mineur chargé après 3 secondes peut échapper au rendu et quand même casser l'INP. Complétez par un navigateur réel.
Les URL authentifiées (compte client) ne s'inspectent pas comme un visiteur loggé. Pour un skimmer checkout, un test manuel du tunnel reste nécessaire.
Si vous ne savez pas lire le HTML rendu, déclarez le site : le constat reprend ces extraits. Page cas WordPress.
Sur une boutique, inspectez aussi `/panier` et une URL avec `?add-to-cart=` si elle répond sans session. Le skimmer n'habite pas la home. WooCommerce à vérifier si le tunnel est en jeu.