La Médiathèque affiche « Unable to Create Directory » pour les nouveaux téléversements

Vous glissez une image dans la Médiathèque. La barre de téléversement se remplit. Puis elle s’arrête. Une erreur rouge apparaît :

« Unable to create directory. Is its parent directory writable by the server? »

Vos téléversements média sont cassés. Les nouvelles images, PDF et fichiers ne passent pas. Les anciens médias fonctionnent encore — mais rien de nouveau.

Cette erreur est frustrante, mais elle a un petit nombre de causes connues. Ce guide vous montre exactement comment la corriger.

Table des matières

  1. Ce que signifie réellement cette erreur
  2. Les 5 causes les plus fréquentes
  3. Corrections étape par étape
  4. Conseils de prévention

1. Ce que signifie réellement cette erreur

WordPress organise les téléversements par année et par mois. Lorsque vous téléversez un fichier, il essaie de créer un dossier comme :

/wp-content/uploads/2024/03/

L’erreur « Unable to create directory » signifie que WordPress ne peut pas créer le dossier de ce mois.

Ce que WordPress essaie de faire :

  1. Vérifier si /wp-content/uploads/ existe
  2. Vérifier si /wp-content/uploads/2024/ existe
  3. Vérifier si /wp-content/uploads/2024/03/ existe
  4. Si l’un est manquant, le créer
  5. Si la création échoue → erreur

Le serveur dit : « Je n’ai pas la permission de créer ce dossier. »

2. Les 5 causes les plus fréquentes

CauseProbabilitéTest rapide
Mauvaises permissions de dossierÉLEVÉELe dossier de téléversement n’est pas accessible en écriture
Mauvais propriétaire des dossiersMOYENNELe propriétaire ≠ utilisateur du serveur web
Espace disque saturéMOYENNEL’hébergement indique que le stockage est plein
Dossier uploads manquantFAIBLE/uploads/ n’existe pas du tout
Création de répertoire PHP désactivéeTRÈS FAIBLERestriction d’hébergement rare

3. Corrections étape par étape

Suivez-les dans l’ordre. Testez après chaque étape.

Correction #1 : Vérifier et corriger les permissions des dossiers (la plus fréquente)

WordPress a besoin que le dossier /wp-content/uploads/ ait les bonnes permissions.

Permissions correctes :

  • Dossiers : 755
  • Fichiers : 644

Comment vérifier via FTP (FileZilla, etc.) :

  1. Connectez-vous à votre site via SFTP/FTP
  2. Accédez à /wp-content/
  3. Clic droit sur le dossier uploads → Permissions des fichiers
  4. Définissez la valeur numérique à 755
  5. Cochez « Recurse into subdirectories »
  6. Sélectionnez « Apply to directories only »
  7. Cliquez sur OK

Ensuite, corrigez les permissions des fichiers à l’intérieur :

  1. Clic droit sur le dossier uploads → Permissions des fichiers
  2. Définissez la valeur numérique à 644
  3. Cochez « Recurse into subdirectories »
  4. Sélectionnez « Apply to files only »
  5. Cliquez sur OK

Via le Gestionnaire de fichiers de l’hébergement (cPanel, etc.) :

  1. Ouvrez le Gestionnaire de fichiers
  2. Accédez à public_html/wp-content/
  3. Clic droit sur uploads → Changer les permissions
  4. Définissez 755 pour les dossiers et 644 pour les fichiers (la plupart des gestionnaires de fichiers ont une option récursive)

Pourquoi 755 ? Le serveur web a besoin d’un accès en écriture pour créer de nouveaux dossiers. 755 donne au propriétaire (le serveur) un contrôle total, et aux autres un accès en lecture/exécution.

Correction #2 : Vérifier et corriger le propriétaire des dossiers

Les permissions peuvent être correctes, mais si le mauvais utilisateur possède les fichiers, le serveur web ne peut toujours pas écrire.

Comment vérifier (si vous avez un accès SSH) :

bash

ls -la /chemin/vers/wp-content/

Cherchez le propriétaire et le groupe du dossier uploads. Ils doivent correspondre à l’utilisateur qui exécute le serveur web (souvent www-datanobody ou votre nom d’utilisateur d’hébergement).

Comment corriger (SSH) :

bash

cd /chemin/vers/wp-content/
chown -R www-data:www-data uploads/

(Remplacez www-data:www-data par le bon utilisateur:groupe de votre serveur.)

Pas d’accès SSH ? Contactez votre support d’hébergement. Demandez-leur :

« Mon dossier de téléversement WordPress n’est pas accessible en écriture. Pouvez-vous vérifier la propriété de /wp-content/uploads/ et vous assurer que l’utilisateur du serveur web en est le propriétaire ? »

Correction #3 : Vérifier l’espace disque

Si votre compte d’hébergement n’a plus d’espace, WordPress ne peut pas créer de nouveaux dossiers ou fichiers.

Comment vérifier :

  • cPanel : Cherchez « Utilisation disque » sur la page d’accueil
  • Hébergement géré (Kinsta, WP Engine, Cloudways) : Vérifiez votre tableau de bord pour les métriques de stockage
  • Demandez au support : La plupart des hébergeurs vous répondront instantanément

