nion

Viva con Agua

Sustainable Web Audit

vivaconagua.org

Ressourcen

CO₂ Einsparungspotential pro Jahr bei
183.300 Seitenaufrufen im Monat
Medien
63%
Dokumente
2%
Stylesheets
2%
Skripte
30%
Schriften
3%

Analyse & Handlungsempfehlungen

Bilder
1

1

Bildformate

Moderne Bildformate wie WebP und AVIF reduzieren signifikant die Dateigrößen, besonders bei hochauflösenden Bildern. Dies führt zu schnelleren Ladezeiten und verringert den Datentransfer, was die Performance Ihrer Website erheblich verbessert.

Empfehlung

Verwenden Sie in unterstützten Browsern das WebP- oder AVIF-Format für Bilder, um die Dateigröße im Vergleich zu JPG oder PNG deutlich zu reduzieren.

Gerne stellen wir Ihnen Dienste wie z.B. Cloudinary vor, die automatisch die besten Bild- und Videoformate für Ihre Nutzer ausliefern.

3

Carousels

Carousels präsentieren mehrere Inhalte oder Bilder in einem rotierenden Container. Häufig werden dabei mehrere Ressourcen gleichzeitig geladen, die jedoch nicht von jedem Nutzer gesehen werden. Dies führt zu längeren Ladezeiten, erhöhtem Datenverbrauch und einer verschlechterten User Experience.

3

Großformatige Bilder

Große Bilddateien beanspruchen mehr Bandbreite, was zu Verzögerungen bei der Darstellung von Websites führt und den Datenverbrauch erhöht. Hierdurch entstehen auch größere CO₂-Emissionen, was wiederum die Umweltbelastung Ihrer Website steigert.

Empfehlung

Bilder, die auf kleineren Viewports über die volle Breite laufen, könnten auf eine maximale Breite auf größeren Viewports gesetzt werden, um zumindest Daten auf sehr großen Bildschirmen zu sparen und auch optisch nicht zu überwältigen.

2

Lazy Loading

Lazy Loading lädt Inhalte außerhalb des initial sichtbaren Viewports erst, wenn sie in das Sichtfeld des Nutzers gelangen. Dies verkürzt die initiale Ladezeit, da zu Beginn weniger Daten geladen werden. Abhängig vom Scroll-Verhalten des Nutzers resultiert dies in signifikanten Einsparungen an geladenen Daten.

Empfehlung

Bilder „above the fold” sollten nicht lazy loaded werden, da dadurch die Darstellung verzögert wird. Nutzen Sie die nativen Lazy Loading Methode via loading="lazy", decoding="async" und fetchpriority="low", um dem Browser noch mehr Anweisungen zu geben, sich erst später um entsprechende Bilder zu kümmern. Dadurch können Sie auch auf das Laden der zusätzlichen Javascript-Datei (vanilla-lazyload.js) verzichten.

1

Prefetching & Preloading

Preloading priorisiert das Laden von Bildern, die sofort beim Seitenaufruf sichtbar sind und verbessert so die initiale Ladezeit. Für Bilder, die erst beim Herunterscrollen sichtbar werden, empfiehlt sich das Prefetching, um dem Browser frühzeitig zu signalisieren, welche Bilder später benötigt werden. Dies steigert die Effizienz des Ladeprozesses, ohne den initialen Seitenaufbau zu beeinträchtigen.

Empfehlung

Priorisieren Sie Bilder „above the fold“ durch Preloading (rel="preload" as="image"). Verwenden Sie die Anweisung rel="prefetch" as="image", um dem Browser frühzeitig zu signalisieren, welche Bilder vermutlich später benötigt werden, die jedoch nicht kritisch für den initialen Seitenaufbau sind („below the fold“) und zu denen bald gescrollt wird.

1

Responsive Bilder

Responsive Web Design passt Ihre Website flexibel an verschiedene Bildschirmgrößen an und verwendet optimierte Bildvarianten für die jeweiligen Darstellungsgrößen. Dies verbessert die Ladezeiten und die User Experience, indem es den Datenverbrauch reduziert und somit auch die CO₂-Emissionen verringert.

Empfehlung

