English
HTML, Mobile & Barrierefreiheit

Progressive Web App (PWA)

Auch genannt: PWA, Progressive Webanwendung

Eine Progressive Web App (PWA) ist eine Anwendung, die mit Webtechnologien gebaut wird und sich dennoch wie eine App installieren und nutzen lässt, auch teilweise ohne Internetverbindung. Sie läuft aus einem Code auf allen Plattformen und bleibt über eine normale URL erreichbar.

Woraus besteht eine PWA?

MDN beschreibt diese Bausteine. Das Web App Manifest ist eine JSON-Datei mit Name, Icons, Start-URL, Darstellungsmodus und Farben. Der Service Worker ist ein Skript, das Anfragen abfängt, Antworten zwischenspeichert und damit Offline-Betrieb sowie Hintergrundsynchronisation ermöglicht. Service Worker setzen HTTPS voraus. Zum Installieren braucht eine PWA laut MDN ein Manifest, einen Service Worker aber nicht.

Ob ein Browser die Installation anbietet, hängt von weiteren Kriterien wie passenden Icons ab, die je Browser variieren.

Was bedeutet das für SEO?

Für Google zählt bei einer PWA dasselbe wie bei jeder JavaScript-Website. Googlebot lädt das HTML, folgt Links, rendert die Seite mit einem aktuellen Chromium und indexiert das Ergebnis. Links erkennt Google nur als <a>-Elemente mit href. Clientseitig geroutete Apps sollten die History API statt URL-Fragmenten nutzen, und für nicht vorhandene Seiten braucht es sinnvolle Statuscodes oder ein noindex, damit keine Soft-404-Seiten entstehen.

Eine PWA hat damit keinen eigenen SEO-Status. Wo jede Ansicht eine eigene, per Link erreichbare URL hat, gelten die üblichen Regeln.

Ein Test von searchVIU (2020) zeigte, dass die Registrierung eines Service Workers im Live-Test der Search Console mit der Meldung „Rejected“ scheiterte. Das passt zu Googles Beschreibung, nach der der Renderer keinen Zustand zwischen Seitenaufrufen behält und Cookies sowie Local Storage löscht. Inhalte einer PWA sollten deshalb auch ohne Service Worker vollständig laden.

Beispiel

Verknüpfung des Manifests im <head>:

HTML
<link rel="manifest" href="/manifest.webmanifest">

Inhalt der Datei in Auszügen:

JSON
{
  "name": "Beispiel Shop",
  "start_url": "/",
  "display": "standalone",
  "icons": [
    { "src": "/icon-192.png", "sizes": "192x192", "type": "image/png" },
    { "src": "/icon-512.png", "sizes": "512x512", "type": "image/png" }
  ]
}

Häufige Fehler

  • Fehlerseiten mit Status 200. Zeigt die App für nicht vorhandene Inhalte eine Fehlermeldung, entsteht eine Soft-404-Seite.
  • Fragment-URLs mit #. Sie sind für die Link-Erkennung unzuverlässig.
  • Klick-Handler statt <a href>. Folgeseiten werden dann nicht gefunden.

Häufige Fragen

Wie installiert man eine PWA? Erfüllt die Seite die Kriterien des Browsers, bietet er die Installation an, meist über die Adressleiste oder das Browsermenü.

Quellen

  1. Progressive Web Apps – MDN Web Docsdeveloper.mozilla.org
  2. Progressive Web Apps – web.devweb.dev
  3. Grundlagen der JavaScript-SEO – Google Search Centraldevelopers.google.com
  4. Die Wahrheit über Service-Worker und Google Search – searchVIU-Blog (2020)searchviu.com
  5. Fix Search-related JavaScript problems – Google Search Centraldevelopers.google.com

Stand: