Soft-Navigationen messen

Veröffentlicht am 1. Februar 2023, zuletzt aktualisiert am 2. September 2026

Browser Support

  • Chrome: 151.
  • Edge: 151.
  • Firefox: not supported.
  • Safari: not supported.

Source

Seit dem Start der Core Web Vitals-Initiative geht es darum, die tatsächliche Nutzerfreundlichkeit einer Website zu messen und nicht die technischen Details, die hinter der Erstellung oder dem Laden einer Website stehen. Die drei Core Web Vitals-Messwerte wurden als nutzerorientierte Messwerte entwickelt. Sie sind eine Weiterentwicklung der vorhandenen technischen Messwerte wie DOMContentLoaded oder load, mit denen Zeitangaben gemessen wurden, die oft nicht damit zusammenhingen, wie Nutzer die Leistung der Seite wahrnahmen. Daher sollte die Technologie, mit der die Website erstellt wurde, keinen Einfluss auf die Bewertung haben, sofern die Website eine gute Leistung erbringt.

Die Realität ist jedoch immer etwas komplizierter als das Ideal. Die beliebte Architektur für Single-Page-Anwendungen wurde von den Core Web Vitals-Messwerten nie vollständig unterstützt. Anstatt beim Navigieren auf der Website verschiedene einzelne Webseiten zu laden, verwenden diese Webanwendungen sogenannte „Soft Navigations“. Dabei werden die Seiteninhalte stattdessen durch JavaScript geändert. In diesen Anwendungen wird die Illusion einer herkömmlichen Webseite aufrechterhalten, indem die URL geändert und vorherige URLs in den Browserverlauf aufgenommen werden, damit die Schaltflächen „Zurück“ und „Vor“ wie erwartet funktionieren.

Viele JavaScript-Frameworks verwenden dieses Modell, aber jedes auf eine andere Weise. Da dies nicht dem entspricht, was der Browser traditionell als „Seite“ versteht, war die Messung immer schwierig: Wo liegt die Grenze zwischen einer Interaktion auf der aktuellen Seite und einer neuen Seite?

Das Chrome-Team hat sich schon länger mit dieser Herausforderung beschäftigt und möchte eine Definition für „Soft-Navigation“ standardisieren und festlegen, wie die Core Web Vitals dafür gemessen werden können – ähnlich wie bei Websites, die in der herkömmlichen Multi-Page-Architektur (MPA) implementiert sind.

Wir haben den Vorschlag basierend auf dem Feedback von Entwicklern mehrfach verbessert und ab Chrome 151 zwei neue Leistungs-APIs eingeführt, um dieses Problem zu beheben.

Was ist eine Soft-Navigation?

Wir haben die folgende Definition für eine weiche Navigation entwickelt:

  • Die Navigation wird durch eine Nutzeraktion initiiert.
  • Die Navigation führt zu einer sichtbaren URL-Änderung für den Nutzer.
  • Die Interaktion führt zu einem sichtbaren Rendern.

Bei einigen Websites kann diese Definition zu falsch positiven Ergebnissen führen (Nutzer würden nicht wirklich von einer „Navigation“ sprechen) oder zu falsch negativen Ergebnissen (Nutzer würden von einer „Navigation“ sprechen, obwohl die Kriterien nicht erfüllt sind). Wir freuen uns über Feedback im Repository für die Soft Navigation-Spezifikation.

DevTools-Unterstützung für Soft-Navigationen

Wir haben Unterstützung für Soft Navigations im Leistungsbereich der Entwicklertools in der Ansicht Live-Messwerte und in der Trace-Ansicht mit Statistiken und Markierungsunterstützung hinzugefügt:

Unterstützung von Soft Navigations in den Entwicklertools

Wie implementiert Chrome Soft Navigations für Webentwickler?

