asset 1
asset 2
asset 3
asset 2
asset 21

htpasswd : protéger l’accès à son site WordPress par une authentification

10 octobre 2025

Lorsqu’un site WordPress est en cours de développement en ligne, il est préférable de le garder à l’abri des regards et surtout des robots d’indexation, tant que le projet n’est pas finalisé. C’est la méthode pour laquelle j’ai opté quand je développe un site. C’est plus simple pour montrer au client les étapes de développement pour qu’il puisse valider ce qu’on a fait.

Si vous utilisez Local, l’outil propose un partage de lien (Live Link), mais les peu de fois où je l’ai essayé, ce n’était pas convaincant.

L’une des méthodes les plus simples et les plus efficaces pour contrôler l’accès consiste à mettre en place une protection via un fichier .htpasswd. Cette authentification basique, directement gérée par le serveur, ajoute une barrière supplémentaire avant même que WordPress ne soit chargé. Voici, comment mettre en place cette authentification.

Comment fonctionne la protection d’un site WordPress avec .htpasswd ?

Le fichier .htpasswd fonctionne en association avec le fichier .htaccess. Ensemble, ils permettent de définir une zone protégée par identifiant et mot de passe. L’avantage est double : la mise en place est rapide et ne nécessite aucune extension WordPress, et la protection agit avant que PHP ne s’exécute. Autrement dit, la charge serveur est réduite puisque seules les personnes autorisées peuvent franchir ce premier niveau de sécurité.

C’est particulièrement utile pour un site en chantier, pour un environnement de test ou pour une préprod. Vous contrôlez exactement qui peut consulter vos pages, ce qui évite une indexation prématurée dans les moteurs de recherche ou une diffusion publique involontaire.

La particularité des fichiers commençant par un point

Les fichiers comme .htaccess ou .htpasswd ont une particularité : leur nom commence par un point. Dans les systèmes Unix et Linux, cela signifie que le fichier est considéré comme caché. Par défaut, il n’apparaît pas dans l’explorateur de fichiers ou dans la sortie d’une commande simple. Il faut donc activer l’affichage des fichiers cachés sur votre ordinateur et sur votre client FTP, pour les voir.
Cette convention est utilisée pour de nombreux fichiers de configuration sensibles, tel que .gitignore. Le fait de les cacher permet de ne pas encombrer l’arborescence visible, mais aussi de rappeler qu’il s’agit de fichiers techniques qui ne doivent pas être modifiés à la légère.
Il est important de noter que ce caractère caché agit uniquement au niveau du système de fichiers. Cela ne bloque pas l’accès depuis un navigateur si le serveur n’est pas configuré correctement. C’est pourquoi les serveurs comme Apache interdisent par défaut l’affichage direct de ces fichiers, et c’est aussi la raison pour laquelle la sécurité apportée par .htaccess et .htpasswd reste efficace.

Créer le fichier .htpasswd

Le fichier .htpasswd contient les identifiants et les mots de passe qui seront autorisés à accéder au site. Comme il ne faut jamais stocker de mot de passe en clair, chaque mot de passe est enregistré sous forme chiffrée. La génération de ce fichier peut se faire via un outil en ligne de confiance ou directement en ligne de commande avec la commande htpasswd, disponible sur de nombreux serveurs Apache.
Le format du fichier est simple : chaque ligne correspond à un utilisateur ou une utilisatrice, suivi du mot de passe chiffré.

Par exemple :

janice:$apr1$XrR…$y8J6hkY…
valerie:$apr1$K4Q…$uE4L9kz…

Personnellement, j’utilise l’outil en ligne Web2generators pour générer un mot de passe chiffré : il est très facile à utiliser.

Une fois l’utilisateur ou l’utilisatrice et son mot de passe définis, il faut créer un fichier avec votre éditeur de texte préféré et l’enregistrer sous le nom .htpasswd (avec un point devant).

Ce fichier doit être placé à la racine de votre site WordPress.

Configurer le fichier .htaccess

