Lang lebe Prerender die Speculative Rules API.
Das Prerender war ein Link-Attribut, mit dem man dem Browser sagen konnte, dass die angegebene Seite schon mal geladen und gerendert werden sollte, weil sie gleich gebraucht wird, da der User gleich auf einen Button oder Link dorthin klicken wird.
Das sah ungefähr so aus: <link href=\"checkout/payment.html\" rel=\"prerender\">
Ich fand das immer spannend. Zwar hat das zu Problemen (Tracking) geführt. Aber gerade in einer Bezahl- oder Anmeldestrecke, einer Bildergalerie oder Ähnlichem fand ich das trotzdem eine tolle Idee. Denn wenn wir uns sicher sind, dass die nächste Seite benutzt werden wird, dann beschleunigt das die Ladezeiten deutlich.
Ein wenig verzweifelt bin ich an der Umsetzung: Wenn Seiten dann die ersten 5 Produkte einer Produktliste vorgeladen haben. Oder auf der PDP schon mal den Checkout, obwohl noch nicht mal ein Produkt im Warenkorb gelandet ist.
Und das fand nicht nur ich komisch, weswegen das Feature zu Recht wegen Missbrauch abgeschafft wurde. Manche möchten sich aber mit „and this is why we can't have nice things" nicht zufriedengeben.
Und so läuft gerade als experimentelles Feature die Speculative Rules API vom Band.
Tatsächlich gibt es eine Reihe von Verbesserungen gegenüber rel=prerender:
-
Man kann Bedingungen angeben, unter denen Seiten vorgeladen werden können.
-
Man kann mehrere Kandidaten für den nächsten Seitenaufruf angeben.
-
Man kann Ergänzungen für die HTTP-Header angeben, die beim Aufruf mitgeschickt werden sollen.
-
Man muss die Rules nicht mehr im HTML definieren, sondern kann diese auch in eine andere Datei auslagern.
-
Damit kann man (vermutlich) auch das Tracking durch Prerendering sauber unterdrücken (oder markieren) und nachholen, wenn User tatsächlich auf der Seite landen.
Insgesamt sieht das interessant aus.
Wenn Du...
-
auf Deiner Seite sofort ein paar klare Trampelpfade hast und
-
bei diesen Pfaden unter Umständen sogar ein paar Probleme mit der Time to First Byte.
Dann ist es möglicherweise eine gute Idee, sich das jetzt schon anzusehen.
Ansonsten empfiehlt es sich wahrscheinlich eher, das Thema im Hinterkopf zu behalten und wieder hervorzukramen, wenn der Experimentierstatus vorbei ist.
In jedem Fall: Dieses Mal bitte sinnvoll einsetzen, damit wir auch mal „nice things" haben dürfen. Danke.