Sobald die Funktion für Soft-Navigation aktiviert ist (mehr dazu im nächsten Abschnitt), ändert Chrome die Art und Weise, wie einige Leistungsmesswerte erfasst werden:

  • Nach jeder erkannten Soft Navigation wird ein soft-navigation-Ereignis PerformanceTiming ausgegeben.
  • Dieser soft-navigation-Eintrag enthält ein navigationId, die neue URL im Attribut name sowie ein interactionId der initiierenden Interaktion.
  • Nach Interaktionen, die zu einem Contentful Paint führen, werden ein oder mehrere interaction-contentful-paint-Einträge ausgegeben. Dieser enthält einen largestContentfulPaint-Eintrag, mit dem sich Largest Contentful Paint (LCP) für Soft-Navigationen messen lässt.
  • Das Attribut navigationId wird jedem Leistungszeitpunkt (first-paint, first-contentful-paint, largest-contentful-paint, interaction-contentful-paint, first-input-delay, event und layout-shift) hinzugefügt. Es entspricht dem Navigationseintrag, unter dem das Ereignis ausgegeben wurde. Wenn sich diese Einträge über Soft Navigations erstrecken, können sie je nach Zeitpunkt der Ausgabe des Eintrags das vorherige oder nächste navigationId enthalten. Weitere Informationen finden Sie im Abschnitt Messwerte für die entsprechende URL melden.
  • Der soft-navigation enthält eine getLargestInteractionContentfulPaint()-Funktion zum Abrufen des größten interaction-contentful-paint-Eintrags für diese Navigation. Dieser Wert kann dann als anfänglicher LCP für diese Navigation verwendet werden. Der LCP kann dann aktualisiert werden, wenn weitere interaction-contentful-paint-Einträge für diese Interaktion beobachtet werden. Hinweis: Dieses Attribut ersetzt das Attribut largestInteractionContentfulPaint, das in früheren Origin-Trials verfügbar war.
  • Möglicherweise sind einige interaction-contentful-paint-Einträge vor der Soft Navigation erfolgt, wenn die URL erst nach diesen Rendervorgängen aktualisiert wird. In diesen Fällen vermeidet die Funktion getLargestInteractionContentfulPaint(), dass alte Einträge nach Abschluss einer Soft Navigation gepuffert und überprüft werden müssen. Der von getLargestInteractionContentfulPaint() zurückgegebene Eintrag ist eine genaue Kopie des größten interaction-contentful-paint-Eintrags zum Zeitpunkt der Ausgabe. Daher wurde für diesen Eintrag möglicherweise der vorherige navigationId verwendet, da der Paint-Vorgang zu diesem Zeitpunkt stattgefunden hat. Diese Paint-Vorgänge sollten jedoch anhand des neuen navigationId gemessen werden.
  • Der Eintrag soft-navigation enthält auch paintTime und presentationTime als FCP für diese Navigation.
  • Beachten Sie, dass interaction-contentful-paint-Einträge auch nach weiteren Interaktionen ausgegeben werden. Der LCP für eine URL sollte jedoch auf interaction-contentful-paint-Einträge beschränkt werden, die mit den Soft-Navigations-Einträgen interactionId übereinstimmen, um diese auszuschließen, und auch nur auf largestContentfulPaint-Properties innerhalb dieser Einträge.

Durch diese Änderungen können die Core Web Vitals und einige der zugehörigen Diagnosemesswerte pro Seitennavigation gemessen werden. Es gibt jedoch einige Besonderheiten, die berücksichtigt werden müssen.

Welche Auswirkungen hat die Aktivierung von Soft Navigations in Chrome?

