Was die 7-Tage-Obergrenze von Safari für skriptbeschreibbaren Speicher für PWA-Entwickler bedeutet

SEO für Entwickler.  Detlefs Tipps für Suchmaschinen-Vermarkter und Programmierer.

Verwirrung über eine Ankündigung der bevorstehenden Änderungen zur intelligenten Tracking-Prävention von Apple Safari (ITP) führten zu Anschuldigungen, dass Apple absichtlich versucht habe, Progressive Web Apps (PWAs) zu zerstören, “gerade als sie abhoben”. Es stellt sich heraus, dass dies nicht der Fall ist. Die Änderungen haben jedoch immer noch schwerwiegende Folgen für Webentwickler und Vermarkter.

Entwickler stehen vor zahlreichen Herausforderungen, da die Browserunterstützung für Funktionen variiert, die sie möglicherweise für moderne Websites verwenden möchten. Es war schon immer entmutigend, mit so viel Varianz umzugehen. Zunehmende Komplexität wirkt sich weiter auf die Bereitstellung in einem breiten Spektrum von Diensten aus. Wenn die Unterstützung von PWA-Anwendungen in Safari auf einen Zeitraum von sieben Tagen beschränkt wäre, würde dies den Fortschritt in einem aufregenden Bereich, in dem erhebliche Anstrengungen erforderlich sind, ernsthaft behindern.

Nach 5 Jahren Entwicklungszeit bieten JavaScript-basierte PWAs Entwicklern die Möglichkeit, Website-Inhalte so zu erweitern, dass sie offline geladen werden, und Online-Inhalte lokale Dokumente zu aktualisieren, die mit JavaScript gespeichert wurden. Leider haben einige die Speichererweiterung von Cookies auf “localStorage” und Anwendungs-Cache-Speicher missbraucht, um persönlich identifizierende Variablen zu verfolgen.

Es wäre eine Schande, wenn dieser Missbrauch zu nur sieben Tagen für die gesamte Lagerung führen würde. Bestimmt indexedDB API und localStorage sind von dieser Richtlinienänderung betroffen, und Entwickler müssen dies berücksichtigen. Apple hat seine Position speziell in Bezug auf die Registrierung und den Cache von Web App Service Worker klargestellt.

Safaris skriptbeschreibbarer Speicher

Der über Cookies verfügbare Speicher ist sehr eingeschränkt, und das Entfernen von Cookies nach sieben Tagen aus Gründen, die Datenschutz und Sicherheit sowie die ITP-Richtlinien betreffen, ist gerechtfertigt. Das Erweitern dieser Richtlinie, um auch “Skript-beschreibbaren Speicher” zu entfernen, ist ein logischer nächster Schritt, mit der Ausnahme, dass das Auflisten des Beispiels “Service Worker-Registrierungen und -Cache” für Entwickler von PWAs Warnglocken auslöste.

Die Safari-Richtlinie für Cookies ist nicht streng auf sieben Tage begrenzt. Es handelt sich um einen Zähler für bis zu sieben unbenutzte Tage. Das bedeutet, dass jedes Mal, wenn ein Benutzer Safari öffnet und Ihre Website besucht, Ihr 7-Tage-Zähler für Cookies und skriptbeschreibbaren Speicher auf weitere sieben Tage zurückgesetzt wird. Leere Tage zählen nicht für Sie, wenn der Benutzer Safari nicht verwendet.

Wenn sie Safari öffnen und an einem bestimmten Tag surfen, ohne Ihre Website zu besuchen, werden Tage zu Ihrer Liste hinzugefügt. Sie haben sieben solcher Tage Zeit, bis Ihre Cookies und der gesamte “Skript-beschreibbare Speicher” entfernt werden. Es ist die Inaktivität der Benutzer mit Ihrer Website, die gegen Sie zählt. Benutzer müssen Ihre Site erneut besuchen, damit Sie Speicher schreiben und mit einem neuen Zähler beginnen können.

Mit PWAs erhalten Sie unendlich viele Tage.

Das ist nicht gut genug für PWAs. Apple erkennt das.

Aufgrund der Funktionsweise von PWAs wird Ihre App nach dem Hinzufügen zum Startbildschirm niemals sieben Tage lang ausgeführt. Dies liegt daran, dass Safari selbst Ihre App nicht lädt (obwohl der Launcher Safari Webkits aufruft WebView-Objekt).

Der Launcher verfügt über einen eigenen Zähler, der vollständig vom Safari-Zähler getrennt ist, und jede App-Shell arbeitet innerhalb eines eigenen separaten Prozesses. Ein selbstreferenzierender Zähler Ihrer App kann sich nur bei jeder Verwendung selbst zurücksetzen. Da es sich jedes Mal zurücksetzt, wenn Sie beispielsweise keine andere App öffnen, erhalten Sie unendlich viel Speicherplatz, bis der Benutzer Ihre App entfernt.

Es ist bemerkenswert, dass das Webkit-Team die Verwirrung mit dem Hinweis behoben hat: „Wenn in Ihrer Webanwendung Website-Daten gelöscht werden, teilen Sie uns dies bitte mit, da wir dies als schwerwiegenden Fehler betrachten würden. Es ist nicht die Absicht von Intelligent Tracking Prevention, Website-Daten für Erstanbieter in Webanwendungen zu löschen. “

Warum sollten wir uns darum kümmern?

Die Entwicklung und Nutzung von PWA nimmt Fahrt auf. Als von Google initiiertes Projekt ist die Unterstützung von Safari wichtig für den Erfolg. Die Ingenieure von Google waren ernsthaft besorgt über die neue Änderung der Safari-Richtlinien. Der Ausdruck „Skript-beschreibbarer Speicher“ im Zusammenhang mit einer nicht genutzten Lebensdauer von nur sieben Tagen sollte diesen Erfolg zunächst gefährden.

Es ist möglicherweise nicht die Absicht von ITP, Daten in Erstanbieter-Beziehungen zu löschen, einschließlich PWA-Startbildschirm-Apps. Es ist jedoch ihre Absicht, den Standardschutz in Safari weiter einzuschränken, um nur eine robuste Beziehung zu Erstanbietern zu ermöglichen und alle nicht verwendeten Daten nach einem 7-tägigen Zähler zu löschen. Zumindest wissen Vermarkter jetzt, wie ihre Tage in Safari gezählt sind.

Weitere Entwicklungstipps für SEOs

  • Unsere SEO für Entwickler Spalte
  • So zeigen Sie Leuchtturm-Scores in Google Sheets mit einer benutzerdefinierten Funktion an
  • SEO für reaktives JavaScript mit React oder Vue mit NodeJS und anderen Backend-Stacks
  • Power SEO-freundliches Markup mit HTML5, CSS3 und Javascript

Leave a Comment