Nutzen Sie das <img> Elementes in Kombination mit den srcset und sizes Attributen anstatt des sehr starren <picture> Elements mit fest definierten Bildern pro Breakpoint. Eine große Auswahl an Bildgrößen im srcset und genaue und korrekte Angaben im sizes Attribut geben dem Browser die meiste Flexibilität immer das für Viewport und Pixeldichte optimalste Bild auszuliefern. Das Ausliefern von WebP- anstatt JPG-Dateien sollte auf Server-Ebene passieren und muss nicht zusätzlich den HTML Code vergrößern. Sollten Sie an einer Stelle wirklich auf einem speziellen Viewport ein anderes Bildformat (Hochformat/Querformat) ausliefern wollen, sollten Sie dort das <picture> Element mit verschiedenen <source> Elementen inklusive srcset und sizes verwenden.
Bilder nur per CSS als Hintergrundbilder einzubinden und somit das gleiche Bild auf allen Viewports und Geräten auszuliefern ist ein No-go (unnötige Datentlast).

Grafiken
2

2

Angemessene Verwendung

SVGs sind vektorbasierte Grafiken, die ideal für Logos und Icons geeignet sind, da sie ohne Qualitätsverlust skalierbar sind. Sie beschleunigen die Ladezeiten, reduzieren den Datenverbrauch und verbessern dadurch die Performance Ihrer Website.

Empfehlung

Überprüfen Sie, ob einfache Grafiken wie zum Beispiel Logos als SVG-Dateien verfügbar sind und verwenden Sie diese anstelle von Rastergrafiken wie JPG oder PNG. Zudem sollten Sie prüfen, ob die per CSS eingebundene Icon Font „swiper-icons“ tatsächlich verwendet wird.

2

SVG Sprites

SVG Sprites bündeln mehrere SVG-Grafiken in einer einzigen Datei, wodurch die Anzahl der HTTP-Anfragen reduziert wird. Dies verbessert die Ladezeiten, da der Browser weniger Ressourcen laden muss. Die Verwendung von SVG Sprites ist effizient für die Darstellung wiederkehrender grafischer Elemente auf Ihrer Website und steigert somit die Gesamtperformance.

Empfehlung

Überprüfen Sie, ob es SVG-Icons gibt, die auf jeder Seite verwendet werden, wie zum Beispiel die Social-Media-Icons im Footer. Diese wären in einem SVG-Sprite möglicherweise effizienter organisiert als inline im Code. Auf einigen Unterseiten wird bereits ein SVG-Sprite verwendet. Es wäre sinnvoll, diesen Ansatz konsistent auf allen Seiten umzusetzen.

3

SVG-Optimierung

Optimierte SVG-Dateien reduzieren die Dateigröße und benötigen weniger Bandbreite, was die Ladezeiten Ihrer Website verbessert.

2

SVG-Wiederverwendung

Inline SVGs laden schneller, weil sie ohne zusätzliche Serveranfragen auskommen. Externe SVGs, die separat vom HTML geladen werden, sind wiederverwendbar über verschiedene Seiten hinweg, erfordern jedoch jeweils eine Serveranfrage. Für häufig wiederkehrende Grafiken innerhalb einer Seite können auch Inline SVGs effizient wiederverwendet werden. Die optimale Wahl hängt von der spezifischen Struktur und den Anforderungen der Website ab. Generell sind SVGs bandbreitenschonend und verbessern die Performance der Website.

Empfehlung

Sie sollten Icons, die mehrfach auf derselben Seite erscheinen, wie zum Beispiel die Striche unter „Mehr lesen” Links, nur einmal als Inline-SVG in Form eines <symbol> Elements einbinden. Alle weiteren Instanzen des Icons können dann durch das <use> Element auf dieses SVG verweisen. Dies reduziert die Redundanz und verbessert die Ladezeiten Ihrer Seite.

Infrastruktur
2

2

CDN

Ein Content Delivery Network (CDN) ist ein Netzwerk aus vielen weltweit verteilten Servern, die dazu dienen, Inhalte einer Website näher an die geografische Position der Nutzer zu bringen. Indem Kopien der Inhalte auf verschiedenen Servern gespeichert werden, können diese schneller zu den Endnutzern gelangen. Dies verkürzt die Ladezeiten der Website erheblich, da Daten über kürzere Distanzen übertragen werden müssen. Gleichzeitig reduziert dies den Bedarf an Bandbreite und Energieverbrauch, was den CO₂-Ausstoß verringert und so die Umweltbelastung durch den Betrieb der Website minimiert.