Im Folgenden sind einige der Änderungen aufgeführt, die Websiteinhaber nach der Aktivierung dieser Funktion berücksichtigen müssen:

  • Durch die Überwachung der soft-navigation-Einträge können die Leistungseinträge in die einzelnen „Navigationen“ unterteilt werden.
  • CLS- und INP-Messwerte können bereits nach Belieben aufgeschlüsselt werden, anstatt über den gesamten Seitenlebenszyklus hinweg gemessen zu werden. Die Funktion „Soft Navigation“ bietet jedoch eine standardisierte Messung dafür, wann dies geschieht, unabhängig von der zugrunde liegenden Technologie.
  • Der largest-contentful-paint-Eintrag wird bei einer Interaktion abgeschlossen, die zum Starten einer Soft-Navigation erforderlich ist. Er kann also nur verwendet werden, um den LCP der ursprünglichen „harten“ Navigation zu messen. Das bedeutet, dass sich dieser Wert nicht ändert, wenn Soft Navigations gemessen werden. Der LCP für den ursprünglichen, vollständigen Seitenaufbau kann also wie gewohnt gemessen werden.
  • Der neue interaction-contentful-paint-Eintrag, der aus Interaktionen ausgegeben wird, kann verwendet werden, um den LCP für Soft-Navigations zu messen. Dazu muss die largestContentfulPaint-Eigenschaft in diesem Eintrag betrachtet werden. Es gibt jedoch einige Aspekte, die bei der Verwendung dieses Eintrags berücksichtigt werden müssen.
  • Hinweis: Nicht alle Nutzer unterstützen diese Funktion für die sanfte Navigation, insbesondere Nutzer, die andere Browser oder Chrome-Versionen vor Version 151 verwenden. Einige Nutzer melden möglicherweise keine Messwerte, die auf Soft-Navigation basieren, auch wenn sie Core Web Vitals-Messwerte melden.

Fragen Sie Ihren RUM-Anbieter, ob er die Messung von Core Web Vitals nach Soft Navigation unterstützt. Viele planen, diesen neuen Standard zu testen, und werden die bisherigen Überlegungen berücksichtigen. In der Zwischenzeit erlauben einige Anbieter auch eingeschränkte Messungen von Leistungsmesswerten auf Grundlage ihrer eigenen Heuristiken.

Weitere Informationen zum Messen der Messwerte für Soft Navigations finden Sie im Abschnitt zum Messen von Core Web Vitals pro Soft Navigation.

Wie aktiviere ich Soft Navigations in Chrome?

Die Funktion für Soft Navigations ist ab Chrome 151 standardmäßig aktiviert.

Unterstützung der Soft Navigations API erkennen

Mit dem folgenden Code können Sie testen, ob die API unterstützt wird:

if (PerformanceObserver.supportedEntryTypes.includes('soft-navigation')) {
  // Monitor Soft Navigations
}

Oder alternativ:

if ('SoftNavigationEntry' in window) {
  // Monitor Soft Navigations
}

Wie kann ich Soft Navigations messen?

Sofern unterstützt, können die Messwerte wie andere Messwerte über die PerformanceObserver API abgerufen werden. Bei diesen Messwerten sind jedoch einige zusätzliche Aspekte zu berücksichtigen.

Soft-Navigationen melden

Sie können ein PerformanceObserver verwenden, um Soft Navigations zu beobachten. Hier ist ein Beispiel für einen Code-Snippet, mit dem Soft-Navigationseinträge in der Konsole protokolliert werden. Dazu gehören auch vorherige Soft-Navigationen auf dieser Seite, die mit der Option buffered protokolliert wurden:

const observer = new PerformanceObserver(console.log);
observer.observe({ type: "soft-navigation", buffered: true });

Damit können Seitenmesswerte für den gesamten Lebenszyklus für die vorherige Navigation fertiggestellt werden.

Messwerte für die entsprechende URL melden

Wenn eine Soft Navigation erkannt wird, sollten die Core Web Vitals der vorherigen Seite abgeschlossen und dann für die vorherige URL gemeldet werden. Außerdem sollte die neue URL überwacht werden.

Das Attribut name des entsprechenden soft-navigation-Eintrags enthält die neue URL, für die Messwerte erfasst werden sollen. navigationId ist der eindeutige Verweis für diese Navigation, da dieselbe URL während der Lebensdauer einer Single-Page-Anwendung mehrmals aufgerufen werden kann.

Dieser Wert sollte für jeden soft-navigation-Eintrag festgelegt und zum Melden von Messwerten verwendet werden, bis der nächste soft-navigation-Eintrag empfangen wird.

Melden Sie die richtige URL für interaction-contentful-paint.

