Um die Ladezeit für Websites zu verkürzen, lohnt es sich über Optimierung der eingesetzten Bilder nachzudenken. Es gibt sehr viele Werkzeuge für die Optimierung der Bilder direkt auf dem Linux-Server.
JPEG Optimierung Google Guetzli
Guetzli ist ein JPEG-Encoder, der darauf ausgelegt ist, Bilder mit hoher visueller Qualität und gleichzeitig geringerer Dateigröße zu erzeugen.
Installation unter Ubuntu
Die Installation ist im Terminal mit dem Ubuntu Paketmanager apt
sehr einfach
sudo apt update && sudo apt install guetzli -y
Script zur Nutzung
Folgendes Script durchsucht ein Verzeichnis rekursiv nach JPEG Bildern und optimiert diese.
#!/bin/bash
set -euo pipefail
if [ $# -eq 0 ]; then
echo "Error: no directory given"
exit 1
fi
DIR=$1
if [ ! -d "$DIR" ]; then
echo "Error: directory '$DIR' does not exist"
exit 2
fi
REALDIR=$(realpath "$DIR")
echo "Optimizing directory: $REALDIR"
optimize_with_guetzli() {
local input="$1"
local output="$2"
if guetzli --quality 95 --nomemlimit "$input" "$output" >/dev/null 2>&1; then
mv "$output" "$input"
return 0
else
rm -f "$output"
return 1
fi
}
export -f optimize_with_guetzli
find "$REALDIR" -type f -name "*.jpg" -print0 | while IFS= read -r -d '' IMAGE; do
echo "Optimizing: $IMAGE"
echo "Before: $(du -h "$IMAGE" | awk '{print $1}')"
if optimize_with_guetzli "$IMAGE" "$IMAGE.new"; then
echo " ... Success (Guetzli)"
else
echo " ... Guetzli failed, retrying with ImageMagick"
TMPPNG="$IMAGE.png"
if convert "$IMAGE" "$TMPPNG"; then
if optimize_with_guetzli "$TMPPNG" "$IMAGE.new"; then
rm "$TMPPNG"
echo " ... Success (ImageMagick + Guetzli)"
else
echo " ... Error: Guetzli failed again on $IMAGE"
rm -f "$TMPPNG"
fi
else
echo " ... Error: ImageMagick conversion failed for $IMAGE"
fi
fi
echo "After: $(du -h "$IMAGE" | awk '{print $1}')"
done