Zum Inhalt springen
DSGVO-konform. Gehostet in DE.
14 Tage kostenlos testen →
Speculation RulesPrerender-MessungCore Web Vitals
Performance 14 Min. Lesezeit 1. Aug. 2026

Prerender und Speculation Rules richtig messen 2026

Prerender macht Navigationen sofort - und verfälscht Zähler. So messen Sie aktivierungsbasiert, prüfen die Trefferquote und lesen Web Vitals je Navigationstyp.

X

XICTRAQ Team

XICTRAQ

PerformanceAnalyticsCore Web VitalsDatenqualität
35 %
der mobilen Seiten in den Top 10 Millionen liefern Speculation Rules aus (HTTP Archive Web Almanac 2025)
200 ms
Zeigen auf einen Link löst bei der Stufe moderate eine Spekulation aus (Chrome for Developers)
April 2024
seit diesem CrUX-Release lassen sich Navigationstypen inklusive Prerender getrennt auswerten (Chrome UX Report, Release Notes)
Prerender messen: gemeldet gegen tatsächlich gesehenUnsichtbarer Vorab-Tab führt JavaScript aus · erst die Aktivierung macht den Aufruf realRegel greiftmoderate: 200 ms Zeigenconservative: pointerdownUnsichtbarer Vorab-TabDokument wird vollständig gerendertJavaScript läuft, Zähl-Pixel feuertSec-Purpose: prefetch;prerenderAktivierung durch Klickprerenderingchange feuertactivationStart größer 0Keine AktivierungVorab-Tab wird verworfenSeite wurde nicht gesehengezählt = gesehenAufruf mit aktiver Zeitgezählt, nicht gesehen0 Sekunden aktive ZeitZähler ohne Aktivierungslogik1.000gemeldete Seitenaufrufe220 ohne Aktivierung0 Sekunden aktive Zeit22 % Vorbereitung ohne BetrachterAktivierungsbasierter Zähler780tatsächlich gesehene Aufrufe220 getrennt ausgewiesennicht in der Reichweite78 % der Spekulationen aktiviertTrefferquote je Navigationstypnavigate · prerender · reloadback_forward · back_forward_cachegetrennt statt gemitteltGrenzen der Spekulationimmediate/eager: max. 10 Prerendermoderate/conservative: max. 2Kosten je Prerender wie ein IframeVerbreitung 202535 % der mobilen Seitenin den Top 10 Millionen liefernSpeculation Rules ausQuellen: Chrome for Developers · MDN Web Docs · HTTP Archive Web Almanac 2025 · Zählerwerte als Beispiel
Eine Navigation, die sich anfühlt, als wäre die Seite schon da: Genau das leisten Speculation Rules mit Prefetch und Prerender. Chromium lädt das Ziel im Hintergrund, rendert es in einem unsichtbaren Tab vollständig vor und tauscht es beim Klick nur noch ein. Der Haken liegt in der Messung: Dieser unsichtbare Tab führt JavaScript aus, ruft Daten ab und feuert Zähl-Pixel - für Seiten, die niemand zu Gesicht bekommen hat. Wer Prerender in der Auswertung nicht berücksichtigt, sieht zu viele Seitenaufrufe, unplausible Absprungraten und Web-Vitals-Werte, die nicht zur Wahrnehmung der Besucher passen. Dieser Leitfaden zeigt, wie Prerender technisch arbeitet, wie Sie Tracker bis zur Aktivierung verzögern, wie Sie Trefferquote und Wirkung je Navigationstyp auswerten - und wo die Ressourcenkosten liegen.

Was beim Prerender im Browser wirklich passiert

Speculation Rules sind ein JSON-Regelwerk, das eine Seite entweder in einem script-Element mit dem Typ speculationrules oder über den HTTP-Header Speculation-Rules ausliefert. Zwei Stufen sind vorgesehen. prefetch holt lediglich das Zieldokument vorab. prerender geht deutlich weiter: Unterstützende Browser laden den Inhalt, rendern ihn und legen ihn in einem unsichtbaren Tab im speicherinternen Cache des Dokuments ab - einschließlich aller Subressourcen, der Ausführung des kompletten JavaScripts und sogar der Datenabrufe, die dieses JavaScript selbst startet (MDN Web Docs, Speculation Rules API). Für den Besucher entsteht dadurch beim Klick der Eindruck, die Seite sei bereits fertig gewesen.

