Hast Du schon was von dem neuem Bildformat WebP von Google gehört? Mir fiel das Format das erste mal bei den SEO Days 2018 in Köln auf. Dabei ist das „neue“ WebP Format gar nicht so neu. Google entwickelte schon 2010 das neue Grafikformat. Jedoch findet jetzt erst so langsam die Einkehr in unsere Browser statt. Seit der Version 65 von Firefox nutzt nun auch der letzte populäre Browser, neben Chrome und Safari neue Format. Das war für mich das Signal sehr intensiv mit dem neuen Format auseinander zu setzten. Warum? Ich erkläre es Dir kurz:

Warum WebP?

Das neue WebP Format vereint die Vorteile von JPG und PNG in einem einzigen Dateiformat. Das heißt wir können sehr komplexe Bilder und Grafiken mit einem Alpha-Kanal (Transparenz) abspeichern und schaffen es trotzdem ein sehr kleine Dateigröße zu erreichen. Das erreichen wir dank der neuen Methode und sehr wirksamen Komprimierung. Wir müssen also nicht mehr zwischen PNG und JPG differenzieren und sparen zusätzlich noch an der Größe.

Nach einigen Test, war der Hauptgrund für mich persönlich allerdings die Dateigröße und nicht die Vereinigung der Dateiformate. Ich möchte Dir im Nachfolgenden kurz zeigen wie mächtig das neue WebP Format ist. Ich nehme ein Foto und eine Grafik und speichere dieses einmal in voller Qualität, mit geringer Kompression und mit hoher Kompression als JPG und als auch als WebP ab.

Dateigrößenvergleich zwischen JPG und WebP
Dateigrößenvergleich zwischen JPG und WebP

Die Grafiken im Vergleich kannst Du hier einsehen:

  1. JPG, 1200x675px, 72dpi, unkomprimiert
  2. JPG, 1200x675px, 72dpi, Qualität 80% (Photoshop)
  3. JPG, 1200x675px, 72dpi, Qualität 60% (Photoshop)
  4. WEBP, 1200x675px, 72dpi, Qualität 80%
  5. WEBP, 1200x675px, 72dpi, Qualität 60%

Wenn wir uns jetzt Webseiten angucken, dann fällt uns auf wie hoch der Anteil der zu ladenden Daten mit Bildern in Verbindung stehen. Im Durchschnitt bezieht sich etwa 60% des gesamten Datenvolumens auf Grafiken. Durch das neue WebP Format von Google, sparen wir einen Bärenanteil an Daten. Das ist eine extrem starke Stellschraube für die Performanceoptimierung Deiner Webseite.

Aber Vorsicht: Manchmal kann es passieren, dass das WebP Bild trotzdem größer ist als das Original. Dies ist mir besonders bei Grafiken aufgefallen die ich als PNG abgespeichert habe. Zum Beispiel bei der Infografik, die Du weiter oben findest. Deswegen ist dort auch ausschließlich nur das PNG eingebettet.

Wie erstelle ich Bilder im WebP Format?

Aktuell (am 15.03.2019) wird das Format in dem von mir meist benutzen Programm Photoshop noch nicht unterstützt. Jedoch wirst Du überall auf meiner Webseite das neue Format antreffen. Wie mache ich das?

Mit der Kommandozeile:

Ich erstelle ganz normal meine Grafiken in einem Bildbearbeitungsprogramm und speichere diese als JPG oder PNG. Sobald ich alle meine Grafiken beisammen habe, gehe ich wie folgt unter Windows vor:

Du benötigt zu aller erst das cwebp Tool von Google. Dieses kannst Du hier runter laden: https://storage.googleapis.com/downloads.webmproject.org/releases/webp/index.html. Scroll ganz runter um die letzte Version zu finden. Für Windows mit 64 Bit lädst du dann z.B. die Version „libwebp-1.0.2-windows-x64.zip“ runter. Wie benötigen nur die „cwebp.exe“. Den Rest brauchst Du nicht entpacken. Du wirst merken, dass Du das Programm mit einem Doppelklick nicht einfach öffnen kannst. Das liegt daran, dass Google keine Oberfläche für das Programm gebaut hat und davon ausgeht, dass man das Programm über die Kommandozeile nutzt und z.B. über den Befehl „cwebp input.jpg -q 60 -o output.webp“ die gewünschte Konvertierung erzielt. Keine Angst, das klingt schwieriger als es ist.

