
Site WordPress hacké : comment le nettoyer et le sécuriser
Identifiez les signes d’un site WordPress hacké, nettoyez les fichiers compromis et sécurisez les accès avant de remettre votre site en ligne.
Sécuriser wp-config.php et .htaccess permet de mieux protéger la configuration de votre site WordPress. Découvrez les contrôles à effectuer, les règles adaptées à votre serveur et les tests à mener après chaque modification.

Pour sécuriser wp-config.php et .htaccess, commencez par sauvegarder votre site, limiter les accès aux fichiers et vérifier que le serveur ne les expose pas aux visiteurs. Sur Apache, une règle adaptée peut compléter cette protection ; sur Nginx, elle doit être configurée dans le serveur. Testez ensuite le site et gardez une copie des fichiers d’origine pour pouvoir revenir en arrière.
Le fichier wp-config.php contient notamment les informations de connexion à la base de données WordPress et les clés de sécurité utilisées pour les sessions. Il peut aussi contenir des réglages propres à votre installation, ajoutés par vous, votre hébergeur ou certaines extensions.
Ces informations ne doivent pas être transmises à un visiteur. En fonctionnement normal, PHP exécute le fichier au lieu d’afficher son contenu. Mais une mauvaise configuration du serveur, une copie de sauvegarde accessible sur le Web ou une installation mal placée peut exposer des données sensibles.
Le fichier .htaccess, quant à lui, est un fichier de configuration utilisé par Apache et par certains serveurs compatibles. WordPress peut y placer des règles pour les permaliens. Des extensions ou l’hébergeur peuvent également y ajouter des redirections et des règles de sécurité.
Une modification incorrecte de .htaccess peut provoquer une erreur 500, bloquer certaines pages ou rendre l’administration inaccessible. Ce fichier peut aussi devenir un point d’entrée pour des redirections indésirables s’il est modifié par une personne malveillante.
Les deux protections à distinguer sont donc :
Une règle Web ne protège pas contre un compte FTP compromis. À l’inverse, des permissions restrictives ne remplacent pas une configuration correcte du serveur Web.
Avant toute modification des fichiers, des permissions ou de la configuration serveur, effectuez une sauvegarde complète des fichiers et de la base de données. Vérifiez qu’elle est récupérable et que vous connaissez la procédure de restauration de votre hébergeur.
Conservez aussi une copie distincte des deux fichiers d’origine, dans un emplacement privé. Ne créez pas de copie comme wp-config.php.bak dans un dossier accessible sur le Web : elle pourrait être téléchargée comme un simple fichier texte.
Avant de modifier la configuration
Une erreur dans wp-config.php ou .htaccess peut interrompre le site. Assurez-vous de pouvoir accéder aux fichiers par le gestionnaire de votre hébergeur ou par SFTP, même si le tableau de bord WordPress ne fonctionne plus.
Connectez-vous au gestionnaire de fichiers de votre hébergement ou avec un client SFTP. Le nom et l’emplacement de l’outil varient selon l’hébergeur : consultez son espace client ou sa documentation si nécessaire.
Dans le dossier d’installation de WordPress, cherchez notamment wp-admin, wp-content et wp-includes. Le fichier wp-config.php se trouve généralement au même niveau. Un fichier .htaccess peut également s’y trouver.
Comme son nom commence par un point, .htaccess peut être masqué dans votre gestionnaire de fichiers. Activez l’affichage des fichiers cachés si l’option existe. Son absence n’indique pas nécessairement un problème : notamment, Nginx ne l’utilise pas.
Ne publiez pas le contenu de wp-config.php dans un forum ou dans une capture d’écran. Pour demander de l’aide, indiquez plutôt le symptôme, le type de serveur si vous le connaissez et les opérations déjà effectuées, sans transmettre d’identifiants ni de clés.
Consultez les informations de votre hébergement pour savoir si votre site fonctionne avec Apache, Nginx ou une configuration associant plusieurs serveurs. En cas de doute, demandez à l’hébergeur quel composant traite les requêtes et où les règles de protection doivent être placées.
La présence d’un fichier .htaccess ne prouve pas qu’il est lu. Sur Apache, sa prise en compte dépend également de la configuration du serveur. Sur Nginx, les directives de protection se placent dans la configuration Nginx, pas dans .htaccess.
Avec W-Maintenance
Vérifier les accès à vos fichiers WordPress
W-Maintenance peut intervenir pour sécuriser votre site WordPress et examiner les accès à ses fichiers sensibles.
Les permissions déterminent les accès accordés au propriétaire du fichier, à son groupe et aux autres utilisateurs du serveur. Elles ne doivent pas autoriser tout le monde à modifier les fichiers sensibles.
Une valeur comme 644 donne au propriétaire le droit de lire et d’écrire, et aux autres catégories le droit de lire. Une valeur comme 640 restreint davantage la lecture. La valeur adaptée dépend toutefois du propriétaire des fichiers, du groupe et du compte sous lequel PHP fonctionne.
Pour wp-config.php, un réglage plus restrictif, tel que 600 ou 640, peut convenir sur certains hébergements, mais pas sur tous. Si PHP ne peut plus lire le fichier, WordPress risque de ne plus fonctionner. Ne choisissez donc pas une valeur uniquement parce qu’elle est présentée comme plus sécurisée.
Pour .htaccess, il faut aussi tenir compte des besoins de WordPress et des extensions : certaines opérations peuvent nécessiter une écriture. Un fichier non modifiable peut être acceptable si vous gérez vous-même les règles, mais un changement de permaliens ou une extension peut alors demander une intervention manuelle.
Après avoir effectué la sauvegarde et noté les valeurs actuelles :
Évitez 777 : cette valeur accorde lecture, écriture et exécution à toutes les catégories d’utilisateurs. Elle ne constitue pas une solution adaptée pour régler un problème d’accès à wp-config.php ou à .htaccess.
Ne changez pas les permissions de tous les dossiers et fichiers en une seule opération sans comprendre les conséquences. Si vous ne pouvez pas identifier le compte utilisé par PHP ou le propriétaire des fichiers, demandez à votre hébergeur avant de poursuivre.
Si votre site utilise Apache et que l’hébergeur autorise les règles d’accès dans .htaccess, vous pouvez ajouter une protection explicite. Elle complète la configuration du serveur et les permissions ; elle ne remplace ni l’une ni les autres.
Avant de modifier .htaccess, sauvegardez le site et téléchargez une copie privée du fichier existant. Ouvrez-le ensuite dans un éditeur de texte adapté, sans supprimer les règles déjà présentes.
Vous pouvez ajouter les directives suivantes en dehors du bloc de règles géré par WordPress :
<Files "wp-config.php">
Require all denied
</Files>
<Files ".htaccess">
Require all denied
</Files>
Ces directives utilisent la syntaxe d’autorisation Apache Require. Leur fonctionnement dépend de la configuration du serveur et des modules disponibles. Si le site affiche une erreur 500 après l’ajout, restaurez immédiatement le fichier d’origine et vérifiez la compatibilité auprès de votre hébergeur.
Évitez de placer vos propres règles entre les commentaires qui délimitent le bloc géré par WordPress : ce bloc peut être réécrit. De même, ne supprimez pas les règles de redirection, de cache ou de sécurité existantes sans avoir identifié leur rôle.
La protection par nom de fichier ne couvre pas automatiquement les copies portant d’autres noms, comme une ancienne sauvegarde. Le moyen le plus sûr est de conserver ces copies hors de l’espace accessible sur le Web, plutôt que de multiplier les règles pour chaque variante.
Nginx ignore .htaccess. Il faut donc vérifier les règles dans sa configuration serveur, qui peut être accessible uniquement à l’hébergeur ou à l’administrateur système. Une protection ajoutée dans .htaccess ne prouve rien si ce fichier n’est pas interprété.
Demandez à votre hébergeur de confirmer que wp-config.php et les fichiers cachés concernés ne sont pas servis aux visiteurs, et que PHP traite correctement les fichiers PHP. Si Apache se trouve derrière un autre serveur, faites vérifier l’ensemble de la chaîne.
Si vous soupçonnez qu’une règle existante provoque une panne, consultez aussi notre guide sur les problèmes du fichier .htaccess sur WordPress. Ne remplacez pas le fichier complet par un modèle trouvé en ligne : vous pourriez perdre des règles propres à votre site.
Après chaque changement, contrôlez le site depuis un navigateur, de préférence dans une fenêtre privée. Testez l’accueil, plusieurs pages internes, la connexion à l’administration et les fonctionnalités importantes, comme une réservation ou un formulaire.
Essayez ensuite d’accéder aux URL correspondant à wp-config.php et à .htaccess, à partir de l’adresse de votre site. Le contenu ne doit pas être affiché ni téléchargé. Une réponse 403 ou 404 peut indiquer que l’accès est refusé ou que le fichier n’est pas servi à cette adresse.
Un écran vide pour wp-config.php ne suffit pas à démontrer que toutes les protections sont en place : PHP peut simplement avoir exécuté un fichier qui ne produit aucun affichage. Faites confirmer la configuration par l’hébergeur, notamment si vous ne savez pas quel serveur traite la demande.
Vérifiez également que les copies anciennes, fichiers temporaires et archives ne sont pas présents dans les dossiers accessibles aux visiteurs. Faites cette recherche dans le gestionnaire de fichiers, sans tenter de publier ou de partager ces documents.
Si vous avez pu lire ou télécharger le contenu de wp-config.php depuis le Web, considérez ses secrets comme potentiellement compromis. Ne vous contentez pas de masquer le fichier après coup.
Si vous constatez des fichiers modifiés sans explication, des comptes inconnus ou des redirections, suivez une démarche de détection d’un site WordPress piraté. L’exposition d’un fichier ne prouve pas à elle seule qu’une intrusion a eu lieu, mais elle justifie une vérification.
Sécuriser wp-config.php et .htaccess n’est pas une opération isolée. Une migration, un changement d’hébergement, une restauration ou l’installation d’une extension peut modifier les règles ou les accès. Après ce type d’intervention, reprenez les contrôles essentiels : permissions, accès Web et fonctionnement des pages.
Limitez également les accès à l’hébergement et aux comptes SFTP aux personnes qui en ont besoin. Utilisez des mots de passe distincts et robustes, et activez une authentification supplémentaire lorsqu’elle est proposée. Un accès serveur compromis peut permettre de modifier les fichiers, même si leur accès depuis le navigateur est bloqué.
Gardez une trace de vos réglages dans un document privé : emplacement des fichiers, permissions recommandées par l’hébergeur, règles ajoutées et procédure de retour arrière. Ne placez pas les mots de passe ni le contenu complet de wp-config.php dans un document partagé sans protection.
Enfin, maintenez WordPress, ses thèmes et ses extensions à jour après sauvegarde et vérification de compatibilité. Des fichiers correctement protégés ne corrigent pas une extension vulnérable ni un compte administrateur compromis. Pour élargir les contrôles, consultez notre audit de sécurité WordPress.
Si les règles du serveur sont difficiles à identifier ou si vous suspectez une intrusion, W-Maintenance propose une intervention ponctuelle de nettoyage et sécurisation d’un site WordPress piraté.
Avec W-Maintenance
Faire examiner la sécurité de votre site WordPress
L’équipe W-Maintenance assure la sécurité et la réparation de sites WordPress. Vous pouvez demander une intervention adaptée à votre situation.
À retenir
Non. Les permissions limitent les accès sur le serveur, mais elles ne remplacent pas une configuration correcte du serveur Web. Vérifiez les deux aspects et adaptez les droits au fonctionnement de votre hébergement.
Non, Nginx ne lit pas .htaccess. La protection doit être définie dans la configuration Nginx, avec l’aide de l’hébergeur si vous n’y avez pas accès.
Rétablissez la copie du fichier conservée avant la modification, puis vérifiez que le site fonctionne de nouveau. Demandez ensuite à votre hébergeur si la syntaxe utilisée est compatible avec sa configuration Apache.
Article rédigé avec l’aide d’une IA à partir des sources citées et de notre pratique de la maintenance WordPress. Notre méthode éditoriale.
À lire aussi

Identifiez les signes d’un site WordPress hacké, nettoyez les fichiers compromis et sécurisez les accès avant de remettre votre site en ligne.

Nettoyage d’un WordPress piraté : supprimez les fichiers malveillants, corrigez la faille et contrôlez les risques de réinfection de votre site.

Découvrez comment sécuriser wp-admin sans plugin : filtrage par IP, authentification HTTP, HTTPS et vérifications pour éviter de bloquer votre site.
Parlons de votre site
Mises à jour, panne, piratage, lenteur : décrivez-nous la situation, un expert vous répond en général dans les deux heures ouvrées.