Beim Klick tauscht der Browser den unsichtbaren Tab gegen die aktuelle Seite aus. Dieser Moment heißt Aktivierung - und genau hier trennen sich Technik und Messung. Zwischen dem Start des Prerenders und der Aktivierung können mehrere Sekunden liegen, in denen die Seite bereits vollständig läuft, ohne dass jemand sie sieht. Drei Bausteine machen diesen Zustand im Code sichtbar: die Eigenschaft document.prerendering, das Ereignis prerenderingchange, das beim Aktivieren feuert, und activationStart aus dem PerformanceNavigationTiming-Eintrag, das die Zeit zwischen Prerender-Start und Aktivierung angibt (MDN Web Docs, Speculation Rules API).

  • Aufgeschobene Schnittstellen - Notifications, Geolocation, Kamera- und Mikrofonzugriff, Web Audio, Sensoren sowie ServiceWorkerRegistration.register() liefern im Vorab-Tab zunächst nur ein offenes Promise und laufen erst nach der Aktivierung weiter (MDN Web Docs).
  • Blockierte Interaktionen - Vollbild, Window.open(), Zahlungsdialoge und Clipboard-Zugriffe scheitern, weil sie eine Nutzerinteraktion, Fokus oder Sichtbarkeit voraussetzen (MDN Web Docs).
  • Stumme Dialoge - alert(), confirm() und prompt() kehren zurück, ohne etwas anzuzeigen (MDN Web Docs).
  • Verzögerte Nebenwirkungen - Downloads starten erst nach der Aktivierung, Cross-Origin-Iframes werden erst dann geladen, sessionStorage arbeitet auf einem Klon und wird beim Aktivieren zurückgetauscht (MDN Web Docs).
  • Abbruchgründe - eine Navigation auf eine andere Site verwirft den Prerender sofort, ebenso javascript:-, data:-, blob:- und about:-URLs (MDN Web Docs).

Was der Browser nicht zurückhält, ist gewöhnliches Analytics-JavaScript. Ein Zähl-Pixel, das beim Laden feuert, sendet seinen Treffer auch aus dem unsichtbaren Tab. Für die Auswertung heißt das: Die Seite gilt als aufgerufen, obwohl der Besucher möglicherweise weitergescrollt und den Link gar nicht geklickt hat. Diese Lücke ist kein Fehler des Browsers, sondern eine bewusste Entwurfsentscheidung - die Plattform stellt mit document.prerendering und prerenderingchange genau die Werkzeuge bereit, mit denen ein Skript sein Verhalten selbst steuern kann.

Sec-Purpose macht Spekulationen im Log sichtbar

Prefetch- und Prerender-Anfragen tragen den Request-Header Sec-Purpose mit dem Wert prefetch beziehungsweise prefetch;prerender (MDN Web Docs, Speculation Rules API). Damit lassen sich spekulative Zugriffe bereits im Webserver-Log von echten Aufrufen trennen - eine Auswertung, die ohne jede Änderung am Frontend funktioniert und die spätere Trefferquote überhaupt erst berechenbar macht.

Um das Ausmaß der möglichen Ressourcenverschwendung einzuordnen: Ein Prerender verbraucht ungefähr so viele Ressourcen wie das Rendern eines Iframes.

— MDN Web Docs, Speculation Rules API (sinngemäß übersetzt)

Warum der Effekt seit Chrome 121 in der Breite ankommt

Prerender über Speculation Rules ist keine Neuheit: Chrome und Edge unterstützen die Regeln seit Version 109 (Chrome for Developers). Alltagstauglich wurde die Technik allerdings erst mit den Erweiterungen der folgenden Versionen. Chrome 121 brachte den Parameter eagerness und machte den Schlüssel source optional, ab Chrome 122 stand das vollständige Paket aus Dokumentregeln und abgestufter Eagerness bereit (Chrome for Developers). Chrome 136 ergänzte das Feld tag für die Unterscheidung mehrerer Regelsätze, Chrome 138 den target_hint für Ziele in neuen Tabs (Chrome for Developers). Erst Dokumentregeln erlauben die kurze Formulierung: nimm alle Links dieses Dokuments, außer diesen hier.

Chrome-VersionWas dazukamBedeutung für die Messung
109Prefetch und Prerender über Speculation RulesErste Navigationen ohne sichtbaren Ladevorgang - und erste Treffer ohne Betrachter
121Parameter eagerness, source optionalRegeln lassen sich dosieren, die Trefferquote wird steuerbar
122Dokumentregeln vollständig verfügbarEin Regelblock deckt alle Links ab, Ausschlüsse werden zur Pflichtübung
136Feld tag für RegelsätzeRegelsätze lassen sich in den Entwicklertools auseinanderhalten
138target_hintAuch Ziele in neuen Tabs kommen vorgerendert an

Die Verbreitung ist inzwischen erheblich. In den Messungen des Web Almanac 2025 liefern in den Top 1.000 Websites 3 Prozent der Desktop- und 5 Prozent der mobilen Seiten Speculation Rules aus; im Longtail der Top 10 Millionen sind es 24 Prozent auf dem Desktop und 35 Prozent auf mobilen Seiten (HTTP Archive Web Almanac 2025). Der Sprung erklärt sich vor allem aus dem Content-Management: WordPress liefert seit Version 6.8 spekulatives Laden standardmäßig im Frontend aus, konfiguriert als prefetch mit der Eagerness-Stufe conservative; ausgenommen sind angemeldete Nutzer und Installationen ohne sprechende Permalinks (WordPress Core, Speculative Loading in 6.8).