Bei der Berechnung des LCP anhand von interaction-contentful-paint-Einträgen sind zusätzliche Überlegungen erforderlich, da nicht alle interaction-contentful-paint-Einträge mit navigationId zugeordnet und als LCP für diese URL gemeldet werden sollten:

  • Das erste Problem besteht darin, dass interaction-contentful-paint-Einträge möglicherweise vor der Soft-Navigation ausgegeben werden, wenn vor der URL-Aktualisierung ein Paint erfolgt. In diesen Fällen gilt navigationId für die alte URL. Wenn die URL zuerst aktualisiert wird, wird die Soft-Navigation abgeschlossen. In diesem Fall wird der soft-navigation-Eintrag zuerst ausgegeben und der interaction-contentful-paint-Eintrag hat die neue URL.
  • Das zweite Problem ist, dass für interaction-contentful-paint-Einträge weiterhin für neuere Interaktionen ausgegeben werden, da sich der Umfang dieses Leistungsmesswerts nicht nur auf LCP für Soft-Navigations beschränkt. Wir möchten nur die Farben für das Soft-Navigation-Laden für LCP berücksichtigen, nicht die für nachfolgende Interaktionen.

Daher sollte interactionId anstelle von navigationId verwendet werden, um interaction-contentful-paint-Einträge soft-navigation-entries zuzuordnen und die richtige URL zu erhalten. So werden alle Einträge mit alten navigationIds verarbeitet und alle interaction-contentful-paint-Einträge herausgefiltert, die nicht für LCP berücksichtigt werden sollten.

Außerdem sollten Sie zuerst die getLargestInteractionContentfulPaint()-Funktion der soft-navigation-Einträge verarbeiten, um interaction-contentful-paint-Einträge zu verarbeiten, die vor dem Ausgeben des soft-navigation entries aufgetreten sind.

startTime von Soft-Navigationen abrufen

Alle Leistungszeitmessungen, einschließlich derer für Soft Navigations, und die Einträge, die zum Berechnen der Core Web Vitals-Messwerte verwendet werden, werden als Zeit seit der ursprünglichen „harten“ Seitennavigation angegeben. Daher sollte die Startzeit der Soft-Navigation von den Messwerten für das Laden der Soft-Navigation (z. B. LCP) subtrahiert werden, um sie relativ zu dieser Zeit zu erfassen.

Die Startzeit der Navigation kann auf ähnliche Weise abgerufen werden, indem der entsprechende soft-navigation-Eintrag zugeordnet und dessen startTime verwendet wird.

startTime ist der Zeitpunkt der ersten Interaktion (z. B. ein Klick auf einen Button), die die Soft-Navigation ausgelöst hat. Das unterscheidet sich etwas von „harten Navigationsvorgängen“, bei denen die „Startzeit“ der Zeitpunkt ist, zu dem die neue Seite im Browser „festgeschrieben“ wird, nachdem ein Teil des Event-Handler-Codes ausgeführt wurde. Die Startzeiten für Soft Navigations umfassen auch den Code des Event-Handlers, da wir ab dem Beginn der Interaktion messen.

Core Web Vitals pro Soft Navigation messen

Um Core Web Vitals zu messen, müssen Sie auf soft-navigation-Einträge achten und die Messwerte zurücksetzen, wenn Sie diese erhalten. Der FCP kann basierend auf dem presentationTime ausgegeben und der LCP auf den getLargestInteractionContentfulPaint()-Eintrag initialisiert werden. INP und CLS sollten wie bei einem Seitenaufbau auf 0 initialisiert werden.

LCP, INP und CLS können dann wie gewohnt gemessen und überwacht werden. Die einzige Ausnahme ist, dass interaction-contentful-paint für LCP verwendet wird, wenn interactionId übereinstimmt. Mit interactionId können die Einträge für eine URL wie bereits beschrieben benannt werden.

Die Zeitangaben werden weiterhin relativ zur ursprünglichen „harten“ Startzeit der Navigation zurückgegeben. Um beispielsweise den LCP für eine Soft Navigation zu berechnen, müssen Sie die interaction-contentful-paint-Zeitangaben nehmen und die entsprechende Startzeit für die Soft Navigation subtrahieren, wie bereits beschrieben. So erhalten Sie einen Zeitpunkt relativ zur Soft Navigation.

