{"id":1922,"date":"2026-05-28T23:00:00","date_gmt":"2026-05-28T23:00:00","guid":{"rendered":"https:\/\/smartcoding.com.au\/lanatomie-dune-attaque-de-cloaking-seo-sur-wordpress\/"},"modified":"2026-07-26T22:16:27","modified_gmt":"2026-07-26T22:16:27","slug":"lanatomie-dune-attaque-de-cloaking-seo-sur-wordpress","status":"publish","type":"post","link":"https:\/\/smartcoding.com.au\/fr\/lanatomie-dune-attaque-de-cloaking-seo-sur-wordpress\/","title":{"rendered":"L&rsquo;anatomie d&rsquo;une attaque de cloaking SEO sur WordPress"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Tous les piratages de WordPress ne sont pas bruyants. Certains attaquants ne veulent ni d\u00e9figurer votre site ni le prendre en otage. Ils veulent d\u00e9tourner en silence l&rsquo;autorit\u00e9 de recherche de votre domaine et l&rsquo;utiliser pour positionner leur propre contenu dans Google. Ces attaques s&rsquo;appellent des attaques de cloaking SEO, et elles comptent parmi les compromissions les plus dommageables qu&rsquo;un site d&rsquo;entreprise puisse subir, car le propri\u00e9taire ignore souvent qu&rsquo;elles ont lieu.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Cet article d\u00e9crit exactement comment fonctionne une v\u00e9ritable attaque de cloaking SEO, \u00e0 partir d&rsquo;une \u00e9tude de cas r\u00e9cente d&rsquo;une agence de Sydney o\u00f9 chaque fichier et chaque aiguilleur a \u00e9t\u00e9 identifi\u00e9 lors d&rsquo;un audit forensique. Si vous g\u00e9rez un site WordPress, ce qui suit est le sch\u00e9ma que vous devriez savoir reconna\u00eetre.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Ce que signifie le cloaking<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le cloaking consiste \u00e0 servir aux moteurs de recherche un contenu diff\u00e9rent de celui pr\u00e9sent\u00e9 aux visiteurs humains. Une page peut montrer \u00e0 Googlebot un long article bourr\u00e9 de mots-cl\u00e9s sur des sujets commerciaux sans rapport, tout en affichant \u00e0 un visiteur normal une page d&rsquo;atterrissage g\u00e9n\u00e9rique ou une redirection. Le but est de tromper les moteurs de recherche pour qu&rsquo;ils classent le contenu masqu\u00e9 sous l&rsquo;autorit\u00e9 d&rsquo;un domaine \u00e9tabli.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Google a des r\u00e8gles contre cela. Le cloaking enfreint les consignes aux webmasters et peut valoir \u00e0 un domaine des p\u00e9nalit\u00e9s d&rsquo;action manuelle ou un effondrement complet du classement s&rsquo;il est d\u00e9tect\u00e9. L&rsquo;attaquant s&rsquo;en moque, car le domaine n&rsquo;est pas le sien.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Le sch\u00e9ma des cinq r\u00e9pertoires<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le cas de Sydney utilisait une version particuli\u00e8rement propre de l&rsquo;attaque. L&rsquo;attaquant avait cr\u00e9\u00e9 cinq nouveaux r\u00e9pertoires \u00e0 la racine du site, chacun nomm\u00e9 pour reproduire une vraie page WordPress. Des dossiers portant des noms comme about, contact, good-to-know, services et work apparaissaient sur le disque. Chacun contenait exactement trois fichiers. Un aiguilleur index.php. Un fichier HTML user.php. Un fichier HTML wp-log.php.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">La raison de nommer les dossiers d&rsquo;apr\u00e8s de vraies pages \u00e9tait simple. Lorsqu&rsquo;une requ\u00eate arrivait pour \/about\/ sur le site, le serveur web v\u00e9rifiait d&rsquo;abord le syst\u00e8me de fichiers. Un dossier nomm\u00e9 about existait, avec un index.php \u00e0 l&rsquo;int\u00e9rieur. Le serveur web r\u00e9solvait ce fichier avant que le propre routage d&rsquo;URL de WordPress n&rsquo;intervienne. Chaque requ\u00eate vers ces URL atteignait le code de l&rsquo;attaquant plut\u00f4t que la page WordPress l\u00e9gitime.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">L&rsquo;aiguilleur<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Le fichier index.php de chaque dossier \u00e9tait un petit bout de PHP qui ne faisait qu&rsquo;une seule chose. Il inspectait l&rsquo;en-t\u00eate HTTP User-Agent de la requ\u00eate entrante et aiguillait en cons\u00e9quence. Si le User-Agent contenait Googlebot, Googlebot-Mobile ou Googlebot-News, il servait le contenu de wp-log.php. Sinon, il incluait user.php et s&rsquo;arr\u00eatait.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le m\u00eame fichier \u00e9tait d\u00e9ploy\u00e9 dans les cinq dossiers, identique octet pour octet. L&rsquo;attaquant a utilis\u00e9 une seule charge utile et une seule r\u00e8gle de d\u00e9cision. Tout le reste n&rsquo;\u00e9tait que donn\u00e9es.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La charge utile pour Googlebot<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les fichiers wp-log.php, malgr\u00e9 l&rsquo;extension .php, contenaient du HTML pur. Ils \u00e9taient \u00e9normes, allant d&rsquo;environ 1,3 Mo \u00e0 plus de 4 Mo. Chacun \u00e9tait une page HTML compl\u00e8te dans une langue \u00e9trang\u00e8re, en l&rsquo;occurrence l&rsquo;indon\u00e9sien, avec du contenu de spam couvrant les jeux d&rsquo;argent, le commerce en ligne et le suivi de produits Samsung. Les pages \u00e9taient truff\u00e9es de donn\u00e9es structur\u00e9es, de scripts de suivi tiers int\u00e9gr\u00e9s et de liens con\u00e7us pour surclasser le contenu l\u00e9gitime sur les mots-cl\u00e9s vis\u00e9s.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Pourquoi l&rsquo;appeler wp-log.php ? Camouflage. Pour un propri\u00e9taire jetant un \u0153il \u00e0 la liste des fichiers, cela ressemble \u00e0 un fichier journal de WordPress, pas \u00e0 une charge utile suspecte.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">La charge utile pour humains<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les fichiers user.php \u00e9taient de plus petites pages HTML servies aux vrais visiteurs humains. C&rsquo;\u00e9taient des pages satellites (doorway pages) provenant de sites tiers sans rapport, elles aussi d\u00e9guis\u00e9es avec une extension .php alors qu&rsquo;elles ne contenaient aucun code PHP. Quiconque atteignait l&rsquo;une de ces URL depuis un r\u00e9sultat de recherche, ou naviguait vers \/about\/ sur le site, voyait un contenu sans aucun rapport avec l&rsquo;agence.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">C&rsquo;est la partie cloaking. Google voit le spam de jeux d&rsquo;argent dans le contenu de wp-log.php, le classe sous l&rsquo;autorit\u00e9 de domaine de l&rsquo;agence et envoie les vrais utilisateurs vers user.php, qui d\u00e9livre une exp\u00e9rience satellite totalement diff\u00e9rente. La tromperie fonctionne dans les deux sens.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment l&rsquo;attaquant est entr\u00e9<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">L&rsquo;audit forensique n&rsquo;a pas pu identifier le vecteur d&rsquo;entr\u00e9e exact \u00e0 partir des donn\u00e9es disponibles, mais le suspect le plus probable \u00e9tait une extension de gestionnaire de fichiers obsol\u00e8te, toujours install\u00e9e et active. La famille d&rsquo;extensions en question a un long passif de vuln\u00e9rabilit\u00e9s d&rsquo;ex\u00e9cution de code \u00e0 distance, avec de multiples avis publi\u00e9s au fil des ann\u00e9es. Avec un acc\u00e8s en \u00e9criture via cette extension, un attaquant peut d\u00e9poser des fichiers arbitraires n&rsquo;importe o\u00f9 dans la racine du document.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Point crucial, l&rsquo;audit a confirm\u00e9 que le c\u0153ur de WordPress, wp-config.php, la base de donn\u00e9es et le th\u00e8me actif \u00e9taient tous propres. Aucune porte d\u00e9rob\u00e9e dans l&rsquo;application, aucun utilisateur administrateur pirate, aucun eval PHP obscurci. La compromission se trouvait enti\u00e8rement dans ces cinq dossiers. C&rsquo;est ce qui la rendait si discr\u00e8te. La plupart des scanners de s\u00e9curit\u00e9 examinent les fichiers WordPress, pas la racine du document \u00e0 la recherche de r\u00e9pertoires inattendus.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Pourquoi ce type d&rsquo;attaque est si dommageable<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Les attaques de cloaking SEO nuisent de trois fa\u00e7ons. D&rsquo;abord, le contenu de spam est index\u00e9 sous votre domaine, repoussant vos vraies pages vers le bas ou hors des r\u00e9sultats de recherche. Ensuite, Google peut appliquer des p\u00e9nalit\u00e9s d&rsquo;action manuelle ou une r\u00e9trogradation algorithmique lorsqu&rsquo;il d\u00e9tecte le cloaking, dont il faut souvent des semaines ou des mois pour se remettre, m\u00eame apr\u00e8s la suppression des fichiers malveillants. Enfin, les scripts tiers et les pixels de suivi int\u00e9gr\u00e9s dans les pages de spam peuvent exposer vos visiteurs \u00e0 des logiciels malveillants ou au phishing.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le propri\u00e9taire d&rsquo;un site victime de cloaking ne remarque souvent rien jusqu&rsquo;\u00e0 ce que le trafic s&rsquo;effondre ou qu&rsquo;un client mentionne avoir vu un contenu \u00e9trange en cliquant sur un r\u00e9sultat de recherche. \u00c0 ce moment-l\u00e0, des semaines ou des mois de d\u00e9g\u00e2ts ont d\u00e9j\u00e0 \u00e9t\u00e9 caus\u00e9s.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment le d\u00e9tecter sur votre propre site<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Quelques v\u00e9rifications rapides attraperont la plupart des variantes de cette attaque. Consultez votre page d&rsquo;accueil en tant qu&rsquo;utilisateur normal. Puis lancez une requ\u00eate curl depuis un serveur avec un en-t\u00eate User-Agent de Googlebot et comparez. Si vous voyez un contenu diff\u00e9rent, quelque chose ne va pas.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">V\u00e9rifiez les rapports Couverture et Performances dans Google Search Console pour rep\u00e9rer des URL index\u00e9es que vous ne reconnaissez pas, en particulier celles associ\u00e9es \u00e0 des requ\u00eates en langue \u00e9trang\u00e8re. Examinez la racine du document via SFTP \u00e0 la recherche de dossiers ou de fichiers que vous ne pouvez pas expliquer. Lancez une analyse compl\u00e8te des logiciels malveillants avec une extension de s\u00e9curit\u00e9 fiable et lisez le rapport au lieu de vous contenter d&rsquo;effacer les alertes.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Comment le pr\u00e9venir<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">La pr\u00e9vention repose sur les m\u00eames habitudes qui pr\u00e9viennent la plupart des compromissions de WordPress. Maintenez le c\u0153ur, les th\u00e8mes, les extensions et PHP \u00e0 jour. Supprimez les extensions que vous n&rsquo;utilisez pas activement, en particulier les gestionnaires de fichiers et les outils d&rsquo;acc\u00e8s shell. Bloquez l&rsquo;ex\u00e9cution de PHP dans les r\u00e9pertoires qui ne devraient jamais contenir de PHP. Auditez la racine du document chaque mois. Utilisez une extension de s\u00e9curit\u00e9 qui surveille l&rsquo;apparition de nouveaux fichiers dans des emplacements inattendus et alerte d\u00e8s qu&rsquo;il en appara\u00eet un.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Besoin d&rsquo;un coup de main ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Si vous craignez que votre site WordPress h\u00e9berge du contenu masqu\u00e9 \u00e0 votre insu, Smart Coding peut mener un audit forensique et vous dire exactement ce qui se trouve sur votre serveur. Si vous voulez un partenaire pour veiller \u00e0 ce que votre domaine ne se positionne que sur ce qu&rsquo;il devrait, contactez l&rsquo;\u00e9quipe de <a href=\"https:\/\/defyn.com.au\" rel=\"noopener\">Defyn<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Les attaques de cloaking SEO sont discr\u00e8tes, lucratives et de plus en plus fr\u00e9quentes sur WordPress. Voici comment elles fonctionnent, \u00e0 partir d&rsquo;un audit r\u00e9el sur le site d&rsquo;une agence de Sydney.<\/p>\n","protected":false},"author":2,"featured_media":2064,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_relevanssi_hide_post":"","_relevanssi_hide_content":"","_relevanssi_pin_for_all":"","_relevanssi_pin_keywords":"","_relevanssi_unpin_keywords":"","_relevanssi_related_keywords":"","_relevanssi_related_include_ids":"","_relevanssi_related_exclude_ids":"","_relevanssi_related_no_append":"","_relevanssi_related_not_related":"","_relevanssi_related_posts":"","_relevanssi_noindex_reason":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[1071],"tags":[],"class_list":["post-1922","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-website-support-maintenance"],"jetpack_publicize_connections":[],"featured_image_src":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-seo-cloaking-attack-600x400.jpg?crop=1","featured_image_src_square":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-seo-cloaking-attack-600x600.jpg?crop=1","author_info":{"display_name":"Claire Smith","author_link":"https:\/\/smartcoding.com.au\/fr\/author\/claire\/"},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/phbW1n-v0","jetpack_featured_media_url":"https:\/\/smartcoding.com.au\/wp-content\/uploads\/2026\/06\/wordpress-seo-cloaking-attack.jpg","_links":{"self":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/1922","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/comments?post=1922"}],"version-history":[{"count":1,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/1922\/revisions"}],"predecessor-version":[{"id":3594,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/posts\/1922\/revisions\/3594"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/media\/2064"}],"wp:attachment":[{"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/media?parent=1922"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/categories?post=1922"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/smartcoding.com.au\/fr\/wp-json\/wp\/v2\/tags?post=1922"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}