Empfehlung

Ihre Website verwendet kein Content Delivery Network (CDN). Durch das deutsche Zielpublikum fallen die Vorteile eines CDNs im Vergleich zu einer Website mit internationalem Zielpublikum weniger stark ins Gewicht. Dennoch wird durch das Caching von Seiten in CDN-Edges in der Nähe des Nutzers die Datenmenge reduziert, die über weite Entfernungen übermittelt werden muss. Für Seitenaufrufe von Endgeräten fällt hierdurch für einen großen Teil der Anfragen lediglich Traffic zwischen dem Endnutzer und CDN Edge-Caches an. Zudem optimieren viele CDN-Anbieter die Datenrouten für eine schnellere Auslieferung. Bei der Auswahl eines CDN sollten Sie ein Green CDN wählen, da es erneuerbare Energiequellen nutzt, um den ökologischen Fußabdruck des Datenverkehrs Ihrer Website zu minimieren.

2

Downstream Caching

Effizientes Downstream Caching reduziert die zu ladenden Datenmengen für wiederkehrende Besucher und erhöht die Verfügbarkeit Ihrer Website. Dies verbessert die Zugriffsgeschwindigkeit und die User Experience durch schnellere Seitenaufrufe.

Empfehlung

Prüfen Sie die Cache TTL / maxage für Webfonts, Javascript und CSS-Resourcen. Diese Ressourcen sollten mit einer hohen TTL wie z.B. 1 Jahr und zusätzlich via Cache-Control Header als „immutable” ausgewiesen werden. Build-Artefakte wie CSS oder JS-Dateien müssen dabei wie bei modernen Bundlern üblich ggf. mit einzigartigen Hashes im Dateinahmen ausgezeichnet werden.

3

Green Hosting

Green Hosting nutzt umweltfreundliche Technologien und bezieht Energie aus erneuerbaren Quellen, um den Betrieb von Websites nachhaltiger zu gestalten. Dieses Hosting reduziert den ökologischen Fußabdruck einer Website, indem es den Energieverbrauch minimiert und zur Reduzierung der Umweltbelastung beiträgt.

2

Response Header

Effizient gestaltete Response-Header optimieren das Caching und verkürzen die Serverantwortzeiten.

Empfehlung

Vermeiden Sie nicht benötigte Response-Header wie X-Powered-By. Auch wenn die durch sie entstehende Datenmenge auf den ersten Blick gering erscheinen mag, erzeugen sie in jeder einzelne Response Ihrer Server einen sich kontinuierlich aufsummierenden Overhead an übertragenen Daten. Zudem können Header Informationen zum verwendeten Stack preisgeben, die unter Umständen ein Sicherheitsrisiko darstellen.

2

Response-Komprimierung

Komprimierte Server-Antworten verringern die zu übertragende Datenmenge, was das Laden Ihrer Website beschleunigt.

Empfehlung

Ihre Server-Responses werden für nicht ohnehin bereits komprimierte Ressourcen mit gzip komprimiert. Verwenden Sie für die Komprimierung von Server-Responses anstelle von gzip Brotli, in sofern Sie nicht auf die Verwendung von stark veralteten Browsern angewiesen sind. Brotli erzielt je nach Datei eine >20% bessere Komprimierung.

Schriften
1

1

Font Preloading

Das Preloading von Schriftarten beschleunigt die Darstellung von Text auf Ihrer Website, indem die benötigten Fonts früher im Ladevorgang geladen werden. Diese Technik verbessert die sichtbare Ladezeit, indem sie sicherstellt, dass Textinhalte sofort in der gewünschten Schriftart angezeigt werden, was die User Experience erheblich steigert.

Empfehlung

Achten Sie auf das Preloading von Schriften, die für den initialen Seitenaufbau kritisch sind, um die Ladezeiten zu verkürzen und die Performance zu optimieren. Dies verbessert nicht nur die visuelle Darstellung der Seite, sondern verhindert auch ein FOUT (Flash of Unstyled Text).

3

Laden von Extern