Einige Messwerte wurden bisher während der gesamten Lebensdauer der Seite gemessen. LCP kann sich beispielsweise ändern, bis eine Interaktion erfolgt. CLS und INP können aktualisiert werden, bis die Seite verlassen wird, unabhängig von Interaktionen. Daher sollten die Messwerte der vorherigen Navigation bei jeder neuen Soft Navigation abgeschlossen werden. Das bedeutet, dass die ersten „harten“ Navigationsmesswerte möglicherweise früher als gewöhnlich abgeschlossen werden, wenn Core Web Vitals mit Soft-Navigations gemessen werden.

Wenn Sie mit der Messung der Messwerte für die neue Soft Navigation dieser langlebigen Messwerte beginnen, müssen die Messwerte ebenfalls „zurückgesetzt“ oder „neu initialisiert“ und als neue Messwerte behandelt werden. Es gibt keine Erinnerung an die Werte, die für frühere „Seiten“ festgelegt wurden. Das bedeutet, dass die Informationen dazu, was das „größte“ Rendern, die Interaktion bis zum nächsten Rendern oder die Layoutverschiebung ist, zurückgesetzt werden, damit die Messung von vorn beginnen kann.

Wie sollen Inhalte behandelt werden, die bei verschiedenen Navigationsvorgängen gleich bleiben?

Der LCP für Soft-Navigations (berechnet aus interaction-contentful-paint) berücksichtigt nur neue Rendervorgänge und nur Rendervorgänge, die mit der Interaktion zusammenhängen, die die Navigation ausgelöst hat. Das kann dazu führen, dass sich der LCP bei einem Kaltstart der Soft-Navigation von dem bei einem Soft-Load unterscheidet.

Nehmen wir als Beispiel eine Seite mit einem großen Bannerbild, das das LCP-Element ist. Der Text darunter ändert sich jedoch bei jeder Soft-Navigation. Beim ersten Seitenaufbau wird das Kanalbanner als LCP-Element markiert und das LCP-Timing darauf basiert. Bei nachfolgenden Soft Navigations ist der Text darunter das größte Element, das nach der Soft Navigation gerendert wird, und das neue LCP-Element. Wenn die Seite jedoch mit einem Deeplink in die Soft-Navigation-URL geladen wird, wird das Bannerbild neu gerendert und kann daher als LCP-Element betrachtet werden.

Ebenso kann eine Animation einen Teil der Seite fortlaufend aktualisieren, unabhängig von einer Soft Navigation. Alle neuen Rendervorgänge aufgrund dieser Hintergrundanimation werden für den LCP der neuen Soft Navigation nicht berücksichtigt. Sie können jedoch für den LCP berücksichtigt werden, wenn die Seite über diese URL neu geladen wurde.

Wie diese Beispiele zeigen, kann das LCP-Element für die Soft Navigation unterschiedlich gemeldet werden, je nachdem, wie die Seite geladen wird. Das ist vergleichbar mit dem Laden einer Seite mit einem Ankerlink weiter unten auf der Seite, was zu einem anderen LCP-Element für Hard Navigations führen kann.

TTFB messen

Die Time to First Byte (TTFB) für einen herkömmlichen Seitenaufruf gibt die Zeit an, die benötigt wird, bis die ersten Bytes der ursprünglichen Anfrage zurückgegeben werden.

Bei einer Soft Navigation ist das schwieriger. Sollten wir die erste Anfrage für die neue Seite messen? Was passiert, wenn alle Inhalte bereits in der App vorhanden sind und keine zusätzlichen Anfragen gestellt werden? Was passiert, wenn diese Anfrage vorab mit einem Prefetch gestellt wird? Was passiert, wenn eine Anfrage aus Nutzersicht nicht mit der Soft Navigation zusammenhängt, z. B. eine Analyseanfrage?

Eine einfachere Methode besteht darin, für Soft-Navigationsvorgänge einen TTFB-Wert von 0 zu melden, ähnlich wie wir es für Wiederherstellungen aus dem Back-Forward-Cache empfehlen. Dies ist die Methode, die von der web-vitals-Bibliothek für Soft Navigations verwendet wird, und die wir derzeit für diesen Messwert empfehlen.

