Kirby Image Optimizer – ein Kirby-Plugin

tl;dr
Wir haben ein kleines Plugin für Kirby geschrieben, mit dem die Dateigröße von Bildern optimiert werden kann. Das Plugin ist Open Source und auf Github zu finden, Issues und Pull Requests sind gern gesehen.

Motivation
Bilder (und andere Medien) sind häufig die größten Elemente auf Internetseiten und müssen vom Browser heruntergeladen werden, um dem Benutzer angezeigt zu werden. Wenn die Bilder gut optimiert sind, fällt ihre Größe beim Anzeigen kaum auf. Sind sie das nicht, laden sie nur langsam und die gesamte Seite wird größer. Größere Seiten bedeuten unweigerlich auch längere Ladezeiten und bei einer mobilen Verbindung können diese dann 30 Sekunden und mehr betragen.

Das ist sowohl für unsere Kunden als auch für uns als Dienstleister schlecht: Der Kunde wird mit einer unperformanten Seite assoziiert und wir haben diese unperformante Seite erstellt. Und am Ende des Tages haben beide unzufriedene Kunden.

Wir (und hoffentlich auch jeder andere Dienstleister, der Webseiten baut) optimieren deswegen alle Bilder, die wir auf einer Seite einbinden. Aber gerade, wenn ein CMS im Einsatz ist, bleiben die Bilder nicht lange die gleichen und werden häufig von Kunden gewechselt. Die von Kunden eingepflegten Bilder sind oft nicht optimiert. Das kann am Fehlen von Fähigkeiten oder geeigneter Software, aber auch einfach an Zeitmangel liegen.
Hier kommt der Image Optimizer ins Spiel: Er kann Bilder zwar nicht so genau optimieren wie ein Mensch, aber er kann die Dateigröße von Bildern zumindest in einem annehmbaren Rahmen halten.

Funktion
Das Plugin besitzt zwei Funktionen:

  • Die Qualität von Bildern anpassen (von 0% – 100%)
  • Die Pixelgröße von Bildern anpassen

Nach der Installation muss das Plugin in der config.php aktiviert werden: c::set('imageoptim', true);. Ab hier arbeitet es mit den Standardwerten (90% Qualität, 1920px max-width), diese können aber nach Bedarf angepasst werden. Genaue Information finden sich im Github Repository.

Fehler und Features
Wir haben das Plugin nach bestem Wissen getestet, trotzdem können wir die Realität nicht komplett abdecken. Bei Problemen gerne eine Issue oder am liebsten gleich einen Pull Request öffnen.
Gleiches gilt für Features; das Plugin unterstützt zum Beispiel bisher nur .jpg- und .png-Dateien. Mitmachen ist gerne gesehen!

Zu allen Beiträgen