Christian SchreiberWeb Performance Consulting Performance-Erstanalyse buchen

Core Web Vitals Abnahmekriterien Ticket-Vorlagen mit Definition of Done für LCP, INP, CLS und TTFB, zum Übernehmen in Jira oder Azure DevOps

Ein Performance-Ticket ohne Abnahmekriterium endet in einer Diskussion über Lighthouse-Punkte. Die Vorlagen auf dieser Seite machen aus jeder Kennzahl eine Aufgabe, die ein Entwicklerteam umsetzen und eine unabhängige Stelle abnehmen kann: mit Ausgangswert, Zielwert je Seitentyp, Prüfung vor dem Merge, Nachweis in den Felddaten nach dem Livegang und einer Definition of Done für jedes Release.

Werte in eckigen Klammern sind PlatzhalterVorlagen als PDF herunterladen

Abnahmekriterien für Core Web Vitals: Grenzwerte, Perzentil und Messfenster

Google bewertet die Core Web Vitals im 75. Perzentil der Besuche, getrennt nach Mobilgeräten und Desktop, über ein gleitendes Fenster von 28 Tagen. Ein Abnahmekriterium übernimmt diese drei Festlegungen, sonst misst es etwas anderes als Google. Die Grenzwerte stammen von web.dev, für die Time to First Byte von web.dev/articles/ttfb.

Grenzwerte von Google und Messbarkeit im Labor
KennzahlGutSchlechtIm Labor
Largest Contentful Paintbis 2,5 süber 4 smessbar
Interaction to Next Paintbis 200 msüber 500 msnur mit ausgeführter Interaktion, Total Blocking Time als Näherung
Cumulative Layout Shiftbis 0,1über 0,25im Navigationsmodus nur die Ladephase
Time to First Bytebis 800 msüber 1,8 smessbar

Daraus folgt der Aufbau jeder Vorlage: Eine Labormessung unter festgelegten Bedingungen prüft vor dem Merge, ob die Änderung in die richtige Richtung wirkt. Abgenommen wird erst mit den Felddaten nach dem Livegang. Wie sich beide Quellen unterscheiden, beschreibt Core Web Vitals messen.

Aufbau der Ticket-Vorlagen: Ausgangswert, Zielwert, Prüfung und Nachweis

Ticket-Vorlage Largest Contentful Paint: LCP-Element benennen, Ladeweg verkürzen

Ticket-Titel: [Seitentyp]: Largest Contentful Paint mobil auf höchstens [2,5] Sekunden im 75. Perzentil

Kontext: Ausgangswert im 75. Perzentil mobil: [Wert] Sekunden laut [Chrome User Experience Report oder Real User Monitoring], Stand [Datum]. LCP-Element auf diesem Seitentyp: [Bild, Überschrift oder Textblock]. Referenz-URLs: [Liste].

LCP vor dem Merge: LCP-Element, Bildgröße und Labormessung

LCP nach dem Livegang: 75. Perzentil der Felddaten über 28 Tage

Nachweis: Messprotokoll mit Bedingungen, URLs, Datum und Werten vor und nach der Änderung, dazu der Verweis auf die Felddatenauswertung nach 28 Tagen.

Ticket-Vorlage Interaction to Next Paint: häufigste Interaktionen messen, Hauptprozess entlasten

Ticket-Titel: [Seitentyp]: Interaction to Next Paint mobil auf höchstens [200] Millisekunden im 75. Perzentil

Kontext: Ausgangswert im 75. Perzentil mobil: [Wert] Millisekunden laut [Quelle], Stand [Datum]. Langsamste Interaktion laut Real User Monitoring: [Element und Interaktion].

INP vor dem Merge: benannte Interaktionen mit CPU-Drosselung

INP nach dem Livegang: Felddaten mit Zuordnung der Interaktion

Nachweis: Aufzeichnung jeder benannten Interaktion mit Dauer, Gerät und Drosselung, dazu der Verweis auf die Felddatenauswertung nach 28 Tagen.

Ticket-Vorlage Cumulative Layout Shift: Platz reservieren, auch für nachgeladene Bausteine

Ticket-Titel: [Seitentyp]: Cumulative Layout Shift auf höchstens [0,1] im 75. Perzentil

Kontext: Ausgangswert im 75. Perzentil mobil: [Wert] laut [Quelle], Stand [Datum]. Größte Verschiebung laut Messung: [Baustein].

CLS vor dem Merge: Abmessungen, reservierter Platz und manueller Test

CLS nach dem Livegang: Felddaten einschließlich Scrollen und Interaktion

