L’optimisation des images d’un site est une étape importante, elle permet en effet d’amélioré très significativement le chargement de vos pages mais aussi au niveau du référencement.
Voici le mode opératoire pour mettre en place la compression de vos images avec quelques commande :
Pré-requis :
- installer optipng
apt install optipng
- installer jpegoptim
apt install jpegoptim
- récupérer lockrun et compiler
wget http://unixwiz.net/tools/lockrun.c
$ gcc lockrun.c -o lockrun $ sudo cp lockrun /usr/local/bin/
Optimisez vos JPG avec JpegOptim
Utilisez la commande shell ci-dessous pour trouver toutes vos images JPG et les optimiser à l’aide de jpegoptim. JpegOptim est un optimiseur JPG utilisé pour optimiser / compresser les fichiers jpeg.
lockrun -L .lockjpegoptim -- find /var/www/wp-content/uploads/ -iname *.jpg -mtime +7 -exec jpegoptim --max=80 --strip-all --all-progressive -p {} \; > /dev/null
L’idée est de compresser les images se trouvant dans le dossier /wp-content/uploads ayant une date de modification de plus de 7 jours à l’aide de la commande find
Le flag –strip-all supprimera tous les marqueurs (Comment & Exif) du fichier de sortie. L’option -p est ajoutée pour conserver les temps de modification des fichiers. Sachez que lorsque vous optimisez le jpg progressif, le résultat sera un jpg normal.
Optimisez vos PNG avec OptiPNG
Utilisez la commande shell ci-dessous pour trouver toutes vos images PNG et les optimiser à l’aide d’OptiPNG. OptiPNG est un optimiseur PNG qui recompresse les fichiers image à une taille plus petite, sans perdre aucune information.
lockrun -L .lockoptipng -- find /var/www/wp-content/uploads/ -iname *.png -mtime +7 -exec optipng -o7 -preserve {} \; > /dev/null
L’ indicateur -o7 signifie le niveau d’optimisation. Plus le niveau est élevé, plus les essais de compression sont nombreux. L’essai choisi est probablement le plus efficace.
L’option -preserve préservera les attributs de fichier ( horodatages , droits d’accès aux fichiers, etc.) le cas échéant. Ajoutez l’option -keep si vous souhaitez sauvegarder le fichier d’origine.
OptiPNG peut également optimiser les formats de fichiers non png. Il créera une version PNG optimisée du fichier donné. Le nom du fichier de sortie est composé du nom de fichier d’origine et de l’extension .png.
Combinez l’optimisation dans un travail cron
Les cronjobs peuvent vous faciliter la vie. Ils vous permettent d’exécuter des tâches sous Unix automatiquement en arrière-plan à intervalles réguliers. Les commandes mentionnées dans ce blog peuvent être utilisées pour optimiser automatiquement vos images.
Créer une tache cron
nano /etc/cron.d/compresspics
0 23 * * sunday root lockrun -L .lockjpegoptim -- find /var/www/wp-content/uploads/ -iname *.jpg -mtime +7 -exec jpegoptim --max=80 --strip-all --all-progressive -p {} \; > /dev/null 0 23 * * sunday root lockrun -L .lockoptipng -- find /var/www/wp-content/uploads/ -iname *.png -mtime +7 -exec optipng -o7 -preserve {} \; > /dev/null
Ces cronjobs seront exécutés une fois par semaine (dimanche) et n’optimiseront que les images modifiées au cours des 7 derniers jours. Il ne sert à rien d’optimiser les images qui ont été optimisées une semaine auparavant. C’est une utilisation inutile des ressources. Les drapeaux ajoutés pour conserver les temps de modification prouvent qu’il est utilisé maintenant. Lorsque l’image est optimisée, elle conserve son horodatage pour éviter qu’elle ne soit optimisée la semaine prochaine.
Lockrun est utilisé pour éviter que le cron se lance plusieurs fois pouvant provoquer des gros ralentissements.
Allez sur GTmetrix.com pour mesurer les résultats avant et après. Vous remarquerez une amélioration de votre score concernant «Optimiser les images».