Un cabinet nous appelle un mardi matin parce que sa page d'accueil redirige une visite sur deux vers une boutique de contrefaçon. Le site avait été livré trois ans plus tôt, il fonctionnait, et plus personne n'ouvrait son administration. La cause tenait en une ligne : une extension de formulaire, abandonnée par son éditeur, dont une faille avait été publiée plus d'un an auparavant. Le site n'avait pas été choisi par un attaquant, il avait été trouvé par un programme qui teste des adresses en série.
Ce scénario revient régulièrement chez les entreprises dont nous reprenons le site, aussi bien dans le Bassin Genevois qu'ailleurs en France et en Suisse. Il ne dit pas que WordPress est un mauvais outil. Il dit qu'un site publié est un logiciel en production, et qu'un logiciel en production sans propriétaire finit par se retourner contre son propriétaire.
Le cœur de WordPress n'est presque jamais la porte d'entrée
Le cœur, ou core, désigne les fichiers du logiciel WordPress lui-même, ceux que le projet publie et maintient. Ces fichiers reçoivent des correctifs de sécurité régulièrement, et les versions mineures s'installent automatiquement sur une installation standard. Sur les sites compromis que nous récupérons, le cœur est rarement le point d'entrée.
Le risque se déplace vers le code que vous avez ajouté par-dessus : les extensions et le thème. Ce code provient d'éditeurs différents, avec des rythmes de publication différents, des niveaux d'exigence différents et, pour certains, une date d'abandon. Une extension abandonnée ne disparaît pas de votre site : elle continue de s'exécuter, sans jamais recevoir de correctif.
Le mécanisme d'exploitation mérite d'être compris, parce qu'il explique l'urgence. Quand une faille est corrigée, la correction est publique : elle indique quel fichier était vulnérable et comment. Des programmes automatisés parcourent alors le web à la recherche des sites qui exposent encore la version non corrigée. Vous n'êtes pas visé personnellement, vous êtes trouvé. C'est pourquoi l'écart entre la publication du correctif et son installation chez vous compte davantage que la réputation de l'extension concernée.
Les six familles de risque que nous inventorions sur un site repris
Quand nous reprenons un site existant, nous ne cherchons pas une vulnérabilité précise. Nous vérifions six familles de risque, parce que ce sont elles qui déterminent la surface exposée.
- Les extensions constituent le premier vecteur. Un site qui embarque quinze extensions dépend de quinze éditeurs, et il suffit que l'un d'eux cesse de publier pour que le site conserve un composant définitivement figé. Nous listons chaque extension, sa date de dernière mise à jour et son utilité réelle, et nous désinstallons ce qui ne sert plus.
- Le thème pose le même problème, avec une aggravation fréquente : les thèmes commerciaux redistribués gratuitement en dehors de la boutique officielle, souvent appelés thèmes nulled, sont modifiés avant redistribution et contiennent parfois du code ajouté. Nous refusons d'exploiter un thème dont l'origine et la licence ne sont pas vérifiables.
- Le cœur et les versions majeures demandent une décision, pas seulement un clic. Une version majeure change des comportements, et c'est précisément la raison pour laquelle elle se teste avant d'être appliquée en production.
- Les identifiants cèdent plus souvent qu'on ne l'imagine. La page
/wp-login.phpest publique par construction et subit des tentatives automatisées en continu, l'interfacexmlrpc.phppermet d'enchaîner les essais rapidement, et un compte administrateur partagé entre l'agence, un ancien prestataire et le dirigeant ne se révoque jamais vraiment. Nous limitons les tentatives de connexion, nous rendons chaque compte nominatif et nous activons la double authentification sur les accès administrateur. - La version de PHP est le point aveugle le plus courant. PHP est le langage qui exécute WordPress sur le serveur, et une version qui n'est plus supportée ne reçoit plus de correctif, même si le site s'affiche parfaitement. Nous détaillons ce point dans notre article sur un WordPress qui tourne encore sur un PHP obsolète.
- La sauvegarde stockée sur le même disque que le site n'est pas une sauvegarde exploitable après une compromission, puisqu'elle contient généralement le même code modifié. Nous expliquons pourquoi et où stocker les copies dans sauvegarder WordPress ailleurs que chez l'hébergeur.