Wer diese Voreinstellung von Prefetch auf Prerender hebt - im CMS über einen Filter, im eigenen Code über eine Zeile im Regelwerk -, verändert die Datenlage schlagartig. Und selbst ohne eigenes Regelwerk entstehen vorgerenderte Aufrufe: Chrome rendert Seiten aus der Adressleiste heraus vor, wenn die Vorhersage auf Basis des bisherigen Verlaufs sehr zuverlässig erscheint, ebenso beim Zeigen auf einen Eintrag der Lesezeichenleiste und bei Suchergebnisseiten, wenn die Suchmaschine das anweist (Chrome for Developers). Gleichzeitig bleibt Prerender ein Hinweis und kein Befehl: Der Browser kann ihn wegen Nutzereinstellungen, Speicherdruck oder eigener Heuristiken übergehen (Chrome for Developers).

Prerender ist kein Randthema mehr

Ein Messmodell, das jeden Seitenaufruf gleich behandelt, war bis vor wenigen Jahren vertretbar. Bei 35 Prozent spekulationsfähiger Mobilseiten im breiten Web (HTTP Archive Web Almanac 2025) und Prerender direkt aus der Adressleiste des Browsers (Chrome for Developers) ist die Trennung nach Navigationstyp zur Grundvoraussetzung für belastbare Zahlen geworden.

Wie Prerender die Messung verzerrt

Die Verzerrung tritt in vier typischen Ausprägungen auf. Sie treffen unterschiedliche Kennzahlen, haben aber dieselbe Ursache: Ein Ereignis wird zum Zeitpunkt der Vorbereitung erfasst statt zum Zeitpunkt der Betrachtung. Wer die Fehlerbilder kennt, erkennt sie in den eigenen Daten deutlich schneller - ähnlich wie beim automatisierten Verkehr, der ohne Filterung dieselben Berichte verwässert und den wir im Beitrag zum Filtern von Bot-Traffic aus Analytics im Detail beschreiben.

Zu viele Seitenaufrufe

Jeder vorbereitete, aber nicht aktivierte Tab erzeugt einen Treffer. Die Reichweite wirkt größer, obwohl kein Mensch die Seite gesehen hat. Betroffen sind vor allem die Seiten, die im Regelwerk stehen - der Fehler verteilt sich also nicht gleichmäßig.

Verzerrte Absprungrate und Verweildauer

Ein Aufruf ohne Betrachter erzeugt keine Scrolls, keine Klicks und keine aktive Zeit. In der Auswertung erscheint er als sofortiger Absprung mit null Sekunden Sitzungsdauer und zieht beide Kennzahlen in die falsche Richtung.

Verfrühte oder doppelte Conversion-Signale

Feuert ein Ziel-Ereignis beim Laden einer Bestätigungsseite, kann es bereits im Vorab-Tab ausgelöst werden. Wird die Seite später wirklich aufgerufen, entsteht ein zweites Signal - die Zählung stimmt dann in keiner der beiden Richtungen.

Zu gute Web Vitals

Ohne Korrektur beginnt die Zeitmessung beim Prerender-Start. LCP fällt dann nahezu auf null, weil das Rendern lange vor dem Betrachten stattfand. Das Ergebnis ist ein Durchschnitt, der die tatsächliche Erfahrung langsamer Erstbesuche verdeckt.

Ein Rechenbeispiel macht die Größenordnung greifbar: Meldet ein Zähler an einem Tag 1.000 Seitenaufrufe und wurden 220 davon in einem Vorab-Tab erzeugt, der nicht aktiviert wurde, sind nur 780 Aufrufe tatsächlich gesehen worden - 22 Prozent der gemeldeten Zahl waren reine Vorbereitung (Beispielwerte zur Veranschaulichung). Wie hoch der Anteil real ausfällt, hängt vollständig vom Regelwerk, von der Eagerness-Stufe und vom Nutzerverhalten ab. Verlässlich ist nur die Richtung: Ohne Korrektur meldet der Zähler mehr, als jemand gesehen hat.

Zustandsändernde URLs gehören nicht ins Regelwerk

Ein Prerender ist ein echter Request an Ihren Server. Steht eine URL im Regelwerk, die etwas verändert - ?add-to-cart=, ein Abmelde-Link, ein Bestätigungslink, ein Als-gelesen-markieren-Endpunkt oder eine URL mit Klick-Parameter -, wird diese Aktion ausgelöst, ohne dass jemand sie angefordert hat. Solche Pfade gehören ausdrücklich ausgeschlossen. Für bereits abgelegte, ungültig gewordene Prefetches steht der Wert prefetchCache im Antwort-Header Clear-Site-Data bereit, etwa beim Abmelden (MDN Web Docs, Speculation Rules API).

Tracker bis zur Aktivierung verzögern

Die saubere Lösung besteht nicht darin, Prerender zu vermeiden, sondern darin, die Messung an die Aktivierung zu koppeln. Das Muster ist kurz: Läuft das Dokument im Prerender-Zustand, wird die Messung an das Ereignis prerenderingchange gehängt und dort genau einmal gestartet; läuft es normal, startet sie sofort. Skripte, die diesen Zustand nicht kennen, zählen andernfalls im Vorab-Tab mit (MDN Web Docs, Speculation Rules API).