Sollten Sie die Core Web Vitals mit beiden Methoden messen?

Diese neuen APIs sind zwar nur auf Chromium-basierte Browser beschränkt, aber Websites sollten sowohl Soft- als auch Hard-Navigations analysieren. So können Sie Browser vergleichen und bisherige Trends analysieren.

Für LCP bedeutet das, dass nur largest-contentful-paint-Einträge für die aktuelle Methode und sowohl largest-contentful-paint- als auch interaction-contentful-paint-Einträge für die neue Methode berücksichtigt werden.

Für CLS und INP bedeutet das, dass diese Werte wie bisher über den gesamten Seitenlebenszyklus hinweg gemessen werden. Außerdem wird die Zeitachse separat nach Soft-Navigations unterteilt, um separate CLS- und INP-Werte für die neue Seite zu messen.

Die Messwerte müssten dann zweimal für die Analyse gesendet und gespeichert werden.

web-vitals-Bibliothek zum Messen der Core Web Vitals für Soft Navigations verwenden

Die einfachste Möglichkeit, alle Nuancen zu berücksichtigen, ist die Verwendung der JavaScript-Bibliothek web-vitals, die ab Version 6.0.0 Soft Navigations unterstützt. Das lässt sich so messen (doTraditionalProcessing und doSoftNavProcessing entsprechend ersetzen):

import {
  onTTFB,
  onFCP,
  onLCP,
  onCLS,
  onINP,
} from 'https://unpkg.com/web-vitals@soft-navs/dist/web-vitals.js?module';

function doTraditionalProcessing(callback) {
  ...
}

function doSoftNavProcessing(callback) {
  ...
}

onTTFB(doTraditionalProcessing);
onFCP(doTraditionalProcessing);
onLCP(doTraditionalProcessing);
onCLS(doTraditionalProcessing);
onINP(doTraditionalProcessing);

onTTFB(doSoftNavProcessing, {reportSoftNavs: true});
onFCP(doSoftNavProcessing, {reportSoftNavs: true});
onLCP(doSoftNavProcessing, {reportSoftNavs: true});
onCLS(doSoftNavProcessing, {reportSoftNavs: true});
onINP(doSoftNavProcessing, {reportSoftNavs: true});

Die web-vitals-Bibliothek sorgt auch dafür, dass die Messwerte für die richtige URL gemeldet werden wie bereits erwähnt, da sie sowohl navigationId als auch navigationURL in den an den Callback übergebenen Einträgen enthält.

Die web-vitals-Bibliothek meldet die folgenden Messwerte für Soft Navigations:

Messwert Details
TTFB Als 0 gemeldet.
FCP Die Zeit für First Contentful Paint relativ zur Startzeit der Soft-Navigation, die durch die Interaktion ausgelöst wurde, die die Soft-Navigation ausgelöst hat. Vorhandene Farben aus der vorherigen Navigation oder Farben, die nicht mit der Interaktion verknüpft sind, werden nicht berücksichtigt.
LCP Die Zeit des Largest Contentful Paint relativ zur Startzeit der Soft-Navigation, die durch die Interaktion ausgelöst wurde. Vorhandene Farben aus der vorherigen Navigation, die nicht mit der Interaktion verknüpft sind, werden nicht berücksichtigt. Wie gewohnt kann der LCP weiter aktualisiert werden, bis die Seite (oder die Soft-Navigation) verlassen wird. Erst dann kann der LCP abgeschlossen werden.
INP Der INP zwischen den Navigationszeiten. Wie gewohnt kann dieser Wert weiter aktualisiert werden, bis die Seite (oder die Soft-Navigation) verlassen wird. Erst dann kann der INP-Wert finalisiert werden. Ein Wert von 0 wird nicht gemeldet, wenn keine Interaktionen vorhanden sind. Die Interaktion, die eine Soft Navigation verursacht, ist in der Regel mit der vorherigen Navigation (von der aus navigiert wird) und nicht mit der neuen Navigation (zu der navigiert wird) verknüpft, da der erste Paint für die Soft Navigation erforderlich ist. Das ist ähnlich wie bei harten Navigationsvorgängen, bei denen ein Linkklick möglicherweise einen INP-Wert hat, der jedoch der Seite zugeordnet wird, auf der der Klick erfolgt ist.
CLS Das größte Zeitfenster zwischen den Navigationszeiten. Wie gewohnt kann der CLS weiter aktualisiert werden, bis die Seite (oder die Soft-Navigation) verlassen wird. Erst dann kann der CLS abgeschlossen werden. Hinweis: Der mit dem Navigationsereignis verknüpfte CLS kann ausgeschlossen werden (wenn er innerhalb von 500 ms nach der Interaktion auftritt), mit der vorherigen Navigation verknüpft werden (wenn die Verschiebung vor der Aktualisierung der URL erfolgt) oder mit der neuen Navigation verknüpft werden (wenn die Verschiebung nach Abschluss der Soft Navigation erfolgt).

