Erreur 403 sur WordPress : « You don’t have permission to access this resource »

Votre site est bloqué et vous n’avez pas le temps ? Direction la page Dépannage WordPress : premier diagnostic gratuit. Un autre message s’affiche ? Consultez le guide Erreurs WordPress.

Les causes les plus fréquentes

Le serveur refuse l’accès avant même que WordPress se charge. Il faut donc chercher du côté des fichiers et des protections du serveur :

  • .htaccess illisible ou abîmé. Le message « Server unable to read htaccess file, denying access to be safe » indique que le serveur n’arrive pas à lire ce fichier : droits incorrects ou contenu invalide.
  • Droits des fichiers incorrects. En général, les dossiers doivent être en 755 et les fichiers en 644. Après une migration, ces droits sont parfois modifiés.
  • Extension de sécurité. Elle bloque votre adresse IP après plusieurs tentatives de connexion, ou limite l’accès à l’administration.
  • Pare-feu de l’hébergeur. Il bloque une demande jugée suspecte, par exemple après plusieurs tentatives de connexion ratées.
  • Éditeur bloqué par le pare-feu. Quand vous enregistrez une page (Gutenberg, Elementor) ou qu’un formulaire est envoyé, le site échange en arrière-plan avec WordPress par l’API REST (adresses en /wp-json/) ou par admin-ajax.php. Le pare-feu de l’hébergeur (ModSecurity, par exemple) bloque parfois ces échanges : l’erreur 403 n’apparaît alors qu’au moment d’enregistrer.
  • Extension de cache mal réglée. WP Rocket, LiteSpeed Cache ou W3 Total Cache écrivent leurs propres règles dans le fichier .htaccess. Une règle trop stricte peut bloquer l’accès à des dossiers ou à des fichiers.
  • Fichier index absent. Si un dossier ne contient ni index.php ni index.html, le serveur refuse d’en lister le contenu : c’est le blocage de l’exploration de dossier (« Directory Browsing »). C’est une protection normale, mais elle renvoie une erreur 403 si le fichier index.php de la racine a disparu.

Comment corriger l’erreur 403, étape par étape

La plupart des étapes demandent un accès aux fichiers, par FTP ou par le gestionnaire de fichiers de votre hébergeur.

  1. Tester depuis une autre connexion

    Ouvrez le site depuis votre téléphone en 4G. S’il s’affiche, c’est votre adresse IP qui est bloquée, par une extension de sécurité ou par l’hébergeur : passez directement à l’étape 4.

    Si l’erreur n’apparaît qu’au moment d’enregistrer une page dans l’éditeur ou d’envoyer un formulaire, le site lui-même fonctionne : c’est un blocage de l’API REST par le pare-feu de l’hébergeur. Passez directement à l’étape 6.

  2. Tester le fichier .htaccess

    Renommez le fichier .htaccess (à la racine) en .htaccess-old. Si le site revient, allez dans Réglages > Permaliens et cliquez sur « Enregistrer » pour recréer un fichier propre.

    Pas de fichier .htaccess, même avec l’affichage des fichiers cachés ? Votre hébergeur utilise sans doute un serveur NGINX, qui ne lit pas ce fichier. Passez directement à l’étape 3. Les serveurs LiteSpeed, eux, lisent bien le .htaccess.

  3. Vérifier les droits des fichiers

    Dans votre logiciel FTP ou le gestionnaire de fichiers, vérifiez que les dossiers sont en 755 et les fichiers en 644, .htaccess compris. Le fichier wp-config.php peut être plus restrictif (440 ou 400), c’est normal.

    Vérifiez en priorité le dossier wp-content et ses sous-dossiers uploads, plugins et themes : ce sont eux qui gardent le plus souvent de mauvais droits, surtout après la restauration d’une sauvegarde ou une migration.

  4. Débloquer votre adresse IP

    Si vous avez une extension de sécurité, désactivez-la en renommant son dossier dans wp-content/plugins. Si le site revient, remettez le nom d’origine, réactivez-la et retirez votre adresse de la liste des adresses bloquées dans ses réglages.

    Sans extension de sécurité, contactez votre hébergeur : son pare-feu a peut-être bloqué votre adresse.

  5. Tester l’extension de cache

    Videz le cache, puis désactivez votre extension de cache (WP Rocket, LiteSpeed Cache, W3 Total Cache…). Si l’erreur disparaît, ce sont ses règles qui bloquent : réactivez-la, puis désactivez une à une ses options de protection ou de redirection pour trouver la bonne.

    Si vous désactivez l’extension par FTP, en renommant son dossier, ses règles restent écrites dans le fichier .htaccess. Ouvrez-le (voir l’étape 2) et supprimez le bloc ajouté par l’extension, en général encadré par deux lignes à son nom, comme # BEGIN WP Rocket et # END WP Rocket.

  6. Faire vérifier le pare-feu de l’hébergeur

    Le journal d’erreurs du serveur indique la règle qui a déclenché le blocage. Envoyez à votre hébergeur l’heure de l’erreur et l’adresse de la page concernée.

    Si l’erreur survient uniquement à l’enregistrement dans l’éditeur ou à l’envoi d’un formulaire, c’est presque toujours son pare-feu qui bloque les adresses en /wp-json/ ou admin-ajax.php. Il peut ajouter une exception pour votre site. Le même blocage provoque souvent le message « La réponse n’est pas une réponse JSON valide » : voir le guide sur l’erreur JSON.

Avant de commencer

  • Ne mettez jamais les droits en 777. On lit souvent cette solution, mais elle rend vos fichiers modifiables par n’importe qui sur le serveur.
  • Faites une sauvegarde. Depuis l’espace client de votre hébergeur si l’administration n’est plus accessible.
  • Une seule modification à la fois. Testez après chaque étape, sinon impossible de savoir ce qui a réglé le problème.
  • Désactivez, ne supprimez pas. Pour tester une extension, la désactiver suffit et vous gardez ses réglages.

Les questions

Questions fréquentes

L’erreur 403 vient du serveur, avant même que WordPress se charge. Le message « Désolé, vous n’avez pas l’autorisation d’accéder à cette page » vient de WordPress lui-même : il signale que votre compte n’a pas le rôle nécessaire, par exemple un compte Éditeur qui essaie d’ouvrir les réglages. Pour ce cas, consultez le guide sur l’autorisation d’accès dans WordPress.

C’est souvent une protection placée sur le dossier wp-admin lui-même. Vérifiez s’il contient un second fichier .htaccess, en plus de celui de la racine : il peut réserver l’accès à une adresse IP précise. Si votre adresse IP a changé (nouvelle box, connexion mobile), vous êtes alors bloqué. Une extension de sécurité peut aussi limiter l’accès à l’administration : dans ce cas, les étapes 1 et 4 sont les plus utiles.

Pas forcément. Mais si l’erreur est apparue sans aucune modification de votre part et que le fichier .htaccess contient des lignes que vous ne connaissez pas, c’est un signal à prendre au sérieux. Consultez le guide site WordPress piraté.

Testez depuis un autre appareil et une autre connexion. Si vous êtes seul bloqué, c’est votre adresse IP. Si tout le monde l’est, c’est un réglage du site ou du serveur.

Aperçu du guide « Maintenance & sécurité WordPress » de Jorboo

Guide gratuit · PDF de 12 pages

Maintenance & sécurité WordPress : le guide pratique

Des mises à jour faites régulièrement et avec méthode évitent une bonne partie de ces erreurs. Ce guide explique comment garder votre site WordPress à jour et protégé.