Messung erst bei Aktivierung starten
function startMeasurement() {
  // Seitenaufruf, Sitzungsstart, Ziel-Ereignisse
}

if (document.prerendering) {
  document.addEventListener('prerenderingchange', startMeasurement, { once: true });
} else {
  startMeasurement();
}

Für die Auswertung ist zusätzlich interessant, ob eine Seite überhaupt vorgerendert wurde. Diese Information liefert activationStart: Ein Wert größer als null bedeutet, dass zwischen Prerender-Start und Aktivierung Zeit vergangen ist. In Kombination mit document.prerendering ergibt das eine belastbare Erkennung, die auch dann funktioniert, wenn das Skript erst nach der Aktivierung ausgeführt wird (MDN Web Docs, Speculation Rules API).

Navigationstyp erkennen und mitgeben
const nav = performance.getEntriesByType('navigation')[0];
const activation = nav ? nav.activationStart : 0;
const wasPrerendered = document.prerendering || activation > 0;

const navigationType = wasPrerendered
  ? 'prerender'
  : (nav ? nav.type : 'navigate'); // navigate | reload | back_forward
  1. Seitenaufruf - erst nach der Aktivierung senden, nicht beim Laden des Dokuments.
  2. Sitzungsstart - an dieselbe Bedingung koppeln, sonst beginnt die Sitzung im unsichtbaren Tab und die Verweildauer startet zu früh.
  3. Ziel-Ereignisse - Bestell-, Formular- und Lead-Signale ausschließlich nach der Aktivierung auslösen, damit keine Doppelzählung entsteht.
  4. Ereignisse im Vorab-Tab - falls Sie sie brauchen, zwischenspeichern und nach der Aktivierung mit dem korrekten Zeitstempel nachreichen.
  5. Serverseitig - Zugriffe mit gesetztem Sec-Purpose-Header in Logauswertungen getrennt führen, statt sie in die Reichweite zu rechnen.
  6. Nach jedem Deploy prüfen - eine geänderte Skriptversion kann die Verzögerung stillschweigend entfernen; ein wiederkehrender Browser-Check mit echtem Seitenaufbau macht das sichtbar.
Ein Testlauf statt vieler Annahmen

In den Chrome-Entwicklertools lässt sich unter Anwendung und Spekulative Ladevorgänge nachvollziehen, welche Regeln gegriffen haben, welche Spekulation gestartet wurde und aus welchem Grund sie gegebenenfalls verworfen wurde. Ein Testlauf auf einer Vorschau-Umgebung mit aktiviertem Regelwerk zeigt binnen Minuten, ob Ihr Zähler im Vorab-Tab feuert oder erst bei der Aktivierung.

Web Vitals auf die Aktivierung beziehen

Prerender verbessert die wahrgenommene Geschwindigkeit real. Die Chrome-Dokumentation beschreibt als Effekt einen LCP nahe null, geringeres CLS - weil Layoutverschiebungen des Ladevorgangs vor der ersten Ansicht stattfinden - und ein verbessertes INP (Chrome for Developers). Genau deshalb braucht die Messung einen definierten Nullpunkt. Ohne Korrektur wird die Zeit ab dem Prerender-Start gemessen, und die Kennzahl beschreibt nicht mehr, wie lange jemand gewartet hat, sondern wie lange der Browser vorgearbeitet hat.

Zeitstempel auf den Aktivierungszeitpunkt beziehen
const nav = performance.getEntriesByType('navigation')[0];
const activation = nav ? nav.activationStart : 0;

// LCP-Eintrag relativ zur Aktivierung bewerten
const lcpAfterActivation = Math.max(0, lcpEntry.startTime - activation);

// Dasselbe Prinzip gilt für FCP, TTFB und alle eigenen Marken
const ttfbAfterActivation = Math.max(0, nav.responseStart - activation);

Der zweite Schritt ist wichtiger als die Formel: nicht mitteln, sondern trennen. Der Chrome UX Report weist Navigationstypen seit dem Datensatz 202403 aus, veröffentlicht am 9. April 2024 (Chrome UX Report, Release Notes). Wie stark ein Navigationstyp die Aggregate bewegt, zeigt der Präzedenzfall Back-Forward-Cache: Mit dem breiten Rollout in Chrome 97 verbesserte sich die Bestehensquote für CLS um 4,4 Prozent und für LCP um 2,4 Prozent (Chrome UX Report, Release Notes, Datensatz 202201). Ein wachsender Prerender-Anteil verschiebt Durchschnitte auf dieselbe Weise - nach oben, ohne dass sich die Seite selbst verbessert hätte.

NavigationstypWas er über die Seite aussagtFallstrick in der Auswertung
navigateRegulärer Erstaufruf ohne VorbereitungWird durch schnelle Sondertypen im Mittelwert kaschiert
prerenderVollständig vorbereitet, Ladezeit vor der AktivierungLCP nahe null verzerrt den Gesamtwert nach oben
back_forwardHistorie-Navigation ohne Wiederherstellung aus dem CacheWird häufig mit dem Cache-Fall vermischt
back_forward_cacheWiederherstellung aus dem Back-Forward-CacheSehr schnelle Werte, die nichts über den Erstaufruf sagen
reloadNeuladen, oft nach einem ProblemHäufung deutet auf Fehler statt auf Interesse hin