Das Laden von Schriften von externen Quellen kann die Ladezeiten Ihrer Website verlängern, da zusätzliche Anfragen an externe Server erforderlich sind. Dies erhöht die Abhängigkeit von externen Diensten und kann zu Verzögerungen führen, besonders wenn diese Server langsam reagieren oder ausfallen.

1

Lazy Loading

Custom Fonts zahlen auf die Wiedererkennung einer Marke ein und individualisieren das Design. Die richtige Strategie zum Laden der Fonts ist hier entscheidend. Schriften erst bei Bedarf zu laden, verbessert die Ladezeiten und verringert die Datenmenge beim Erstbesuch.

Empfehlung

Binden Sie Ihre Schriften im CSS mit der Anweisung font-display: swap im @font-face-Block ein, um das Laden der Seite durch das Nachladen der Schriften nicht zu verzögern.

1

Subsetting

Subsetting reduziert die Größe von Schriftdateien, indem nur Zeichen, die auf der Website verwendet werden, eingebunden sind.

Empfehlung

Wenn Sie bestimmte Zeichen, wie solche für nicht genutzte Sprachen, nicht benötigen, entfernen Sie diese aus den Schriftdateien, um Datenvolumen zu sparen.

2

Umfang von Custom Font Schriftarten und -Stilen

Wählen Sie bewusst die Anzahl der Schriftarten und Stile, da sie eine Auswirkung auf den Ressourcenbedarf ihrer Website haben.

Empfehlung

Überprüfen Sie, ob alle eingebundenen Schriftschnitte tatsächlich verwendet werden oder vom Design her notwendig sind. Zum Beispiel könnten Roboto Slab Thin und Light optisch fast identisch sein. Lesen Sie auch den Punkt „Variable Fonts” für eine bessere Lösung.

1

Variable Fonts

Variable Fonts erlauben mehrere Variationen einer Schriftart in einer Datei, was die Ladezeiten reduziert und die Flexibilität erhöht.

Empfehlung

Um Datenvolumen zu sparen und die gestalterische Flexibilität zu erhöhen, sollten Sie die verschiedenen Schriftschnitte der Roboto Slab durch den variablen Font Roboto Slab ersetzen.

2

WOFF2

WOFF (Web Open Font Format) ist speziell für den Webeinsatz optimiert und bietet eine hohe Kompressionsrate, die schnelle Ladezeiten ermöglicht. Es ist dem TTF-Format vorzuziehen, da WOFF die Bandbreitennutzung reduziert und die Textdarstellung auf Ihrer Website beschleunigt.

Empfehlung

Überprüfen Sie, ob die von Ihnen genutzten Schriften auch im WOFF2-Format verfügbar sind, und verwenden Sie dieses Format anstelle der WOFF-Dateien, um Ladezeiten zu optimieren.

Skripte
1

1

Bundle-Größen

Die Optimierung der Größe von Skript-Bundles ist entscheidend für schnelle Ladezeiten. Durch Minimierung und effiziente Aufteilung der Skripte in kleinere, bedarfsorientierte Pakete werden nur notwendige Ressourcen geladen. Dies verbessert die Ladezeiten und die Performance der Website erheblich.

Empfehlung

Die main.js Ihrer Website ist mit 311kB auffällig groß. Teilen Sie main.js in mehrere Bundles auf und laden Sie auf jeder Seite nur die Bundles, die auf ihr benötigt werden.

1

Chunking

Chunking teilt große Ressourcen in kleinere Pakete, beschleunigt die initiale Ladezeit und verbessert die allgemeine Performance Ihrer Website.

Empfehlung

Der Javascript-Code ihrer Applikation ist zwar auf mehrere Dateien aufgeteilt, jedoch lädt abgesehen vom implementierten Lazy Loading für z.B. den YouTube-Player jede getestete Seite alle Javascript-Bundles. Zudem enthält die auf allen Seiten geladene main.js externe Libraries wie z.B. Mabbox, obwohl sie nicht auf allen Seiten benötigt werden.
Teilen Sie Ihren Code so in Bundles auf, dass auf den jeweiligen Seiten nur der Code geladen wird, der auf dieser Seite auch benötigt wird. Die immer initial geladene Datenmenge der Javascript-Chunks wird hierdurch reduziert.

1

Dependency Payload-Größen