Ce qu'un site compromis coûte après la remise en état technique
Nettoyer un site prend un temps mesurable. Ce qui suit en prend beaucoup plus. Un site utilisé pour injecter des pages de spam ou pour rediriger vers une page frauduleuse finit signalé : les navigateurs affichent un avertissement avant l'ouverture, et les pages concernées quittent les résultats de recherche. Vous devez alors demander un réexamen et attendre, sans calendrier garanti.
Pendant cette période, votre visibilité repose sur des visiteurs qui connaissent déjà votre adresse. Pour une entreprise dont le site est le premier canal de contact, c'est la partie coûteuse de l'incident. La remise en ligne technique se règle dans la journée ou dans la semaine ; la confiance des moteurs de recherche se reconstruit plus lentement. La marche à suivre le jour de l'incident fait l'objet d'un article dédié : reprendre la main sur un WordPress piraté.
Ce que couvre réellement un contrat de maintenance à 500 HT / an
Notre contrat de maintenance WordPress est facturé 500 HT / an. Il ne s'agit pas de cliquer sur le bouton de mise à jour une fois par trimestre. Voici ce qu'il recouvre concrètement.
- Nous appliquons les mises à jour du cœur, du thème et des extensions selon un calendrier suivi, et nous vérifions ensuite les pages sensibles du site plutôt que de nous fier au message de succès affiché par l'administration.
- Nous testons les mises à jour à risque sur une copie de préproduction quand l'hébergement le permet, ce que nous détaillons dans notre article sur la recette avant la mise en production.
- Nous produisons des sauvegardes régulières stockées en dehors du serveur qui héberge le site, et nous contrôlons qu'elles se restaurent réellement.
- Nous surveillons la disponibilité du site et la validité du certificat, de sorte que vous n'appreniez pas une interruption par un client.
- Nous appliquons un durcissement de base : permissions de fichiers correctes, interface
xmlrpc.phpfermée quand elle n'est pas utilisée, limitation des tentatives de connexion, comptes nominatifs.
Ce contrat ne couvre pas la refonte du design, l'ajout d'une boutique ni un changement d'hébergeur, qui se chiffrent séparément. La création d'un site vitrine démarre pour sa part à 1490 HT. Hors contrat, une intervention d'urgence après compromission est facturée 230 HT / h, ce qui rend l'arbitrage assez simple sur une seule intervention.
Notre état des lieux avant de poser un contrat
Nous ne signons pas une maintenance sans avoir regardé le site. Nous relevons la version de PHP et celle du cœur, nous listons les extensions et leur état de maintenance, nous inventorions les comptes administrateurs et les accès à l'hébergement, nous vérifions l'existence et la localisation des sauvegardes, puis nous regardons si le site est déjà signalé dans les outils de recherche.
Cet état des lieux débouche sur une réponse claire : soit le site est sain et entre en maintenance tel quel, soit il demande d'abord un assainissement que nous chiffrons à part. Nous préférons le dire avant plutôt que de facturer un contrat sur une installation qu'il faudra reprendre trois mois plus tard.
Un WordPress n'est pas vulnérable par nature, il le devient quand personne n'en assure le suivi. Les correctifs existent, ils sont publics, et l'essentiel du travail consiste à les appliquer dans un délai raisonnable sur une installation dont on connaît le contenu. Si vous avez un site WordPress dont vous ne savez pas dire quand il a été mis à jour pour la dernière fois, écrivez-nous : nous vous dirons s'il est récupérable en l'état ou s'il faut commencer par l'assainir.