In der Praxis heißt das: Ein Performance-Bericht braucht mindestens die Zeile für reguläre Erstaufrufe getrennt von allen beschleunigten Typen. Wie sich Feld- und Labormessung dabei ergänzen, ist im Beitrag zu Felddaten gegen Labordaten bei Core Web Vitals beschrieben; wo genau die Ladezeit eines Erstaufrufs verloren geht, zeigt die Aufschlüsselung in LCP-Subparts von TTFB bis Render-Delay. Für Anwendungen mit clientseitigem Routing kommt die Frage hinzu, wie Ansichtswechsel überhaupt erfasst werden - dazu der Beitrag zu Core Web Vitals in Single-Page-Apps.

Trefferquote und Wirkung je Navigationstyp auswerten

Sobald die Zählung aktivierungsbasiert arbeitet, wird Prerender von einer Fehlerquelle zu einer Kennzahl. Interessant ist nicht nur, wie viele Navigationen vorgerendert ankamen, sondern auch, wie viele Spekulationen ins Leere liefen. Beide Seiten zusammen ergeben die Trefferquote - und damit die Antwort auf die Frage, ob das Regelwerk gut eingestellt ist oder Bandbreite verbrennt.

  • Prerender-Anteil - Anteil der aktivierten Prerender an allen gemessenen Navigationen. Steigt er, wirkt die Seite für wiederkehrende Besucher schneller.
  • Trefferquote - aktivierte Prerender geteilt durch die Zahl der spekulativen Anfragen aus dem Serverlog (Sec-Purpose). Eine niedrige Quote bedeutet: viel Vorbereitung, wenig Nutzen.
  • LCP-Delta je Typ - Median-LCP der regulären Erstaufrufe gegen den aktivierungskorrigierten Median der Prerender-Aufrufe. Das ist der ehrliche Gewinn.
  • INP je Typ - Interaktionslatenz getrennt auswerten, weil ein vorgerendertes Dokument beim ersten Klick bereits initialisiert ist.
  • Verschwendungsquote - übertragene Bytes für nicht aktivierte Spekulationen, aufgeschlüsselt nach Geräteklasse.
  • Einstiegsseiten - Verteilung der aktivierten Prerender über die Seitentypen; häuft sich alles auf wenigen URLs, ist das Regelwerk zu eng oder zu weit gefasst.

Die Auswertung lohnt sich vor allem im Zeitverlauf. Ein Regelwerk, das bei der Einführung eine gute Quote erreicht, kann nach einem Navigations-Relaunch deutlich schlechter dastehen, weil andere Links im Sichtbereich liegen. Ein wiederkehrender Bericht, der Navigationstypen getrennt ausweist, macht solche Verschiebungen sichtbar, ohne dass jemand täglich in die Rohdaten schaut - dafür eignen sich terminierte Reports und Statusseiten, die den Stand automatisch zusammenfassen.

Die zwei Zahlen, die zählen

Gemeldete Seitenaufrufe sagen, wie oft der Browser gearbeitet hat. Aktivierte Seitenaufrufe sagen, wie oft ein Mensch die Seite gesehen hat. Solange beide Zahlen nebeneinander stehen, lässt sich jede Abweichung erklären. Sobald nur noch eine davon berichtet wird, beginnt das Raten.

Fehlzählungen erkennen: Signale in den Rohdaten

Nicht jede Website kann das Messskript sofort umstellen. Bis dahin hilft eine Diagnose auf Basis der vorhandenen Daten. Prerender hinterlässt charakteristische Spuren, weil ein Aufruf ohne Betrachter zwangsläufig ohne jede Folgeinteraktion bleibt. Die folgenden Signale treten selten allein auf - kommen zwei oder drei zusammen, ist der Verdacht begründet.

  • Seitenaufrufe mit null Sekunden aktiver Zeit - kein Scroll, kein Klick, kein Sichtbarkeitswechsel, und das gehäuft auf denselben URLs (Projekterfahrung).
  • Sprunghafte Absprungrate ohne Anlass - die Quote steigt an dem Tag, an dem ein Regelwerk oder ein CMS-Update ausgerollt wurde (Projekterfahrung).
  • Doppelte Ziel-Signale - dieselbe Bestell- oder Formularbestätigung erscheint zweimal mit kurzem Abstand.
  • Missverhältnis zwischen Log und Zähler - der Webserver meldet deutlich mehr Zugriffe mit Sec-Purpose als der Zähler an Prerender-Aufrufen ausweist.
  • Einstiege auf tiefen Seiten ohne Referrer - Zielseiten, die im Regelwerk stehen, tauchen als Einstieg auf, obwohl sie im Menü kaum verlinkt sind.
  • LCP-Verteilung mit zwei Gipfeln - ein Gipfel nahe null, ein zweiter im realistischen Bereich; ein starker Hinweis auf unkorrigierte Aktivierungszeiten.
Vorsicht bei vorschnellen Schlüssen