Comment libérer de l’espace :

  • Supprimez les anciennes sauvegardes (conservez seulement 2-3 récentes)
  • Supprimez les extensions et thèmes inutilisés (pas seulement désactiver — supprimer)
  • Nettoyez les anciens fichiers média via la Médiathèque (triez par « Téléversé le » et supprimez les inutilisés)
  • Supprimez les anciennes révisions d’articles (utilisez une extension comme « Advanced Database Cleaner »)
  • Videz les transitoires expirés
  • Déplacez les gros fichiers (vidéos, PDF) vers un stockage externe (YouTube, Google Drive, etc.)

SQL rapide pour compter les révisions (à titre indicatif) :

sql

SELECT COUNT(*) FROM wp_posts WHERE post_type = 'revision';

Correction #4 : Créer le dossier uploads manuellement

Parfois, le dossier /uploads/ n’existe pas du tout (après une migration ou une installation fraîche).

Comment corriger via FTP :

  1. Connectez-vous à votre site
  2. Accédez à /wp-content/
  3. Clic droit → Créer un répertoire → nommez-le uploads
  4. Définissez les permissions à 755
  5. À l’intérieur de uploads, créez le dossier de l’année en cours (ex : 2024)
  6. Définissez les permissions à 755
  7. À l’intérieur, créez le dossier du mois en cours (ex : 06 pour juin)
  8. Définissez les permissions à 755

Ou laissez WordPress réessayer :
Créez simplement le dossier uploads vide avec les permissions 755. WordPress créera automatiquement les sous-dossiers année/mois lors du prochain téléversement.

Correction #5 : Désactiver l’organisation par année/mois (solution de contournement)

Si vous avez tout essayé et que vous ne pouvez toujours pas corriger les permissions, vous pouvez demander à WordPress d’arrêter d’organiser les téléversements dans des dossiers par année/mois.

Ajoutez ceci à wp-config.php (avant la ligne « arrêtez de modifier ») :

php

define('UPLOADS', 'wp-content/uploads');
add_filter('upload_dir', function($uploads) {
    $uploads['subdir'] = '';
    $uploads['path'] = $uploads['basedir'];
    $uploads['url'] = $uploads['baseurl'];
    return $uploads;
});

Attention : Ceci est une solution de contournement, pas une véritable correction. Tous les nouveaux téléversements iront directement dans /uploads/, ce qui peut devenir désordonné. Utilisez-la uniquement si votre hébergeur refuse de corriger correctement les permissions.

Correction #6 : Vérifier les restrictions spécifiques à l’hébergement

Certains hébergements gérés ont des comportements particuliers.

Kinsta :

  • Les permissions sont verrouillées. Contactez le support si vous voyez cette erreur — ils la corrigeront en quelques minutes.
  • Leur système de fichiers est en lecture seule dans certains environnements (comme le staging). Assurez-vous de ne pas essayer de téléverser dans la médiathèque d’un site de staging.

WP Engine :

  • Ils imposent des permissions strictes. L’erreur signifie généralement que l’espace disque est plein.
  • Vérifiez votre utilisation du « Stockage » dans le tableau de bord WP Engine.

Cloudways :

  • Généralement un problème de permissions après une migration. Utilisez leur outil « Fix Permissions » dans les paramètres de l’application.

Développement local (XAMPP/MAMP/Local by Flywheel) :

  • Sous Windows, les permissions ne sont souvent pas le problème. Vérifiez que le dossier n’est pas en lecture seule dans les propriétés du fichier Windows.

4. Conseils de prévention

Définissez les bonnes permissions à l’installation
Lors de la première installation de WordPress, assurez-vous que /wp-content/uploads/ est créé avec les permissions 755. La plupart des hébergeurs le font automatiquement.

Surveillez l’espace disque
Configurez des alertes pour lorsque vous atteignez 80 %, 90 % et 95 % de votre limite de stockage. La plupart des hébergements gérés offrent cette fonction.

Ne déplacez ni ne renommez manuellement les téléversements via FTP
Déplacer des dossiers via FTP peut réinitialiser la propriété et les permissions. Utilisez plutôt la Médiathèque WordPress pour la gestion.

Utilisez une extension de sauvegarde qui stocke hors serveur
Si vous utilisez une extension de sauvegarde (UpdraftPlus, etc.), stockez les sauvegardes dans le cloud (Google Drive, Dropbox, S3), pas sur le même serveur.

Calendrier de nettoyage régulier
Une fois par mois :

  • Supprimez les fichiers média inutilisés
  • Supprimez les anciennes révisions d’articles
  • Videz les transitoires expirés
  • Supprimez les extensions et thèmes inactifs

Réflexions finales

L’erreur « Unable to create directory » a une cause simple : le serveur web ne peut pas créer de dossier. La solution consiste presque toujours à corriger les permissions ou à libérer de l’espace disque.

Rappelez-vous :

  • Commencez par les permissions : /uploads/ doit être en 755
  • Si les permissions semblent correctes, vérifiez la propriété (contactez l’hébergeur si nécessaire)
  • Si la propriété est bonne, vérifiez l’espace disque
  • Si tout le reste échoue, créez le dossier manuellement

Cette erreur est agaçante, mais ce n’est presque jamais un bug de WordPress. C’est un problème de configuration du serveur — et cela signifie qu’il est corrigeable.

Ce billet vous a été utile?
Offrez-nous un café!
Tags: