La plupart des piratages WordPress sont discrets. Pas de demande de rançon, pas de page d'accueil défigurée. Le site vous semble normal alors qu'il redirige les visiteurs mobiles vers une publicité pour une pharmacie, affiche du spam aux robots des moteurs de recherche ou envoie des e-mails depuis votre serveur. C'est pourquoi beaucoup de piratages durent des semaines avant d'être remarqués.
Vérifiez en 5 minutes
Aucun plugin ni compétence technique n'est nécessaire pour ces cinq vérifications. Faites-les dans l'ordre.
- Cherchez votre propre site sur Google. Tapez
site:votredomaine.comdans Google, puis essayezsite:votredomaine.com casino OR pills OR loan OR replica. Des pages ou des titres que vous n'avez jamais écrits indiquent que du spam a été injecté. - Vérifiez votre domaine dans Navigation sécurisée. Ouvrez l'état du site dans la Navigation sécurisée de Google, saisissez votre domaine et lisez le résultat.
- Ouvrez la Search Console. Dans Google Search Console, choisissez votre site, puis Sécurité et actions manuelles → Problèmes de sécurité. Google signale souvent un piratage ici avant que vous ne voyiez quoi que ce soit.
- Passez en revue vos administrateurs. Dans wp-admin, allez dans Utilisateurs → Tous les utilisateurs et filtrez par Administrateur. Ne supprimez rien pour l'instant, notez simplement tout nom ou e-mail que vous ne reconnaissez pas.
- Visitez votre site comme le ferait un inconnu. Sur votre téléphone, en données mobiles, cherchez votre site sur Google et appuyez sur le résultat au lieu de taper l'adresse. Les redirections malveillantes ne se déclenchent souvent que pour les visiteurs venant des moteurs de recherche ou seulement sur mobile, et restent donc invisibles quand vous visitez directement.
8 signes que votre site est peut-être compromis
- Redirections inattendues. Les visiteurs arrivent sur un autre site, parfois uniquement depuis les résultats de recherche ou uniquement sur mobile.
- Un avertissement Google. « Ce site a peut-être été piraté » sous votre résultat, ou un problème de sécurité dans la Search Console.
- Un administrateur que vous n'avez pas créé. Les attaquants ajoutent un administrateur caché pour pouvoir revenir après que vous avez changé votre propre mot de passe.
- Des fichiers PHP là où il ne devrait y avoir que des images. Des noms aléatoires comme
wp-cache-xk29.phpdanswp-content/uploadsou dans les dossiers de thèmes. - Du spam dans le code source de vos pages. Des liens cachés ou des mots-clés de pharmacie et de jeux d'argent. Utilisez « Afficher le code source » et cherchez
viagra,casinooudisplay:none. - Une chute soudaine du trafic ou du classement. Google retire peut-être des pages qu'il considère désormais comme compromises.
- Des pics de ressources inexpliqués. Un usage du processeur, de la bande passante ou du volume d'e-mails sortants bien supérieur à la normale.
- Votre hébergeur suspend le compte. Beaucoup d'hébergeurs le font automatiquement quand un site se met à diffuser des malwares ou à envoyer du spam.
Vérifications approfondies si vous avez SSH ou WP-CLI
Ces commandes lisent votre site depuis le serveur. Lancez-les depuis le dossier WordPress, généralement public_html. Aucune ne modifie quoi que ce soit.
Comparer le cœur de WordPress avec les fichiers officiels
wp core verify-checksums
wp plugin verify-checksums --all
Chaque commande compare vos fichiers avec les copies officielles de wordpress.org et liste tout ce qui diffère ou manque. Les plugins personnalisés et premium qui ne sont pas sur wordpress.org ne seront pas vérifiés.
Trouver les fichiers PHP cachés dans uploads
find wp-content/uploads -name "*.php"
Le dossier uploads doit contenir des médias, pas du code. Tout résultat mérite un coup d'œil, même si quelques plugins y stockent un fichier index inoffensif.
Trouver les fichiers PHP modifiés récemment
find . -type f -name "*.php" -mtime -7
Cette commande liste les fichiers PHP modifiés ces sept derniers jours. Comparez la liste avec l'historique de vos mises à jour. Les fichiers modifiés un jour où vous n'avez rien fait méritent d'être ouverts.
Lister les administrateurs et vérifier l'adresse du site
wp user list --role=administrator
wp option get siteurl
wp option get home
Les deux dernières valeurs doivent correspondre à votre propre domaine. Un site piraté est parfois redirigé vers un autre domaine uniquement via ces réglages, sans aucun fichier modifié.
Ce qu'un scanner peut et ne peut pas vous dire
Un scanner à signatures recherche des motifs de malwares connus. C'est une première passe rapide qui en détecte beaucoup. Il peut manquer les malwares nouveaux ou sur mesure, et un scanner qui ne regarde votre site que de l'extérieur ne voit ni les fichiers, ni les utilisateurs, ni les lignes de base de données. Une vérification côté serveur, avec comparaison des fichiers et revue de la base de données, couvre davantage.
SiftWP effectue ce type de vérification chaque semaine via SSH, sans aucun plugin sur votre site. Il couvre l'intégrité des fichiers du cœur, les dérives de la base de données, les motifs de malwares, les problèmes SSL de contenu mixte et les nouveaux fichiers dans uploads/. Un agent IA examine ce qu'il trouve, corrige ce qui est sûr et demande avant toute action risquée.
Ce qui ressemble à un piratage mais n'en est souvent pas un
- Des fichiers modifiés après une mise à jour. Les mises à jour du cœur, des plugins et des thèmes réécrivent des fichiers. Comparez la date de modification avec votre journal de mises à jour.
- Les fichiers des plugins de cache et de sécurité. Certains plugins conservent des fichiers PHP ou des journaux dans
wp-content. Vérifiez le nom par rapport à vos plugins installés avant de supprimer. - Une baisse de classement. Les mises à jour d'algorithme et les concurrents en causent aussi. Une baisse seule est une preuve faible sans autre signe.
Que faire ensuite
Un seul signe confirmé suffit pour commencer à réparer. Faites une sauvegarde, changez tous les mots de passe, puis suivez les étapes de Comment réparer un site WordPress piraté. Si vous avez trouvé du code injecté, Comment supprimer un malware d'un site WordPress détaille la suppression.