Große Abhängigkeiten verlangsamen die Ladezeiten. Durch die Optimierung der Bibliotheksgrößen verbessern Sie die Performance der Website erheblich.

Empfehlung

Prüfen Sie die in main.js gebundeltete Mapbox-Library auf Ihre Notwendigkeit. Auf keiner der getesteten Seiten war eine dynamische Karte integriert. Sollten Mapbox-Features abseits von Kartendarstellungen benötigt werden ist z.B. ggf. ein direkter API-Aufruf ohne die aktuell verwendete Library möglich.

3

Lazy Loading

Mit Lazy Loading Skripte werden JavaScript-Ressourcen erst geladen, wenn sie benötigt werden. Die initiale Ladezeit wird damit verkürzt und die Website-Performance verbessert.

2

Minification

Die Minifizierung von Skripten entfernt überflüssige Zeichen aus JavaScript-Dateien, was die Dateigröße reduziert und die Ladezeiten verkürzt. Diese Praxis optimiert die Ausführungszeit und verbessert die Gesamtperformance der Website, indem sie die Zeit minimiert, die benötigt wird, um Skripte herunterzuladen und zu verarbeiten.

Empfehlung

Der Applikations-Code der geladenen Javascript-Bundles sind nicht vollständig minified. Die Dateigröße kann somit weiter optimiert werden. Javascript-Code sollte während des Build-Prozess minified werden, um die Dateigröße der erzeugten Chunks zu reduzieren.

2

Tree Shaking

Beim Tree Shaking wird ungenutzter Code aus JavaScript-Bundles entfernt. Dies erhöht die Performance und führt zu kleineren Dateigrößen und schnelleren Ladezeiten.

Empfehlung

Die main.js Ihrer Website ist mit 311kB auffällig groß. Prüfen Sie, ob die gebundelten Dependencies weiterhin benötigt werden und dass Sie verwendete Libraries wie lodash nicht in Gänze importieren, sondern lediglich die Fragmente, die in Ihrem Applikations-Code verwendet werden.

Struktur & Code-Qualität
2

2

Bundle-Größen (CSS)

Die Optimierung der Bundle-Größen für CSS verbessert die Ladezeiten, indem nur notwendiger Code geladen wird. Kleine und effiziente CSS-Bundles reduzieren die Übertragung unnötiger Daten und beschleunigen das Rendering der Seiteninhalte. Dies minimiert den Gesamtdatenverkehr und steigert die Servereffizienz.

Empfehlung

Obwohl keine Ihrer CSS-Dateien besonders groß ist: überprüfen Sie bitte, ob alle geladenen CSS-Dateien auf jeder Seite wirklich benötigt werden. Laden Sie gegebenenfalls nur die Dateien, die die erforderlichen CSS-Anweisungen enthalten.

3

DOM-Komplexität

Ein komplexer DOM verlangsamt das Rendering Ihrer Website. Vereinfachen Sie die Struktur, um schnellere Ladezeiten und eine höhere Interaktivität zu erreichen.

1

Minification (HTML & CSS)

Minifizieren von HTML und CSS entfernt überflüssige Daten wie Kommentare und Leerzeichen, wodurch die Dateigröße reduziert und die Ladezeit der Webseite verbessert wird. Diese Optimierung macht den Datenverkehr effizienter und reduziert die CO2-Emissionen.

Empfehlung

Der CSS-Code Ihrer Website wurde zum Teil minified, der HTML-Code gar nicht. Beides sollte im Rahmen des Build-Prozesses minified werden.

Tracking
3

3

Async Loading (Tracking)

Asynchrones Laden von Tracking-Skripten verbessert die Ladezeiten, indem es die Ausführung bis nach dem Laden der wesentlichen Inhalte verzögert. Diese Methode stellt sicher, dass die initiale Ladezeit nicht beeinträchtigt wird, was die allgemeine Performance der Website optimiert.

3

Exzessive Nutzung

Übermäßiger Einsatz von Tracking-Skripten beeinträchtigt die Ladezeiten Ihrer Website signifikant. Eine Reduzierung und Optimierung dieser Skripte verbessert nicht nur die Performance, sondern steigert auch die User Experience durch schnellere Seitenreaktionen deutlich.

1

Privacy-friendly Provider