Nachweis: Messprotokoll mit den verschobenen Elementen vor und nach der Änderung, Ergebnis des manuellen Tests, Verweis auf die Felddatenauswertung nach 28 Tagen.

Ticket-Vorlage Time to First Byte: Trefferquote des Caches als Abnahmekriterium

Ticket-Titel: [Seitentyp]: Time to First Byte auf höchstens [800] Millisekunden im 75. Perzentil

Kontext: Ausgangswert im 75. Perzentil mobil: [Wert] Millisekunden laut [Quelle], Stand [Datum]. Trefferquote des Caches für diesen Seitentyp: [Wert] Prozent.

TTFB vor dem Release: Trefferquote, Parameter und Invalidierung

TTFB nach dem Livegang: Antwortzeit echter Besucher je Seitentyp

Nachweis: Auszug aus den Protokollen von Cache und CDN mit Trefferquote je Seitentyp, Ergebnis beider Testfälle, Verweis auf die Felddatenauswertung nach 28 Tagen.

Definition of Done für Performance: fünf Punkte für jedes Release

Die Tickets gelten für gezielte Verbesserungen. Damit eine Plattform nach der Optimierung nicht wieder langsamer wird, gehören fünf Punkte in die Definition of Done des Teams:

  1. Für jeden betroffenen Seitentyp liegt ein Messprotokoll mit festgelegten Bedingungen vor, vor und nach der Änderung.
  2. Die Budgets für JavaScript, CSS und Bilder werden in der Build-Pipeline geprüft. Eine Überschreitung bricht den Build ab.
  3. Jedes neue Skript eines Drittanbieters ist gegen das Performance-Budget freigegeben und hat einen benannten Eigentümer.
  4. Keine Kennzahl verschlechtert sich gegenüber dem letzten Release um mehr als [Toleranz] Prozent.
  5. 28 Tage nach dem Livegang sind die Felddaten geprüft. Jede Abweichung vom Zielwert wird ein neues Ticket.

Die Budget-Prüfung in der Pipeline lässt sich mit Lighthouse CI oder mit PerfDelta umsetzen, das Budgets je URL gegen Feld- und Labordaten prüft. Wie die Zielwerte entstehen und priorisiert werden, beschreibt Website Performance Optimierung.

Download: Ticket-Vorlagen als PDF unter CC BY 4.0

Die Vorlagen als PDF enthalten alle vier Tickets und die Definition of Done mit Checklisten zum Übertragen in Jira, Azure DevOps, GitLab oder GitHub. Sie stehen unter der Lizenz Creative Commons Namensnennung 4.0: Auftraggeber, Agenturen und IT-Dienstleister dürfen sie verwenden und anpassen, auch in kommerziellen Projekten, mit der Quellenangabe "Christian Schreiber, ch-schreiber.net".

Die Anforderungen, aus denen diese Tickets entstehen, stehen in den Lastenheft-Vorlagen Performance-Anforderungen im AEM-Lastenheft und Performance-Anforderungen im Magnolia-Lastenheft.

Kostenfreie Performance-Erstanalyse buchen

30 Minuten per Video. Sie erhalten die Google-Nutzerdaten Ihrer Plattform im Vergleich zu zwei Wettbewerbern, unabhängig davon, ob wir zusammenarbeiten.

Häufige Fragen zu Abnahmekriterien für Core Web Vitals

Warum reicht ein Lighthouse-Wert nicht als Abnahmekriterium?

Lighthouse misst eine simulierte Seitenansicht ohne echte Geräte, ohne echte Netze und ohne erteilte Einwilligung, also ohne die Tags, die erst nach der Zustimmung laden. Google bewertet dagegen das 75. Perzentil echter Besuche über 28 Tage. Ein Lighthouse-Wert eignet sich als Prüfung vor dem Merge, abgenommen wird mit Felddaten je Seitentyp.

Wie wird Interaction to Next Paint vor dem Livegang geprüft?

Mit benannten Interaktionen, die im Performance-Panel der Chrome-Entwicklertools oder im Zeitspannenmodus von Lighthouse mit CPU-Drosselung ausgeführt und gemessen werden. Eine reine Ladeprüfung erfasst keine Interaktion. Die Total Blocking Time dient dort nur als Näherung für die Belastung des Hauptprozesses.

Wer nimmt Performance-Tickets ab?

Am besten eine Stelle, die die Umsetzung nicht selbst verantwortet. Das Team prüft die Kriterien vor dem Merge selbst. Den Nachweis in den Felddaten nach 28 Tagen prüft eine unabhängige Stelle gegen Zielwert und Ausgangswert.