Null-Sekunden-Aufrufe entstehen ebenso durch automatisierten Verkehr, durch fehlgeschlagene Skripte oder durch abgebrochene Verbindungen im Mobilfunk. Prerender ist eine mögliche Erklärung unter mehreren. Belastbar wird die Diagnose erst, wenn die spekulativen Zugriffe aus dem Serverlog dazugelegt werden - erst dann lässt sich ein Anteil beziffern statt vermuten.

Ein praktischer Zwischenschritt: Führen Sie zwei Wochen lang eine zusätzliche Eigenschaft am Seitenaufruf mit, die den erkannten Navigationstyp enthält, ohne die bestehende Zählung zu verändern. So entsteht eine Vergleichsbasis, bevor Sie die eigentliche Umstellung vornehmen. Der Aufwand liegt bei wenigen Zeilen, der Erkenntnisgewinn ist deutlich größer als jede Schätzung.

Ressourcenkosten: Eager-Regeln nicht ungebremst setzen

Jede Spekulation kostet zweimal: Bandbreite beim Besucher und Rechenzeit auf Ihrem Server. Die Chrome-Dokumentation formuliert das deutlich - Prerendering verbraucht zusätzlichen Speicher und zusätzliche Netzwerkbandbreite, und man solle darauf achten, nicht zu viel vorzurendern (Chrome for Developers). Die Lernressourcen von web.dev empfehlen, Prerender sparsam einzusetzen und nur dann, wenn die Navigation zum Ziel recht wahrscheinlich ist; Prefetch sollte auf schnellen Verbindungen bleiben und bei gesetztem Save-Data-Signal unterbleiben (web.dev, Learn Performance).

EagernessAuslöserObergrenze Prefetch / Prerender
immediateSobald die Regeln gelesen sind50 / 10
eagerAb etwa 10 ms Zeigen auf dem Desktop, Sichtbereichs-Heuristik mobil50 / 10
moderate200 ms Zeigen oder pointerdown, je nachdem was früher eintritt2 / 2 (älteste wird verworfen)
conservativeErst bei pointerdown oder touchstart2 / 2 (älteste wird verworfen)

Die Obergrenzen stammen aus der Chrome-Dokumentation; nach dem Erreichen einer Grenze verwirft der Browser die älteste Spekulation zugunsten der neuen (Chrome for Developers). Das begrenzt den Schaden, hebt ihn aber nicht auf: Zehn parallele Prerender entsprechen in der Größenordnung zehn zusätzlich gerenderten Iframes (MDN Web Docs, Speculation Rules API). Auf Mobilgeräten mit begrenztem Datenvolumen und auf Servern mit teuren, personalisierten Seiten ist das ein spürbarer Posten.

Serverlast mitdenken, nicht nur Bandbreite

Spekulative Anfragen laufen durch dieselbe Anwendungsschicht wie echte Aufrufe: Datenbankabfragen, Suchindizes, Warenkorb-Sitzungen und Rate-Limits. Eine immediate-Regel auf einer Übersichtsseite mit 60 Links kann die Zahl der Anfragen an teure Endpunkte vervielfachen. Setzen Sie die Stufe bewusst, beobachten Sie die Antwortzeiten anschließend und lassen Sie sich Ausreißer über Alerting und Benachrichtigungen melden, statt sie erst im Monatsbericht zu sehen.

Regelwerk sauber aufsetzen: Ausschlüsse und Randfälle

Ein gutes Regelwerk ist kurz und besteht größtenteils aus Ausnahmen. Dokumentregeln erlauben, alle Links einzuschließen und einzelne Muster auszunehmen - über href_matches für Pfade und selector_matches für CSS-Selektoren. Damit lassen sich Bereiche markieren, die grundsätzlich nicht spekulativ geladen werden sollen, ohne jede URL einzeln pflegen zu müssen (MDN Web Docs, Speculation Rules API).

Dokumentregel mit Ausschlüssen
{
  "prerender": [
    {
      "eagerness": "moderate",
      "where": {
        "and": [
          { "href_matches": "/*" },
          { "not": { "href_matches": "/logout*" } },
          { "not": { "href_matches": "/*\\?*(^|&)add-to-cart=*" } },
          { "not": { "href_matches": "/konto/*" } },
          { "not": { "selector_matches": ".no-prerender" } },
          { "not": { "selector_matches": "[rel~=nofollow]" } }
        ]
      }
    }
  ]
}
  • Zustandsändernde Pfade ausschließen - Abmelden, Warenkorb, Bestellbestätigung, Freigabe- und Löschaktionen.
  • Personalisierte Bereiche ausnehmen - Konto, Kundenportal und alles, was pro Nutzer gerendert wird und teure Abfragen auslöst.
  • Markierung im Markup - eine Klasse wie .no-prerender an kritischen Links spart spätere Pfadlisten und überlebt Relaunches besser.
  • Content-Security-Policy beachten - enthält die Seite eine script-src-Direktive, muss die Quelle 'inline-speculation-rules', ein Hash oder eine Nonce ergänzt werden, sonst wird das Regelwerk verworfen (MDN Web Docs).
  • Cross-Origin-Fälle - Prerender ist standardmäßig auf denselben Origin beschränkt; same-site übergreifend braucht das Ziel den Header Supports-Loading-Mode: credentialed-prerender (MDN Web Docs).
  • Feature-Erkennung - HTMLScriptElement.supports('speculationrules') prüft die Unterstützung, bevor Regeln dynamisch eingefügt werden (MDN Web Docs).