Une fois le fichier .htpasswd créé et stocké, il faut indiquer au serveur qu’une protection doit être appliquée. Cela se fait à l’aide du fichier .htaccess situé, lui aussi, à la racine du site WordPress. Lorsque vous avez installé WordPress, ce fichier a été créé avec les règles WordPress. Il faut ajouter à ce fichier les directives suivantes (avant ou après les règles) :

AuthType Basic
AuthName "Connexion protégée"
AuthUserFile /chemin/absolu/vers/.htpasswd
Require valid-user

Par mesure de sécurité, copiez le fichier .htaccess sur votre ordinateur. Ou bien, si besoin, régénérez les permaliens de votre site en allant dans Réglages > Permaliens (cela créera un nouveau fichiers .htaccess).

Le paramètre AuthName définit le message qui doit apparaître dans la boîte de dialogue du navigateur demandant l’identifiant et le mot de passe, cependant les navigateurs ne l’affichent plus. Le chemin vers .htpasswd doit être absolu, c’est-à-dire complet depuis la racine du serveur, et non relatif au site web. Enfin, la directive Require valid-user précise que tout utilisateur figurant dans le fichier peut se connecter. A la place de valid-user, vous mettrez (j’utilise l’exemple ci-dessus comme utilisatrice) :

require user janice
require user valerie

Vous mettrez autant de ligne require user, qu’il y a d’utilisateur ou utilisatrice autorisée à accéder au site.

Si vous ne savez pas quel est le chemin absolu vers le fichier .htpassword, vous pouvez utiliser la fonction phpinfo. Pour cela, créer un fichier php, que vous nommerez par exemple phpinfo.php. Et dans lequel vous mettrez le code suivant :

<?php phpinfo(); ?>

Puis, rendez-vous dans votre navigateur et appeler l’url monsite.fr/phpinfo.php. Sur la page qui s’affiche, allez à la ligne $_SERVER[‘DOCUMENT_ROOT’], c’est ici que sera indiqué le chemin absolu. Une fois, l’info en main, vous pouvez supprimer ce fichier.

Tester et ajuster la configuration

Une fois la configuration en place, il suffit de recharger le site pour vérifier le fonctionnement. Le navigateur affichera une fenêtre demandant un nom d’utilisateur et un mot de passe. Si les identifiants correspondent, la page se charge normalement. Sinon, l’accès est refusé.

fenêtre demandant de se connecter avec le nom d'utilisateur et le mot de passe


En cas d’erreur, il est souvent lié au chemin du fichier .htpasswd. Il faut s’assurer que le chemin indiqué correspond bien à l’emplacement réel du fichier sur le serveur. Une autre source de problème peut être la présence d’autres règles dans le .htaccess, notamment celles générées automatiquement par WordPress. Dans ce cas, il est conseillé de placer les directives d’authentification au tout début du fichier.

Avantages et limites de la méthode

La protection par .htpasswd a l’avantage d’être rapide, légère et indépendante de WordPress. Elle constitue une première barrière de sécurité, utile pour bloquer l’accès à un site en développement ou restreindre une zone particulière du site.
Cependant, il s’agit d’une authentification basique. Elle ne remplace pas un véritable système de gestion des utilisateurs avec différents niveaux de droits. Elle ne chiffre pas les échanges, donc il est recommandé d’utiliser un certificat SSL pour éviter que les identifiants ne circulent en clair sur le réseau. Enfin, si plusieurs utilisateurs doivent accéder au site, il faut gérer manuellement leurs entrées dans le fichier .htpasswd.


Ainsi, protéger son site WordPress en développement avec .htpasswd est une solution simple et robuste pour éviter les visites indésirables. Cette barrière au niveau du serveur offre un contrôle immédiat sur l’accès, sans dépendre d’extensions ou de configurations complexes. En associant cette méthode à de bonnes pratiques de sécurité, comme l’utilisation du HTTPS, vous garantissez que seules les personnes autorisées peuvent consulter vos pages, le temps que le projet soit prêt à être dévoilé au grand public.

Image à la Une, créée par ChatGpt.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *