Noch sind nicht alle Kapitel des diesjährigen Web Almanachs erschienen, aber einige interessante Entwicklungen lassen sich aus den veröffentlichten Artikeln schon ableiten. Meine persönlichen Highlights kommen wenig überraschend aus den Bereichen Performance und Nachhaltigkeit.
Performance
Bei den Core-Web-Vitals wurde die Metrik FID Anfang des Jahres durch INP abgelöst. Ein guter Schritt, da nun nicht nur die erste Interaktion mit der Webseite berücksichtigt wird, sondern diejenige, die am langsamsten (visuell) reagiert. In den letzten Jahren waren einige sog. Anti-Patterns zu beobachten, welche die Werte für die alte Metrik manipulieren. Zum Beispiel das Nachladen von JS-Ressourcen, nach der ersten Interaktion, also nach dem der FID-Wert berechnet wurde. Dies führt nicht zur Verbesserung der UX. Im Gegenteil, meistens sind nachfolgende Interaktionen dann verlangsamt, weil der nachladende JS-Code den Main Thread blockiert.
Ich will aber an dieser Stelle klarstellen, dass ich großer Fan davon bin, Skripte von Drittservern erst zu laden, wenn die Besuchenden die Cookie-Frage bejaht haben. Das liegt aber daran, dass diese Praxis für Datenschutzkonformität notwendig ist.
Es ist ein deutlich positiver Trend zu erkennen, was die Core Web Vitals angeht. Wäre INP schon 2022 eine der Metriken gewesen, so hätten nur 31% der Webseiten ausschließlich gute CWVs gehabt, 2024 sind es schon 43%.
Auch in den einzelnen Metriken zeigt sich ein ähnlicher Trend:
- LCP von 51% im guten Bereich auf 59%
- INP von 55% im guten Bereich auf 74%
- CLS von 74% im guten Bereich auf 79%
Was die Gründe für die deutlichen Verbesserungen sind, lässt sich anhand der präsentierten Daten nicht so leicht beantworten. Ein Paar Fakten und Gedanken dazu:
- ✔️bfcache findet minimal mehr Anwendung (was alle Werte verbessert LCP, INP, CLS).
- ✔️Mehr Bilder haben explizite Dimensionsangaben (verbessert CLS).
- ✔️Weniger lazy-loading von LCP Bilder; von 18% in 2022 auf 16% in 2024.
- ❌Überraschenderweise werden weniger LCP Bilder vom Preload Scanner erkannt, was auf mehr JS generiertes HTML zurückzuführen ist.
- ❌LCP Bilder sind größer geworden und das, obwohl moderne Bildformate im Vormarsch sind.
- ✔️Optimierungen in Frameworks wie React/Next.js verbessern INP Werte.
- ✔️Große CMS/Ecommerce Anbieter haben Performance Teams im Einsatz und sorgen für überdurchschnittliche Verbesserungen.
- ✔️Kompressions-Algorithmus Brotli kommt häufiger zum Einsatz als noch vor zwei Jahren und nimmt dem weniger Effizienten gzip Marktanteile ab. Auch neuere Algorithmen werden an Anwendung zunehmen.
- ✔️CDNs kommen häufiger zum Einsatz.
Die oben genannten Entwicklungen sind überwiegend positiv, aber erklären können sie die verbesserte Performance meiner Meinung nach nicht vollumfänglich. Die globale Mobilnetz-Infrastruktur scheint auch nicht für die Verbesserung verantwortlich zu sein, da die Time-to-first-Byte Werte fast unverändert sind (zumindest das 0,75-Quantil). Ein möglicher versteckter Grund für die verbesserte Performance könnte auch einfach sein, dass sich die Endgeräte in den letzten zwei Jahren verbessert haben.
Für die Zukunft würden mich auch folgende Statistiken/Grafiken interessieren:
- Regionale Unterschiede bei der Performance.
- Anwendung von weiteren Browser Optimierungen wie die Fetch Priority API und die Speculation Rules API. Update: Im inzwischen veröffentlichten HTTP Kapitel zeigt sich ein sehr positiver Trend bei der Nutzung der Fetch Priority API: schon 26% aller Seiten nutzen das noch recht neue Feature.
- Die Gesamtverteilung bei allen Core-Web-Vitals Metriken statt nur die 0,75-Quantile.
Vielleicht schaffe ich es ja, die Statistiken aus den httparchive und CrUX BigQuery Datenbanken zu ziehen ohne Pleite zu gehen.
Nachhaltigkeit
Die schlechte Nachricht dieses Reports ist, dass Webseiten mehr Datentransfer verursachen als noch vor zwei Jahren. Zwar werden Text-basierte Dateien besser komprimiert, aber der Großteil der Daten wird durch Bilder verursacht. Mehr Bilder werden in modernen Formaten gesendet, allerdings zeigt sich ein kontraproduktiver Trend hin zu größeren Bildern. Auch der Einfluss von JS Dateien auf den CO2-Ausstoß hat weiter zugenommen.
Die gute Nachricht ist, dass dem Thema mehr Aufmerksamkeit entgegengebracht wird. Die W3C hat letztes Jahr Guidelines für Nachhaltigkeit in der Webentwicklung veröffentlicht. Die ausführliche Ausarbeitung behandelt sechs Kriterien für Nachhaltigkeit und umfasst neben der ökologischen Komponente auch andere Aspekte wie Privatsphäre, Barrierefreiheit oder Sicherheit.
Auch auf Gesetzesebene gibt es positive Entwicklungen. So haben z.B. die EU, Deutschland, Frankreich, USA und Indien Vorgaben erstellt, die nachhaltiger Umgang mit Ressourcen im digitalen Raum sicherstellen sollen.
Sorge bereitet den Autoren der steigende Einsatz von KI. Zurecht wie ich finde. Ich sehe aus ökologischer Sicht zunächst einige gravierende Nachteile:
- KI-basierte Websuche ist um ein vielfaches CO2 intensiver als die klassische Websuche.
- KIs sind äußerst Datenhungrig, viele Bots crawlen das Netz auf der Suche nach Content. Dieser Content wird dann in Datenzentren gespeichert, um die LLMs zu füttern.
- KI-generierter Content bläht das Internet auf, ohne wirklich Mehrwert zu erzeugen.
Sonstiges
Auch sonst gibt es einige interessante Entwicklungen.
- ✔️❌Fonts werden mittlerweile deutlich häufiger selbst gehostet, was Vorteile für die Privatsphäre bietet und Performance Vorteile birgt, wenn man sich an Best-Practices hält. Das scheint aus ökologischer Sicht leider nicht der Fall zu sein. So sind die selbst-gehosteten Fonts im Schnitt doppelt so groß. Wahrscheinlich wird kein Subsetting eingesetzt, und veraltete Formate sind im Einsatz.
- ✔️Das effizienteste Font-Format WOFF2 hat deutlich an Marktanteil gewonnen und trägt dadurch zur Reduktion des Datenvolumens bei.
- ❌11% der gesendeten HTML Dokumente werden ohne Kompression gesendet. Da ist noch viel Potential.
- ❌Bei der Benutzung des Cache-Control Headers ist ebenfalls unverändert viel Luft nach oben.
- ✔️User-Präferenzen werden häufiger berücksichtigt (Dark Mode, weniger Animationen), was sowohl Nachhaltigkeit als auch Barrierefreiheit erhöht.
- ❌Es werden mehr Third-Party-Domains angesprochen denn je. Google Domains sind die mit großem Abstand am häufigsten angesprochenen. Kein gutes Zeichen für die Privatsphäre der Surfenden.
- ✔️❌Der Europäische Rechtsakt zur Barrierefreiheit tritt ab Mitte nächsten Jahres in Kraft. Dies betrifft viele Webseiten und wird zu mehr Barrierefreiheit führen. Zwar sind im entsprechenden Bericht noch keine wesentlichen Verbesserungen zu beobachten, aber Drittanbieter für Barrierefreiheit, die in den Statistiken nicht berücksichtigt sind, gewinnen deutlich Reichweite. Ob diese die Barrierefreiheit tatsächlich erhöhen, darüber gibt es geteilte Meinungen.
- ❌Preload Hints kommen seltener zum Einsatz. Es zeigt sich außerdem, dass 25% aller Seiten, die Preload Hints benutzen, mindestens eine Ressource davon vorladen, die später nicht gebraucht wird.
Ausblick
Ich freue mich schon auf die ausstehenden Kapitel; insbesondere JS, Medien, Privatsphäre und Page Weight dürften interessant werden. Ich aktualisiere diesen Post dann gegebenenfalls.
- Ein bekanntes Beispiel ist das WordPress Caching-Plugin WP Rocket.
- Beim Laden von Drittservern, werden persönliche Daten (Datum, IP, Referrer) an diese Server gesendet. Dies sollte nur mit Einverständnis der Besuchenden möglich sein, wenn die Ressourcen nicht für die Funktionalität der Webseite notwendig sind.
-
Der
unload
Handler, welcher den bfcache auf Desktop unterbindet, kommt seltener zum Einsatz.Cache-Control: no-store
kommt seltener zum Einsatz. Beide Änderungen erhöhen die Anwendung des bfcache. Chrome bringt seit Version 116 (veröffentlicht im August 2024) den bfcache auch für Seiten mitno-store
-Header, dies wird aber langsam ausgerollt um Datenschutzprobleme rechtzeitig zu erkennen. Diese Änderung sollte die Anwendung nochmal deutlich erhöhen. Für den vorliegenden Datensatz spielt die Änderung allerdings noch keine Rolle. - Shopify hat sich im Bereich Performance verdient gemacht und widmet dem Thema große Aufmerksamkeit. WordPress hat ein Performance Team ins Leben gerufen und erzielt damit bessere Resultate.
- Brotli komprimiert zwar stärker als gzip, das Komprimieren ist aber aufwendiger, was den Einsatz bei dynamisch komprimierten Ressourcen erschwert. Ein Umstand den Cloudflare dazu bewegt, auf den von Facebook entwickelten Algorithmus Zstandard zu wechseln.
- Ich kann mir vorstellen, dass es zu Häufungen unterhalb der Core-Web-Vitals Grenzwerte kommt, da viele Seiten genau solange optimiert werden bis sie diesbezüglich “gute” Resultate erzielen.
- Der vermehrte Einsatz von Brotli bedeutet allerdings auch höheren Rechenaufwand beim Dekodieren. Ein Zweischneidiges Schwert also.
- Anbieter wie Eye-Able verzeichnen starkes Wachstum. Solche Lösungen werden kritisiert, u.a. weil sie den Webseiten-Betreibenden suggerieren, dass das Installieren dieser Lösungen die Barrierefreiheit und die Einhaltung der gesetzlichen Pflichten garantiert. Dies ist aber mitnichten der Fall.
- https://almanac.httparchive.org/en/2024/performance (last opened: 07.01.2025)
- https://web.dev/articles/vitals?hl=de#core-web-vitals (last opened: 07.01.2025)
- https://web.dev/articles/fid?hl=de (last opened: 07.01.2025)
- https://web.dev/articles/inp?hl=de (last opened: 07.01.2025)
- https://web.dev/articles/lcp?hl=de (last opened: 07.01.2025)
- https://web.dev/articles/cls?hl=de (last opened: 07.01.2025)
- https://web.dev/articles/bfcache?hl=de (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/performance#explicit-dimensions (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/performance#lcp-lazy-loading (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/performance#fig-13 (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2022/performance#fig-12 (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/performance#lcp-size (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2022/performance#lcp-size (last opened: 07.01.2025)
- https://vercel.com/blog/improving-interaction-to-next-paint-with-react-18-and-suspense (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/cdn#compression (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/cdn#fig-2 (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/performance#time-to-first-byte-ttfb (last opened: 07.01.2025)
- https://web.dev/articles/fetch-priority?hl=de (last opened: 07.01.2025)
- https://developer.chrome.com/docs/web-platform/prerender-pages?hl=de (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/http (last opened: 07.01.2025)
- https://har.fyi/guides/getting-started/ (last opened: 07.01.2025)
- https://developer.chrome.com/docs/crux/guides/bigquery?hl=de (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/sustainability (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/sustainability#carbon-emissions (last opened: 07.01.2025)
- https://w3c.github.io/sustyweb/policies.html#laws-and-policies (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/fonts#hosting-and-services (last opened: 07.01.2025)
- https://www.kojordan.com/de/blog/nachteile-von-web-fonts-losungsansatze/ (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/fonts#file-formats (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/markup#compression (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/sustainability#caching (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/accessibility#fig-8 (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/third-parties#fig-6 (last opened: 07.01.2025)
- https://www.barrierefreiheit-dienstekonsolidierung.bund.de/Webs/PB/DE/gesetze-und-richtlinien/barrierefreiheitsstaerkungsgesetz/barrierefreiheitsstaerkungsgesetz-node.html (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/accessibility#conclusion (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/http#resource-hints (last opened: 07.01.2025)
- https://wp-rocket.me/blog/wp-rocket-3-7/#section-2 (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/performance#backforward-cache-bfcache (last opened: 07.01.2025)
- https://performance.shopify.com/ (last opened: 07.01.2025)
- https://almanac.httparchive.org/en/2024/cms#latest-performance-improvements-in-wordpress (last opened: 07.01.2025)
- https://blog.cloudflare.com/new-standards/#introducing-zstandard-compression (last opened: 07.01.2025)
- https://eye-able.com/de/press/eye-able-schliesst-finanzierung-20-millionen-series-a#:~:text=Erst%20Wachstum%20in%20Rekordgeschwindigkeit (last opened: 07.01.2025)
- https://overlayfactsheet.com/en/ (last opened: 07.01.2025)