Unterstützung realistisch einordnen

Speculation Rules gelten bei MDN als Feature mit eingeschränkter Verfügbarkeit und sind nicht Teil von Baseline, weil sie in verbreiteten Browsern fehlen: Chrome und Edge unterstützen sie ab Version 109, Firefox nicht und Safari hinter einem Schalter (MDN Web Docs, Speculation Rules API). Für die Messung bedeutet das: Ein Teil Ihres Verkehrs ist betroffen, ein anderer nicht - was die getrennte Ausweisung nach Navigationstyp zusätzlich rechtfertigt.

Messen, was gesehen wurde - nicht, was der Browser vorbereitet hat

Alle beschriebenen Korrekturen laufen auf denselben Punkt hinaus: Ein Seitenaufruf zählt ab der Aktivierung, nicht ab dem Rendern. Genau so arbeitet die cookielose First-Party-Analytics von XICTRAQ - der Zähler startet, wenn das Dokument aktiv wird, und der erkannte Navigationstyp wird am Aufruf mitgeführt, statt in einem Durchschnitt zu verschwinden. Web Vitals werden aus dem Feld erhoben und auf den Aktivierungszeitpunkt bezogen, damit ein vorbereiteter Aufruf die Verteilung nicht künstlich verschönert.

Aktivierungsbasierte Zählung

Der Seitenaufruf wird bei der Aktivierung erfasst. Vorbereitete, aber nicht aktivierte Dokumente erscheinen nicht als Reichweite und verzerren weder Absprungrate noch Verweildauer.

Navigationstypen getrennt

Erstaufruf, Prerender, Historie-Navigation und Wiederherstellung aus dem Cache werden unterschieden. Kennzahlen lassen sich je Typ lesen, statt in einem Mittelwert zu verschwimmen.

Web Vitals aus dem Feld

LCP, INP und CLS kommen aus echten Sitzungen statt aus einem Labordurchlauf, mit Bezug auf den Aktivierungszeitpunkt und aufgeschlüsselt nach Geräteklasse.

Der Betrieb bleibt dabei überschaubar. Ein Tracking-Skript aus der eigenen Domain, ein Regelwerk mit klaren Ausschlüssen und ein Bericht, der Navigationstypen getrennt ausweist - mehr braucht es für belastbare Zahlen nicht. Wer Nachweise ohnehin dokumentiert, etwa für die NIS2-Registrierung beim BSI und die Pflichten der Geschäftsleitung, kennt das Prinzip: Eine nachvollziehbare Messung ist weniger Aufwand als eine nachträgliche Rekonstruktion. Dieselbe Deploy-Disziplin gilt für Pflichtelemente im Frontend, etwa die Kennzeichnung von KI-Chatbots nach dem AI Act - was ein Deploy still entfernen kann, gehört regelmäßig geprüft.

Prerender wird nicht verschwinden, im Gegenteil: Schnelle Navigationen sind ein sichtbarer Qualitätsvorteil, und Content-Management-Systeme liefern die Regeln inzwischen mit (HTTP Archive Web Almanac 2025). Die Frage ist deshalb nicht, ob Sie mit Prerender zu tun haben, sondern ob Ihre Zahlen die Technik abbilden. Ein Blick in die Live-Demo zeigt, wie eine aktivierungsbasierte Auswertung im Alltag aussieht; die Tarifübersicht fasst zusammen, welche Auswertungen in welchem Umfang enthalten sind. Und wenn Sie einen Beleg für die eigene Datenlage brauchen: Die cookielose Analytics-Funktion weist gemeldete und aktivierte Aufrufe nebeneinander aus.

Quellen und Studien