Privacy-friendly Provider legen großen Wert auf den Schutz der Nutzerdaten und bieten datenschutzkonforme Lösungen an. Der Einsatz solcher Anbieter verbessert das Vertrauen der Nutzer und stärkt die Einhaltung von Datenschutzbestimmungen.

Empfehlung

Prüfen Sie, ob Sie anstelle von Google Analytics privacy-friendly Provider wie Fathom oder Plausible integrieren können.

1

Tracking integriert

Integriertes Tracking erfasst Nutzerdaten zur Analyse des Verhaltens auf der Website, wird jedoch die Ladezeiten und Performance beeinträchtigen. Eine sorgfältige und sparsame Implementierung dieser Skripte ist entscheidend, um die Nutzererfahrung nicht negativ zu beeinflussen.

Empfehlung

Prüfen Sie, ob Sie in Gänze auf die Verwendung eines Trackings verzichten können.

Videos
3

2

Alternative Content Fallback

Die Bereitstellung von Alternativinhalten als Fallback für Videos verbessert die Zugänglichkeit der Website, indem Nutzern mit eingeschränkter Bandbreite oder inkompatiblen Geräten Texte oder Bilder angezeigt werden. Dies stellt sicher, dass alle Besucher relevante Informationen erhalten, auch wenn Videos nicht geladen werden können. Gleichzeitig optimiert es die Performance der Website und minimiert unnötigen Datenverkehr.

Empfehlung

Binden Sie das Fallback-Bild für das Video nicht als Hintergrundbild, sondern als reguläres <img>-Element ein. Versehen Sie das Bild mit einem alt-Attribut sowie srcset und sizes-Attributen, um die Zugänglichkeit und Responsivität zu verbessern. Fügen Sie zudem ein <button>-Element mit beschreibendem Text hinzu, um das Video zu laden.

3

Angemessene Verwendung

Gezielt eingesetzte Videos steigern das Engagement. Wählen Sie Dauer und Auflösung passend zur Zielsetzung, um unnötig hohen Datenverbrauch und Energiebedarf zu vermeiden.

3

Auflösung

Die Auflösung ist neben der Länge ein entscheidender Faktor für den Datenverbrauch. Es gilt, das passende Maß zwischen 4K und niedrigeren Auflösungen zu finden, um den Datenverbrauch zu optimieren.

3

Autoplay

Autoplay von Videos startet diese automatisch, was die Aufmerksamkeit erhöht, aber auch Datenverbrauch und Ladezeiten steigert. Dies erhöht CO2-Emissionen. Ein bedachter Einsatz kann die Umweltbelastung signifikant verbessern.

3

Drittanbieter-Integration

Drittanbieter-Integrationen erhöhen schnell den funktionalen Mehrwert einer Website, führen jedoch oft zu höherem Datenverbrauch. Dies kann die Ladezeiten verlängern und die CO2-Emissionen erhöhen.

3

Länge

Kürzere Videos reduzieren die Ladezeiten und den Datenverbrauch, was die Performance der Website verbessert. Bestimmen Sie passend zum Inhalt und Kontext die Länge ihrer Videos.

3

Videoformate

Moderne Videoformate wie H.264 und VP9 bieten effiziente Kompression bei hoher Qualität. Die richtige Wahl dieser Formate reduziert Datenmengen und Ladezeiten, was die Performance verbessert und die Umweltfreundlichkeit Ihrer Website steigert.

Wie geht's jetzt weiter?

In diesen Bereichen sehen wir den größten Handlungsbedarf

Mit Hilfe dieser Übersicht können Sie auf einen Blick sehen, welchen Impact und Aufwand die einzelnen Prüfungsfelder haben. Per Klick können Sie zudem die Reihenfolge der beiden Dimensionen auf- und absteigend sortieren.

Wir von nion digital unterstützen Sie sehr gerne bei den folgenden Schritten

  1. Technische Konzeption der vorgestellten Maßnahmen
  2. Wissenstransfer in Form von Workshops und Schulungen für interne Design- und Entwicklerteams
  3. Screening von Services / Dienstleistern
  4. Tiefgehende Analyse der Infrastruktur (z.B. KI) ggf. im Workshop → Applikations-Setup

Bei weiteren Fragen helfen wir gerne weiter

Jens Franke

Schauen Sie sich weitere Beispiel-Audits an