Contourner la limite d'image sur WordPress
La plupart des conseils vous disent de modifier php.ini. Sur un hébergement partagé, c'est souvent impossible. Compresser l'image d'abord fonctionne partout.
Compressez l'image sous la limite autorisée au lieu d'augmenter cette limite, car un fichier plus petit résout à la fois l'erreur de téléversement et le problème de vitesse de page. WordPress hérite de sa limite de PHP, généralement 2 MB ou 8 MB selon l'hébergeur, et sur un hébergement géré ou partagé, vous ne pouvez souvent pas la modifier.
Presque tous les articles sur ce sujet vous conseillent de modifier php.ini, .htaccess ou wp-config.php. Ces instructions supposent un accès au serveur que la plupart des propriétaires de sites n'ont pas, et même lorsque cet accès existe, il convient de se demander si augmenter le plafond est la bonne solution.
D'où vient la limite
Le plafond est défini par 3 valeurs PHP, et la plus petite des 3 l'emporte. WordPress affiche le chiffre qui en résulte sous la zone de téléversement, c'est pourquoi ce nombre diffère souvent de ce que l'hébergeur annonce.
- upload_max_filesize contrôle la taille maximale d'un fichier unique accepté par PHP.
- post_max_size contrôle la taille totale d'un envoi, elle doit donc être supérieure à la taille du fichier.
- memory_limit contrôle la quantité de mémoire que l'opération de redimensionnement peut utiliser lors de la génération des miniatures.
- max_execution_time peut également provoquer des échecs, car une grande image peut expirer avant la fin du traitement.
La troisième valeur provoque les échecs les plus déroutants. Un fichier téléversé avec succès peut tout de même échouer pendant que WordPress génère ses tailles de miniatures, produisant une image brisée dans la bibliothèque de médias plutôt qu'une erreur de téléversement.
Pourquoi compresser est préférable à l'augmentation de la limite
Une photo de 6 MB sur une page web pose problème, que le serveur l'accepte ou non. Augmenter la limite supprime le message d'erreur mais laisse subsister le poids sous-jacent.
WordPress génère plusieurs tailles de miniatures à partir de chaque téléversement, de sorte qu'un original lourd se multiplie en dérivés lourds et consomme de l'espace de stockage dans toute la bibliothèque de médias. Compresser à quelques centaines de kilo-octets avant le téléversement corrige l'erreur, réduit les tailles générées, diminue le temps de sauvegarde et ne nécessite aucun accès au serveur.
Comment passer sous la limite
Pour téléverser avec succès sans toucher aux paramètres du serveur, suivez ces 5 étapes.
- Lisez la limite affichée sous la zone de téléversement de WordPress, qui indique le chiffre réel pour votre hébergeur.
- Redimensionnez l'image à sa largeur d'affichage, doublée pour les écrans haute densité, car une photo de 4000 pixels dans une colonne de 800 pixels gaspille la majeure partie de ses données.
- Convertissez au format WebP pour les photos et les graphiques qui n'apparaîtront que sur le site.
- Compressez pour atteindre une cible de 200 KB à 400 KB, ce qui convient à presque toutes les images d'articles.
- Téléversez, puis vérifiez que l'image s'affiche correctement en pleine largeur sur ordinateur et sur mobile.
Travailler dans cet ordre produit généralement un fichier 90 % plus petit que l'original de l'appareil photo, sans changement visible à l'écran. La disparition de l'erreur de téléversement devient un effet secondaire plutôt qu'un but en soi.
Tailles recommandées pour le contenu WordPress
Faites correspondre la largeur de l'image à l'espace le plus large qu'elle occupera dans votre thème, puis doublez-la pour les écrans haute densité. La plupart des zones de contenu sont beaucoup plus étroites que ce que pensent les propriétaires de sites.
| Utilisation de l'image | Largeur d'affichage | Largeur de téléversement | Taille cible |
|---|---|---|---|
| Image dans un article | 700 px | 1400 px | 150 KB à 250 KB |
| Image mise en avant pleine largeur | 1200 px | 2400 px | 300 KB à 500 KB |
| Bannière d'en-tête ou Hero | 1920 px | 1920 px | 300 KB à 400 KB |
| Miniature ou carte | 400 px | 800 px | 50 KB to 100 KB |
| Photo d'auteur ou de profil | 150 px | 300 px | Moins de 30 KB |
Quand l'augmentation de la limite est la bonne réponse
Augmentez la limite lorsque vous téléversez des fichiers réellement volumineux qui doivent le rester, comme des photos en résolution d'impression, des vidéos ou des packs de thèmes. Ces cas sont réels mais ne représentent pas la situation générale.
Un photographe qui livre des galeries haute résolution, une boutique qui importe une extension volumineuse ou un site qui héberge des documents PDF téléchargeables ont tous besoin de marge. Un blogueur dont la photo de vacances s'affichera sur 700 pixels de large n'en a pas besoin. Demandez-vous à quoi sert le fichier avant de modifier un paramètre du serveur, car la réponse renvoie généralement à la compression.
Comment augmenter la limite si vous le devez
Demandez d'abord à votre hébergeur, car la plupart des prestataires gérés modifient la valeur sur demande en quelques minutes. Les tickets d'assistance résolvent cela plus rapidement que les fichiers de configuration sur n'importe quel plan d'hébergement qui restreint l'accès aux fichiers.
- Les hébergeurs WordPress gérés proposent généralement le paramètre dans un panneau de contrôle ou l'ajustent sur demande.
- L'hébergement cPanel comprend souvent un éditeur MultiPHP INI où les 3 valeurs peuvent être définies directement.
- Les serveurs privés virtuels (VPS) permettent de modifier php.ini, après quoi le service PHP doit être redémarré.
- Les modifications de .htaccess fonctionnent sur certaines configurations Apache et provoquent une erreur de serveur sur d'autres, conservez donc une sauvegarde.
- Les extensions qui prétendent augmenter la limite ne peuvent pas dépasser ce que le serveur autorise, peu importe leur description.
L'erreur HTTP qui n'est pas liée à la taille
Une erreur HTTP générique lors du téléversement signifie généralement que la mémoire ou le temps d'exécution s'est épuisé pendant que WordPress générait les miniatures, et non que le fichier a été rejeté pour sa taille. La distinction est importante car la compression de l'image corrige ces deux causes.
Ce sont les dimensions importantes plutôt que le poids du fichier qui saturent la mémoire, car le serveur doit conserver chaque pixel en mémoire lors du redimensionnement. Une image de 6000 par 4000 pixels nécessite beaucoup plus de mémoire que ne le suggère son poids de fichier. Réduire les dimensions avant le téléversement élimine l'échec même lorsque le fichier était déjà inférieur au plafond de taille.
Les tailles de miniatures créées par WordPress
WordPress génère au moins 4 copies supplémentaires de chaque téléversement, et les thèmes et extensions en ajoutent couramment plusieurs autres. Une seule photo peut devenir 8 ou 10 fichiers sur le disque sans que le propriétaire du site ne s'en rende compte.
Les valeurs par défaut sont la miniature à 150 pixels carrés, la taille moyenne à 300 pixels, la moyenne grande à 768 pixels et la grande à 1024 pixels, aux côtés de la version redimensionnée que WordPress crée pour les très grands téléversements. Téléverser un original plus petit signifie que chaque fichier dérivé est également plus petit, c'est pourquoi la compression avant le téléversement se répercute sur l'ensemble de la bibliothèque.
Prise en charge du WebP dans WordPress
WordPress accepte les téléversements WebP depuis la version 5.8, et tous les navigateurs actuels affichent ce format. Téléverser directement du WebP évite d'installer des extensions de conversion que de nombreux sites utilisent dans ce but.
Deux précautions s'imposent. Certains thèmes et constructeurs de pages plus anciens supposent l'utilisation de JPG ou PNG et peuvent ne pas générer correctement les miniatures WebP, vérifiez donc avec un téléversement de test avant de convertir toute une bibliothèque. Les images destinées à être téléchargées par les visiteurs, comme les dossiers de presse ou les guides imprimables, doivent rester en JPG, car le WebP reste peu pratique en dehors des navigateurs.
Vérifier le poids des images sur une page en ligne
Ouvrez les outils de développement avec F12, allez sur l'onglet Réseau, filtrez par images et rechargez la page. Le panneau liste chaque image avec sa taille réelle transférée, triée de la plus grande à la plus petite.
Cette vue répond directement à la question sans approximations. Recherchez toute image individuelle de plus de 500 KB et toute page où le total des images dépasse 2 MB. Le fichier le plus lourd est presque toujours celui qu'il faut corriger en premier, et il s'agit généralement d'une image d'en-tête ou de la première photo d'un article. Corriger 2 ou 3 images supprime souvent la majeure partie du poids superflu d'une page.
Corriger une bibliothèque de médias déjà lourde
Compressez la bibliothèque existante plutôt que seulement les nouveaux téléversements, car les anciens articles portent l'essentiel du poids sur un site établi. Un blog actif depuis 5 ans peut contenir des milliers d'images non compressées.
Téléchargez le dossier des téléversements (uploads), traitez-le en une seule fois, et remplacez les fichiers en conservant les mêmes noms pour que les articles existants continuent de fonctionner. Régénérer les miniatures ensuite reconstruit les tailles dérivées à partir des originaux plus petits. Faites une sauvegarde avant de remplacer quoi que ce soit, car c'est l'une des rares tâches d'image qui écrase les fichiers sur place.
Traiter un dossier de téléversements complet
Déposez le dossier sous forme d'archive ZIP et chaque image prise en charge à l'intérieur est extraite, redimensionnée et compressée en une seule étape. Jusqu'à 500 fichiers peuvent être traités par lot, ce qui couvre la plupart des sites de petite et moyenne taille en quelques sessions.
Tout se passe dans votre navigateur sur votre propre processeur, de sorte que les sites clients, les brouillons non publiés et les galeries privées ne parviennent jamais à un serveur. Cela est important pour les agences travaillant sous contrat, où le téléversement de la bibliothèque de médias d'un client vers un service de compression inconnu violerait l'accord, même si rien ne se passait mal.