Dieser Artikel basiert auf Daten und Dokumentation von: Chrome for Developers - Prerender pages in Chrome for instant page navigations (Chrome-Versionen 109, 121, 122, 136 und 138, Eagerness-Stufen und Auslöser, Obergrenzen 50 Prefetch / 10 Prerender bei immediate und eager sowie 2 / 2 bei moderate und conservative, Prerender aus Adressleiste, Lesezeichenleiste und Suchergebnissen, Hinweischarakter der Spekulation, Wirkung auf LCP, CLS und INP, Warnung vor übermäßigem Vorrendern); MDN Web Docs - Speculation Rules API (Rendern in einem unsichtbaren Tab inklusive Subressourcen und JavaScript, document.prerendering, prerenderingchange, PerformanceNavigationTiming.activationStart, Sec-Purpose-Header, aufgeschobene und eingeschränkte Schnittstellen, Abbruchgründe, Clear-Site-Data mit prefetchCache, inline-speculation-rules in der CSP, Supports-Loading-Mode credentialed-prerender, Ressourcenvergleich mit einem Iframe, Browserunterstützung und Baseline-Status); web.dev - Learn Performance, Prefetching, prerendering and service worker precaching (sparsamer Einsatz, Save-Data-Signal); Chrome UX Report (CrUX) - Release Notes (Navigationstypen im Datensatz 202403, veröffentlicht am 9. April 2024; Back-Forward-Cache-Rollout in Chrome 97 mit 4,4 Prozent besserer CLS- und 2,4 Prozent besserer LCP-Bestehensquote, Datensatz 202201); HTTP Archive Web Almanac 2025 (Speculation-Rules-Verbreitung 3 Prozent Desktop und 5 Prozent mobil in den Top 1.000, 24 Prozent Desktop und 35 Prozent mobil in den Top 10 Millionen; Core-Web-Vitals-Bestehensquote 48 Prozent mobil und 56 Prozent Desktop); WordPress Core - Speculative Loading in 6.8 (Voreinstellung prefetch mit conservative, Ausnahmen für angemeldete Nutzer und fehlende sprechende Permalinks). Die Rechenbeispiele mit 1.000, 780 und 220 Aufrufen dienen der Veranschaulichung und sind keine Messwerte.

Häufig gestellte Fragen zu Prerender und Messung

Zählt Prerender meine Seitenaufrufe doppelt?
In der Regel nicht doppelt, sondern zu früh. Ein Zähler, der beim Laden feuert, erfasst den Aufruf bereits im unsichtbaren Vorab-Tab; wird die Seite später aktiviert, entsteht typischerweise kein zweiter Treffer, weil das Dokument dasselbe bleibt. Zu einer doppelten Zählung kommt es erfahrungsgemäß vor allem bei Ziel-Ereignissen, die zusätzlich serverseitig oder über einen zweiten Kanal erfasst werden. Wird die Messung über document.prerendering und prerenderingchange an die Aktivierung gekoppelt, entfällt beides (MDN Web Docs, Speculation Rules API).
Muss ich Speculation Rules deaktivieren, um sauber zu messen?
Das ist meist nicht nötig und wäre auch schade um den Geschwindigkeitsgewinn. Sinnvoller ist, die Messung an die Aktivierung zu koppeln und zustandsändernde URLs aus dem Regelwerk auszuschließen. Wer die Wirkung erst beobachten möchte, kann mit der Stufe conservative beginnen, die erst bei pointerdown oder touchstart spekuliert und höchstens zwei Spekulationen parallel hält (Chrome for Developers).
Woran erkenne ich im Server-Log einen Prerender?
Spekulative Anfragen tragen den Request-Header Sec-Purpose mit dem Wert prefetch beziehungsweise prefetch;prerender (MDN Web Docs, Speculation Rules API). Wird dieser Header im Zugriffsprotokoll mitgeschrieben, lassen sich spekulative Zugriffe von regulären trennen, ohne das Frontend anzufassen. Aus dem Verhältnis dieser Zugriffe zu den später aktivierten Aufrufen ergibt sich die Trefferquote des Regelwerks.
Verfälscht Prerender meine Core Web Vitals?
Ohne Korrektur typischerweise ja - und zwar zugunsten der Seite. Weil das Rendern vor der Aktivierung stattfindet, fällt LCP nahezu auf null, und auch CLS und INP fallen günstiger aus (Chrome for Developers). Werden Zeitstempel um activationStart bereinigt und Navigationstypen getrennt ausgewiesen, bleibt der reale Gewinn sichtbar, ohne den Erstaufruf zu beschönigen. Der Chrome UX Report weist Navigationstypen seit dem Datensatz 202403 aus (Chrome UX Report, Release Notes).
Wie hoch sollte die Prerender-Trefferquote sein?
Einen allgemeingültigen Zielwert gibt es nicht, weil er stark von Navigationsstruktur und Nutzerverhalten abhängt. Als Orientierung dient der Vergleich mit dem eigenen Vormonat: Sinkt der Anteil aktivierter Spekulationen, während die Zahl der spekulativen Anfragen steigt, ist die Eagerness-Stufe erfahrungsgemäß zu aggressiv gewählt. Die Chrome-Dokumentation empfiehlt, nur dann vorzurendern, wenn die Navigation zum Ziel wahrscheinlich ist (Chrome for Developers).
Kostet Prerender Traffic und Serverlast?
Ja, in beiden Richtungen. Ein Prerender verbraucht ungefähr so viele Ressourcen wie das Rendern eines Iframes (MDN Web Docs, Speculation Rules API), und jede Spekulation ist ein echter Request an die Anwendung. Chrome begrenzt die Zahl paralleler Spekulationen auf 10 Prerender bei den Stufen immediate und eager sowie auf 2 bei moderate und conservative (Chrome for Developers). Die Lernressourcen von web.dev empfehlen einen sparsamen Einsatz und den Verzicht bei gesetztem Save-Data-Signal (web.dev, Learn Performance).
In 60 Sekunden starten

Lassen Sie XICTRAQ Ihre Website bewachen.

Dauerhaft kostenloser Plan verfügbar. Keine Kreditkarte, keine Installation, keine versteckten Kosten.