Anbei eine Schritt für Schritt Anleitung:

  1. Deine erstellen Grafiken kopierst Du alle an einen Ort. Nehmen wir z.B. Deinen Desktop. Dort erstellen wir den Ordner „webp“. Die Bilder sollten sich jetzt hier befinden:
    C:\Users\BENUTZERNAME\Desktop\webp
    Hierhin kopierst Du auch die cwebp.exe aus dem Download vorhin (wir benötigen auch nur ausschließlich die cwebp.exe. Alles andere kannst du ignorieren).
    Es sollten sich jetzt ausschließlich die cwebp.exe und Deine Bilder in dem Ordner befindet.
  2. Jetzt öffnest Du die Konsole indem du die Windows Taste drückst und nach dem Programm „Eingabeaufforderung“ öffnest.
    Jetzt benötigst Du einige Basics im Umgang mit der Kommandozeile. In der untersten Zeile siehst in welchem Ordner Du Dich befindest. Damit wir das cwebp Tool nutzen können, musst und den vorhin erstellten Ordner navigieren. Das geschieht mit dem Befehl „cd“. Dieser Befehl steht für „change directory“. Um in einen Ordner zu navigieren gibst Du also „cd ORDNERNAMEN“ ein.
    Wenn Du Dich also im Ordner C:\Users\BENUTZERNAME\ befindest, gibst Du „cd Desktop“ ein um den Ordner Desktop zu wechseln. Jetzt sollte sich der Pfad in der Kommandozeile angepasst haben. Nun gib ein letztes mal „cd webp“ ein um in den Ordner C:\Users\BENUTZERNAME\Desktop\webp zu wechseln.
  3. Nun können wir die Bilder die in diesem Ordner in WebP umwandeln, indem wir folgenden Befehl ausführen „cwebp input.png -q 60 -o output.webp“. Dabei steht „input.png“ für das Bild welches Du umwandeln willst. „output.webp“ ist wie die WebP-Datei am Ende heißen soll. Und „-q 60“ gibt den Kompressionsfaktor an. Wollen wir also z.B. ein JPG mit dem Namen „Katze.jpg“ in eine WebP Datei umwandeln und einen Kompressionsfaktor von 80 setzen wollen, geben wir folgenden Befehl ein „cwebp Katze.jpg -q 80 -o Katze.webp“.
    (Tipp: Es gibt viele Optionsmöglichkeiten an dieser Stelle. Alle Optionen findest Du in der offiziellen Dokumentation von Google https://developers.google.com/speed/webp/docs/cwebp)

Nutzt man nun hier nun z.B. an dieser Stelle den Befehl „dir > dateiname.txt“, kann man alle Dateinamen der Fotos in eine Textdatei schreiben lassen. Mit etwas Geschick, kann man so pro Datei relativ schnell alle Codezeilen schreiben und so hunderte von Fotos in wenigen Minuten konvertieren.

Mit einem Konverter

Wem das zu stressig ist kann folgende Alternativen nutzen:

WebP im Web nutzen

Jetzt haben wir ganz viele tolle und kleine WebP Bilder. Wir könnten die Bilder jetzt ganz einfach ins HTML per Img-Tag schreiben, haben aber dann das Problem das alte Browser, die das Format nicht kennen, kein Bild anzeigen werden. Um diese nun im Web zu nutzen und die Abwärtskompatibel zu gewährleisten gibt es zwei Wege:

Per HTML Befehl

<picture>
	<source srcset="/pfad/Katze.webp" type="image/webp">
	<img src="/pfad/Katze.jpg" alt="" class="">
</picture>

Moderne Browser lesen das Picture Element und versuchen das WebP zu nutzen. Sollte der Browser das Format nicht kennen, nutzt er die alternative. In diesem Fall das JPG.

Alte Browser ignorieren das Picture und das Source Element komplett und lesen nur das Img-Tag. Diese geben dann das JPG aus.

Per htaccess

Wem das zu viel ist, kann auch die WebP Bilder automatisch ausgeben lassen per .htaccess Datei.

Für Apache Server

RewriteEngine On
RewriteCond %{HTTP_ACCEPT} image/webp
RewriteCond %{DOCUMENT_ROOT}/$1.webp -f
RewriteRule ^(wp-content/uploads.+)\.(jpe?g|png)$ $1.webp [T=image/webp,E=accept:1]
Header append Vary Accept env=REDIRECT_accept

AddType image/webp .webp

Für nginx Server

# http config block
map $http_accept $webp_ext {default "";"~*webp" ".webp";}

# server config block
location ~* ^/wp-content/.+\.(png|jpg)$ {
add_header Vary Accept;
try_files $uri$webp_ext $uri =404;}

BONUS: WebP Bilder in CSS nutzen

Ich nutze die WebP Bilder per HTML Befehl. Ich habe dadurch die Ausgaben direkt unter Kontrolle. Jedoch hatte ich das Problem, dass ich WebP Bilder auch als Background-Image per CSS Befehl ausgeben wollte, aber dennoch die Abwärtskompatibilität garantieren wollte. Ich bin am Ende dann auf ein Mini-Tool des Berühmten Detektors „Modernizr“ gestoßen. Dort lädst Du einfach nur den Detector „web“ runter und baust diesen als Script ganz unten in Deine Seite ein. Dann fügst Du noch folgenden Javascript unter dieses JavaScript ein:

Modernizr.on('webp', function(result) {
	if (result) {
		 $('body').addClass('webp')
	} else {
		 $('body').addClass('no-webp')
	}
});

Jetzt wird der Browser beim Abruf der Seite überprüft ob dieser WebP unterstützt. Sollte dem so sein wird dem Body-Tag die Klasse „web“ hinzugefügt. Wenn WebP nicht unterstützt wird, wird die Klasse „no-webp“ angefügt. Möchte also ich jetzt z.B. ein Hintergrundbild auf ein Element mit dem Namen „header“ als WebP ausgeben, nutze ich folgende CSS Zeilen:

.webp .header {
	 background-image:  url(/pfad/Katze.webp);
}

.no-webp .header {
	background-image: url(/pfad/Katze.jpg);
}

Fazit

Durch das WebP-Format lässt sich der Pagespeed deutlich erhöhen. Jedoch kann es aufgrund der fehlenden Tools und Kompatibilität zu Problemen führen. Trotzdem ist der Gewinn sehr hoch. Von mir eine klare Empfehlung.

Wie findest Du diesen Artikel? Ich bin immer auf Deine ehrliche Meinung gespannt und versuche mich jeden Tag zu verbessern. Sollte Dir was fehlen oder unklar sein, hinterlasse in den Kommentaren Feedback oder schreibe mir auf Twitter @Lautenschlager. Ich danke Dir für Deine wertvolle Zeit!

Autorenbild Andreas Lautenschlager

Von Andreas Lautenschlager

Webentwickler / Online Marketing Berater

emailSchreibe mir Twitter