Werden diese Änderungen in die Core Web Vitals-Messungen einbezogen?

Das Ziel ist, die Leistung aus Sicht echter Nutzer besser zu messen. Ja, diese sollen nach der Einführung der API in die Core Web Vitals-Messungen aufgenommen werden, die von allen Tools bereitgestellt werden.

Wie werden Soft Navigations im CrUX-Bericht erfasst?

Wie genau Soft Navigations in CrUX gemeldet werden, sobald die Funktion eingeführt wird, muss noch festgelegt werden. Wir werden bekannt geben, wie sich CrUX ändern wird, sobald wir weitere Informationen haben.

Wie werden Soft Navigations in anderen Browsern behandelt?

Soft Navigations lassen sich in Browsern, die die API nicht unterstützen, nur schwer programmatisch erkennen. Das ist der Grund, warum wir an dieser API gearbeitet haben.

Mit der Navigation API lassen sich URL-Änderungen überwachen, sodass INP nach URL aufgeschlüsselt werden kann. Das gilt auch für CLS, das derzeit jedoch nur in Chromium gemessen wird. Die Paint-Messwerte (FCP und LCP) werden dadurch jedoch nicht berücksichtigt, da sie nur geschätzt werden können.

Gleichzeitig sind die von dieser API bereitgestellten Informationen unserer Meinung nach zu wertvoll, um sie zu ignorieren. Das gilt sowohl für die Messung des Zeitpunkts von Soft Navigations als auch für die Zuordnung der Messwerte zur richtigen Navigation. Wir empfehlen, diese neue API trotz der fehlenden browserübergreifenden Unterstützung zu verwenden. Ähnlich wie beim Start der Core Web Vitals werden sich Probleme und Leistungsoptimierungen wahrscheinlich auf alle Browser auswirken, auch wenn die Sichtbarkeit derzeit auf Chromium-basierte Browser beschränkt ist.

Wir werden den Standardisierungsprozess fortsetzen und uns mit den anderen Browseranbietern austauschen, um die Bedeutung dieser API zu verdeutlichen.

Feedback

Wir freuen uns über Feedback zu dieser API an den folgenden Stellen:

Wenn Sie sich nicht sicher sind, machen Sie sich keine Sorgen. Wir freuen uns über Feedback an beiden Stellen und leiten Probleme gerne an den richtigen Ort weiter.

Änderungsprotokoll

Da diese API noch in der Entwicklung ist, hat sie sich im Laufe der Zeit stärker verändert als stabile APIs. Weitere Informationen finden Sie im Changelog für Soft Navigations.

Fazit

Die Funktion „Soft Navigations“ ist ein interessanter Ansatz, wie sich die Core Web Vitals-Initiative weiterentwickeln könnte, um ein gängiges Muster im modernen Web zu messen, das in unseren Messwerten fehlt. Wir haben viel Feedback von der Web-Community erhalten und sind vom Potenzial dieser API begeistert.

Danksagungen

Miniaturansicht von Jordan Madrid auf Unsplash

Diese Arbeit ist eine Fortsetzung der Arbeit, die Yoav Weiss bei Google begonnen hat. Wir danken Yoav für seine Bemühungen bei dieser API.