
🔧 Comment corriger l'erreur de téléchargement d'image dans WordPress
Une erreur de téléchargement d'image dans WordPress survient toujours au pire moment. Vous préparez un article, vous sélectionnez une image, vous cliquez sur «Télécharger» et WordPress affiche silencieusement «HTTP Error» ou refuse d'enregistrer le fichier sans explication. Si cela n'arrivait qu'une fois, ce ne serait pas grave, mais pour certains administrateurs, les échecs de téléchargement se répètent systématiquement tous les quelques jours.
La cause est rarement évidente. Le coupable peut être multiple: des permissions qui se sont cassées après une migration, un conflit avec une extension de sécurité, une limite de mémoire restreinte sur un hébergement mutualisé bon marché, ou ModSecurity qui traite votre image comme une attaque. La bonne nouvelle: presque toutes les causes peuvent être corrigées sans développeur et sans appeler le support de l'hébergeur.
Dans ce guide, vous trouverez la chaîne complète de diagnostic et de correction pour les erreurs de téléchargement d'image. Des solutions simples (changer de navigateur, renommer les fichiers) jusqu'au niveau serveur (modifier php.ini, .htaccess et wp-config.php). Suivez-la et corrigez le problème; la plupart des cas sont résolus en 5 à 10 minutes.
💡 Aperçu rapide:
- Vérifiez les permissions du dossier
/wp-content/uploads/via FTP ou le gestionnaire de fichiers de cPanel: 744 pour les dossiers et 644 pour les fichiers. - Pour les erreurs HTTP, suivez la chaîne: vider le cache du navigateur → renommer le fichier → le compresser → désactiver les extensions → augmenter la mémoire PHP → changer la version de PHP.
- Pour les erreurs «Missing a temporary folder» et les problèmes de limite de taille de fichier, quelques lignes dans
wp-config.phpet.htaccessvous aideront. - Les utilisateurs de GoDaddy et DreamHost trouveront des solutions spécifiques à la fin.
Pourquoi les erreurs de téléchargement d'image se produisent-elles en premier lieu
WordPress stocke tous les fichiers médias dans /wp-content/uploads/. Pour y écrire une image, le processus PHP a besoin de permissions en écriture. Si les permissions sont cassées (cela arrive lors des mises à jour du serveur, des migrations, des changements d'hébergeur, ou même après des correctifs PHP automatiques), les téléchargements échouent silencieusement.

Le deuxième groupe de causes concerne la configuration PHP: la limite de mémoire, les paramètres upload_max_filesize et post_max_size, ainsi que le chemin du dossier temporaire. Si l'un de ces paramètres est insuffisant, WordPress n'acceptera pas le fichier. Sur les offres mutualisées bon marché, les hébergeurs réduisent souvent les tampons de manière plus agressive que ce qu'affiche phpinfo(), et vous voyez «HTTP Error» sans aucune indication sur la cause réelle.

Enfin, il y a les conflits. Une extension de sécurité intercepte la requête POST, un thème surcharge la gestion des médias, ou ModSecurity au niveau du serveur web considère le téléchargement comme une menace. Les diagnostics sont abordés dans la section suivante.
1. Vérifier les permissions du dossier uploads
La cause la plus fréquente est un problème de permissions sur /wp-content/uploads/. WordPress ne peut pas écrire dans le dossier et refuse silencieusement le téléchargement. La solution: définir le bon CHMOD via FTP.
Connectez-vous à votre site via un client FTP tel que FileZilla. Naviguez jusqu'à /wp-content/, trouvez le dossier uploads, faites un clic droit et sélectionnez «File permissions»:

Dans la boîte de dialogue qui s'ouvre, saisissez 744 dans le champ de valeur numérique. Cochez «Recurse into subdirectories» et «Apply to directories only». Cliquez sur OK.

Si 744 ne résout pas le problème, essayez 755: le propriétaire obtient lecture, écriture et exécution, tandis que le groupe et les autres obtiennent lecture et exécution.
Définissez maintenant les permissions pour les fichiers à l'intérieur de uploads. Faites un clic droit sur le dossier uploads → «File permissions». Saisissez 644, cochez «Recurse into subdirectories» et «Apply to files only». Cliquez sur OK.

Essayez à nouveau de télécharger une image. Dans la plupart des cas, l'erreur disparaît immédiatement après cette procédure. Si cela ne vous aide pas, passez à l'étape suivante.
2. Suivre la chaîne de résolution des erreurs HTTP
Les erreurs HTTP lors du téléchargement sont les plus frustrantes car WordPress ne laisse aucune trace dans les logs. Juste «HTTP Error» et rien d'autre. Vous devez passer en revue les correctifs potentiels par élimination. Voici une chaîne allant du plus simple au plus complexe: parcourez-la dans l'ordre jusqu'à ce que les téléchargements fonctionnent à nouveau.
2.1. Rafraîchir la page ou changer de navigateur
Cela semble évident, mais cela fonctionne plus souvent qu'on ne le pense. Parfois, la session WordPress expire et, après s'être reconnecté, l'erreur disparaît. Rafraîchissez la page avec une réinitialisation forcée du cache: Ctrl+F5 sur Windows, Cmd+Shift+R sur Mac. Si cela ne vous aide pas, ouvrez le site dans un autre navigateur. S'il y a une erreur dans Chrome mais pas dans Firefox, le problème vient des extensions ou du cache spécifique à ce navigateur.
2.2. Vider le cache du navigateur
Le cache stocke des scripts et des styles obsolètes qui peuvent entrer en conflit avec le téléchargeur de médias de WordPress. Raccourcis clavier pour une réinitialisation complète:

- Windows (Chrome, Firefox, Edge):
Ctrl + Shift + Delete→ «Clear browsing data» - Mac (Chrome, Firefox):
Cmd + Shift + Delete - Safari:
Shift + click the reload button
Vous pouvez également accéder aux paramètres du navigateur et supprimer le cache manuellement. Le chemin varie selon le navigateur mais se trouve toujours dans la section «Historique» ou «Confidentialité».
2.3. Renommer le fichier image
WordPress ajoute automatiquement des numéros aux noms en double (image-1.png, image-2.png), mais parfois ce mécanisme dysfonctionne. Renommez le fichier avant de le télécharger: évitez les caractères spéciaux, les espaces et les caractères non ASCII dans le nom. Un bon format: product-banner-01.jpg.
2.4. Compresser l'image
Il se peut que la taille du fichier atteigne la limite de l’hébergeur. Même si upload_max_filesize est défini de manière généreuse, certains hébergeurs tronquent les tampons à des valeurs plus basses. Compressez l’image: pour le JPEG, utilisez Imagify ou TinyPNG; pour le PNG, utilisez Squoosh.

Vérifiez également le format: si vous téléversez un .png, essayez de le convertir en .jpg, et inversement. Parfois, le problème est lié à un format spécifique et à la version de la bibliothèque PHP (GD ou Imagick).
2.5. Désactiver les extensions et changer de thème
Les extensions de sécurité (Wordfence, Solid Security, Sucuri) et d’optimisation d’images peuvent intercepter les téléversements et provoquer des conflits. Désactivez temporairement TOUTES les extensions et basculez vers un thème par défaut (Twenty Twenty-Five ou tout autre thème par défaut). Testez le téléversement. S’il fonctionne, réactivez les extensions une par une pour identifier la responsable.
2.6. Augmenter la limite de mémoire PHP
Le processus de traitement d’image en PHP consomme de la mémoire. Une capture d’écran en Full HD au format JPEG peut ne pas suffire avec seulement 64 Mo. Ajoutez ce qui suit dans wp-config.php avant la ligne /* That's all, stop editing! */:
1 define( 'WP_MEMORY_LIMIT', '256M' );
2.7. Mettre à jour la version de PHP
En 2026, WordPress recommande PHP 8.3 comme version minimale, les versions 8.4 ou 8.5 étant optimales. Sur les versions 7.4 et antérieures, le fonctionnement du téléverseur de médias n’est pas garanti. Le chemin dans cPanel: section «Software» → «Select PHP Version» → basculez vers 8.4 ou 8.5.

2.8. Désactiver ModSecurity
ModSecurity est un pare-feu au niveau du serveur web qui traite parfois les téléversements d’images comme des attaques. Ajoutez ce qui suit dans .htaccess (à la racine du site):
1 <IfModule mod_security.c> 2 SecFilterEngine Off 3 SecFilterScanPOST Off 4 </IfModule>
Si cela ne résout pas le problème, supprimez ces lignes: le problème ne vient pas de ModSecurity.
2.9. Faire basculer WordPress d’Imagick vers la bibliothèque GD
WordPress utilise Imagick (si le module est installé sur le serveur) ou la bibliothèque GD pour le traitement d’images. Imagick offre une meilleure qualité mais consomme davantage de mémoire. Si WP_MEMORY_LIMIT n’a pas suffi, forcez WordPress à utiliser GD. Ajoutez ce qui suit dans le functions.php de votre thème actif:
1 function wpb_image_editor_default_to_gd( $editors ) { 2 $gd_editor = 'WP_Image_Editor_GD'; 3 $editors = array_diff( $editors, array( $gd_editor ) ); 4 array_unshift( $editors, $gd_editor ); 5 return $editors; 6 } 7 add_filter( 'wp_image_editors', 'wpb_image_editor_default_to_gd' );
Après cela, WordPress place GD Library en tête de chaîne et utilise Imagick comme solution de repli.
2.10. Installer Add From Server comme méthode alternative de téléversement
Si l'erreur HTTP persiste et que vous devez téléverser un fichier en urgence, déposez-le sur le serveur via FTP dans n'importe quel dossier et importez-le dans la médiathèque avec Add From Server. L'extension récupère les fichiers directement depuis le système de fichiers, en contournant le téléverseur standard de WordPress. Les fichiers de toute taille fonctionnent, la seule limite étant l'espace disque de votre offre.
2.11. Contacter votre hébergeur
Si vous avez tout essayé, écrivez au support d'hébergement. Décrivez l'erreur, joignez une capture d'écran et précisez vos versions de PHP et de WordPress. Souvent, le problème se résout côté serveur: le support peut modifier le php.ini, lever un blocage ModSecurity ou redémarrer PHP-FPM.
3. Corriger l’erreur «Missing a temporary folder»
L’erreur «Missing a temporary folder» bloque non seulement l’import d’images, mais aussi l’installation de plugins et les mises à jour de WordPress. La cause: PHP ne trouve pas le dossier temporaire ou ne peut pas y écrire.
La solution consiste à indiquer explicitement à WordPress le chemin du dossier temporaire. Ouvrez wp-config.php et ajoutez avant la dernière ligne:
1 define( 'WP_TEMP_DIR', dirname( __FILE__ ) . '/wp-content/temp/' );
Enregistrez le fichier. Ensuite, via FTP ou le gestionnaire de fichiers de cPanel, créez un dossier temp dans /wp-content/ (s’il n’existe pas). Attribuez au dossier les permissions 755. Retournez dans l’administration et réessayez l’import.
4. Augmenter la limite de taille des fichiers importés
L’erreur «Uploaded file exceeds the upload_max_filesize directive» signifie que le fichier est trop volumineux pour les paramètres PHP actuels. Trois façons de la corriger, de la plus simple à la plus avancée.
4.1. Via.htaccess
Ajoutez ce qui suit au fichier .htaccess (à la racine du site):
1 php_value upload_max_filesize 256M
Si l’erreur persiste, ajoutez les lignes suivantes:
1 php_value post_max_size 256M 2 php_value memory_limit 512M 3 php_value max_input_time 180 4 php_value max_execution_time 180
4.2. Via wp-config.php
Ajoutez ce qui suit à wp-config.php avant la dernière ligne:
1 @ini_set( 'upload_max_filesize', '256M' ); 2 @ini_set( 'post_max_size', '256M' );
4.3. Via php.ini
Localisez le fichier php.ini sur le serveur. Le chemin dépend de l’hébergeur; il se trouve généralement dans /etc/php/8.4/cli/php.ini ou est paramétrable dans cPanel («Select PHP Version» → «Switch to PHP Options»). Ouvrez-le, cherchez la directive upload_max_filesize et modifiez la valeur:
1 upload_max_filesize = 256M 2 post_max_size = 256M
Enregistrez et redémarrez PHP via cPanel ou avec une commande SSH. Si vous n’avez pas accès à php.ini, contactez le support de votre hébergement.
5. Solutions spécifiques pour GoDaddy et DreamHost
GoDaddy
Sur les hébergements mutualisés GoDaddy, les erreurs HTTP sont souvent liées à l’ordre des bibliothèques de traitement d’images. Ajoutez ce qui suit au fichier functions.php de votre thème actif:
1 add_filter( 'wp_image_editors', 'change_graphic_lib' ); 2 function change_graphic_lib( $array ) { 3 return array( 'WP_Image_Editor_GD', 'WP_Image_Editor_Imagick' ); 4 }
Ce code force la bibliothèque GD à être utilisée en premier, ce qui résout la plupart des cas d’erreur HTTP spécifiquement chez GoDaddy.
DreamHost
Chez DreamHost, les erreurs sont généralement liées à des conflits de plugins ou de thèmes. Commencez par désactiver tous les plugins et passez à un thème par défaut. Supprimez les thèmes et plugins inutilisés, car ils peuvent laisser des hooks morts qui interfèrent avec l’importateur. Si cela ne suffit pas, contactez le support DreamHost: ils ont des configurations serveur personnalisées et leur équipe connaît les spécificités.
Que faire si l’erreur persiste
Si vous avez suivi toute la chaîne et que les imports échouent encore une fois par semaine, le problème est plus profond que des permissions ou des limites PHP. Le coupable est probablement un hébergement avec des restrictions serveur strictes (offre mutualisée économique) ou un plugin mal codé qui écrase les paramètres de l’importateur de médias à chaque mise à jour.
D’abord, écartez la piste des plugins: désactivez tout pendant 24 heures et surveillez le comportement de l’importateur. Si aucune panne ne survient en 24 heures, réactivez les plugins un par un à un jour d’intervalle jusqu’à trouver le coupable.
Si vous ne le trouvez pas, changez d’hébergement. Sérieusement. Les offres mutualisées économiques rognent sur la mémoire PHP et réduisent les tampons de manière si agressive qu’aucune modification du .htaccess ne suffira. Pour une gestion stable des fichiers médias WordPress, il vous faut un VPS ou un hébergement managé de qualité avec un memory_limit d’au moins 256 Mo et un max_execution_time d’au moins 120 secondes.
Une solution de contournement: importez les images via FTP et intégrez-les avec Add From Server. C’est plus lent que l’importateur natif, mais cela fonctionne sur n’importe quel hébergement et ne dépend pas des limites PHP.
⁉️🤔 Foire aux questions
Pourquoi les erreurs d’import surviennent-elles sans raison apparente?
Les hébergeurs mettent régulièrement à jour les logiciels serveur: correctifs PHP mineurs, mises à jour Apache, changements de configuration ModSecurity. Les chemins, les versions et les paramètres changent, et les permissions sur
/wp-content/uploads/se cassent. Vous n’avez touché à rien, mais les imports ne fonctionnent plus. La solution: réinitialisez les permissions à 744/755 pour le dossier et 644 pour les fichiers à l’intérieur de/wp-content/uploads/, et vérifiez les limites PHP.
Que faire si rien dans cet article ne m’a aidé?
Activez
WP_DEBUGdanswp-config.php:define( 'WP_DEBUG', true );et répétez l’import. WordPress écrira l’erreur spécifique dans/wp-content/debug.log. Vous verrez l’erreur fatale PHP ou l’avertissement exact: le plus souvent, il s’agit d’un épuisement de la mémoire (allowed memory size exhausted), d’un dossier temporaire inaccessible (failed to open dir) ou d’un conflit de plugin spécifique. Avec cette information, le support d’hébergement peut résoudre le problème beaucoup plus rapidement.
Comment importer un très gros fichier si mon hébergement ne me permet pas d’augmenter la limite?
Utilisez FTP + le plugin Add From Server. Importez le fichier manuellement sur le serveur via FTP dans
/wp-content/uploads/import/(ou tout autre dossier), puis intégrez-le à la médiathèque via le plugin. Add From Server récupère les fichiers directement depuis le système de fichiers du serveur, en contournant l’importateur HTTP et toutes ses limites. Cela fonctionne pour des fichiers de toute taille; la seule limite est l’espace disque de votre offre. Pour des imports par lots, créez un dossier/wp-content/uploads/bulk-import/et importez-y tout en une fois via FTP.
Peut-on prévenir définitivement les erreurs d’import d’images?
On ne peut pas les éliminer complètement, mais on peut minimiser le risque. Gardez PHP sur une version actuelle (8.4 ou 8.5 en 2026), avec un
memory_limitd’au moins 256 Mo. N’installez pas de plugins de sécurité avec des paramètres par défaut agressifs. Vérifiez les permissions de/wp-content/uploads/tous les six mois. Après chaque mise à jour du cœur de WordPress ou de PHP, faites un test d’import d’image. Si vous avez configuré des sauvegardes automatiques, une restauration prend 5 minutes. Et gardez un accès FTP à portée de main: sans lui, la moitié des solutions de cet article sont inaccessibles.
Faut-il obligatoirement FTP pour corriger les permissions?
Non. L’alternative est le gestionnaire de fichiers dans cPanel (ou l’équivalent de votre hébergeur). Allez dans File Manager →
/wp-content/→ clic droit sur le dossieruploads→ Change Permissions → mettez 744. La logique est la même; l’interface est légèrement différente. Le gestionnaire de fichiers de cPanel fonctionne avec les permissions exactement comme un client FTP: tout se fait dans le navigateur, sans logiciel séparé. Pour les utilisateurs qui trouvent les clients FTP compliqués, c’est le moyen le plus accessible de corriger les permissions en deux minutes.
Erreur d’import corrigée, et ensuite?
Vous avez suivi la chaîne et les imports fonctionnent. Il est temps de passer à la prévention, pour ne pas revenir à ce problème dans un mois. Trois choses à faire tout de suite:
- Notez vos paramètres qui fonctionnent. Ces permissions (744/755), les limites PHP (256 Mo), la version PHP (8.4+): enregistrez-les dans vos notes. Lors de la prochaine migration ou mise à jour serveur, vous les rétablirez en une minute au lieu d’une heure d’essais et d’erreurs.
- Mettez en place une surveillance de l’espace disque. La moitié des erreurs d’import «soudaines» sont dues à un manque d’espace disque. WordPress refuse silencieusement d’écrire et vous restez dans le flou. Des plugins gratuits comme WP Health vérifient l’espace disponible et envoient une notification à votre adresse e-mail avant que le disque ne soit plein.
- Consultez les logs une fois par mois.
/wp-content/debug.log(si vous avez activéWP_DEBUG) montrera un problème naissant bien avant qu’il ne devienne bloquant. Quelques minutes par mois vous épargnent des heures de réparations imprévues.
Vous avez encore des questions ou vous avez rencontré un cas inhabituel? Décrivez la situation dans les commentaires et nous trouverons la solution ensemble.



