Website in eine installierbare PWA mit Offline-Modus verwandeln

Mach aus einer bestehenden Website eine Progressive Web App: Manifest mit Icons, Service Worker mit Caching-Strategien je Ressource, Offline-Seite, sichere Updates und Tests. Entwickelt für ChatGPT, Claude, Gemini und Microsoft Copilot. Er enthält 4 anpassbare Variablen und lässt sich kostenlos mit einem Klick kopieren.

Fortgeschritten · Code · Redaktionelle Prüfung ausstehend

Prompt

Arbeite als Webentwickler mit Schwerpunkt auf Progressive Web Apps, Service Workern und Caching-Strategien.

Kontext:
- Website oder App: {{website}}
- Stack und Hosting: {{stack}}
- Offline-Umfang: {{offline_umfang}}
- Prioritäten: {{prioritaeten}}

Hat die Website geschützte Bereiche, personenbezogene Daten oder häufig wechselnde Inhalte, frag mich, wie diese gehandhabt werden, bevor du festlegst, was gecacht wird.

Liefere:
1. Das Web-App-Manifest: name, short_name, Farben, display, start_url, scope und Icons (192 und 512 px sowie eine maskable-Variante), samt der Tags für das HTML.
2. Den Service Worker mit einer Strategie pro Ressourcentyp, erklärt in einer Tabelle: Precache der App-Shell, stale-while-revalidate für CSS, JS und Bilder, network-first mit Timeout für HTML und network-only für authentifizierte API-Aufrufe.
3. Die Offline-Seite und wie sie ausgeliefert wird, wenn das Netz ausfällt.
4. Versionierung der Caches, Aufräumen alter Caches im activate-Event und einen Update-Ablauf, der Nutzer über eine neue Version informiert, statt sie mit einem Reload zu überraschen.
5. Den Registrierungscode des Service Workers und eine Workbox-Alternative, falls sie besser zu {{stack}} passt.
6. Bekannte Einschränkungen unter iOS und Safari, die ich prüfen sollte, mit dem Hinweis, sie in der aktuellen Dokumentation zu verifizieren.
7. Testvorgehen: Application-Panel der DevTools, Offline-Simulation, Installierbarkeitsprüfung und konkrete Testfälle.

Vorgaben:
- Die Website muss per HTTPS ausgeliefert werden; weise darauf hin, falls das Hosting das nicht garantiert.
- Keine Antworten mit personenbezogenen oder Sitzungsdaten cachen.
- Keine Push-Benachrichtigungen oder Background Sync, sofern meine Prioritäten das nicht verlangen.
- Markiere Farben, Namen und Icons, die ich nicht angegeben habe, mit [AUSFÜLLEN].

Format: Strategietabelle, ein Codeblock pro Datei mit Pfad und eine Testliste.

So verwenden Sie ihn

  1. Beschreibe die Website, welche Teile offline funktionieren sollen und wo sie gehostet ist. 2. Füge die Dateien hinzu, deploye in eine HTTPS-Testumgebung und prüfe das Application-Panel der DevTools. 3. Teste auf einem echten Smartphone die Installation, den Flugmodus und das Eintreffen einer neuen Version.

Anwendungsbeispiel

Website: Rezeptseite mit Suche und Rezeptdetailseiten · Stack: statische Seite mit Astro auf Netlify · Offline: bereits besuchte Rezepte lesen · Prioritäten: installierbar auf Android, schnelle wiederholte Aufrufe.

Beispielergebnis

Caching-Strategien

RessourceStrategie
Shell (Startseite, Offline-Seite, Manifest)Precache beim install
Rezeptseiten (HTML)Netzwerk zuerst; bei Fehler Cache, dann /offline/
CSS, JS, BilderStale-while-revalidate

public/sw.js

const VERSION = 'v1';
const SHELL = `shell-${VERSION}`;
const SEITEN = `seiten-${VERSION}`;
const ASSETS = `assets-${VERSION}`;
const PRECACHE = ['/', '/offline/', '/manifest.webmanifest']; // [AUSFÜLLEN: gehashte CSS/JS von Astro]

self.addEventListener('install', (event) => {
  event.waitUntil(caches.open(SHELL).then((cache) => cache.addAll(PRECACHE)));
});

self.addEventListener('activate', (event) => {
  const aktuell = [SHELL, SEITEN, ASSETS];
  event.waitUntil(caches.keys().then((schluessel) =>
    Promise.all(schluessel.filter((k) => !aktuell.includes(k)).map((k) => caches.delete(k)))));
});

const speichern = (name, request, res) => {
  if (res.ok) { const kopie = res.clone(); caches.open(name).then((c) => c.put(request, kopie)); }
  return res;
};

self.addEventListener('fetch', (event) => {
  const { request } = event;
  if (request.method !== 'GET' || new URL(request.url).origin !== location.origin) return;
  if (request.mode === 'navigate') {
    event.respondWith(fetch(request).then((res) => speichern(SEITEN, request, res))
      .catch(async () => (await caches.match(request)) ?? caches.match('/offline/')));
    return;
  }
  event.respondWith(caches.match(request).then((imCache) => {
    const netz = fetch(request).then((res) => speichern(ASSETS, request, res)).catch(() => imCache);
    return imCache ?? netz;
  }));
});

Wird VERSION erhöht, löscht activate die alten Caches. Netlify liefert immer über HTTPS aus – Voraussetzung für Service Worker …

Wichtige Fakten

Kategorie
Programmierung & Entwicklung · Websites erstellen
Ausgabetyp
Code
Niveau
Fortgeschritten
Entwickelt für
ChatGPT, Claude, Gemini und Microsoft Copilot
Verifiziert in
Redaktionelle Prüfung ausstehend
Variablen
Website oder App, Stack und Hosting, Offline-Umfang und Prioritäten
Sprache
Deutsch
Preis
Kostenlos, ohne Anmeldung
Aktualisiert
07.11.2026

Häufig gestellte Fragen

Was braucht eine Website, um als PWA installierbar zu sein?

Mindestens HTTPS und ein Manifest mit Name, Icons und start_url. Jeder Browser hat eigene Kriterien; ein Service Worker mit Offline-Antwort verbessert das Erlebnis und wird von manchen Browsern berücksichtigt.

Warum die Seite beim Service-Worker-Update nicht automatisch neu laden?

Weil Nutzer sonst verlieren können, woran sie gerade arbeiten, etwa ein halb ausgefülltes Formular. Besser ist ein Hinweis auf die neue Version, damit sie selbst entscheiden, wann sie neu laden.

Was bedeutet stale-while-revalidate?

Eine Strategie, die sofort die gecachte Kopie ausliefert und parallel eine frische Version aus dem Netz für den nächsten Besuch holt. Sie ist schnell und hält Inhalte einigermaßen aktuell.

Wofür ist dieser Prompt gedacht?

Mach aus einer bestehenden Website eine Progressive Web App: Manifest mit Icons, Service Worker mit Caching-Strategien je Ressource, Offline-Seite, sichere Updates und Tests.

Mit welchen KI-Tools funktioniert er?

Er ist für ChatGPT, Claude, Gemini und Microsoft Copilot entwickelt. Wir haben ihn in diesen Tools noch nicht überprüft, daher können die Ergebnisse variieren.

Wie passe ich den Prompt an?

Klicken Sie auf „Anpassen“ und füllen Sie die Variablen aus (Website oder App, Stack und Hosting, Offline-Umfang und Prioritäten). Der Text wird sofort aktualisiert und lässt sich anschließend mit einem Klick kopieren. Die Werte werden nur in Ihrem Browser gespeichert.

Brauche ich Erfahrung, um ihn zu verwenden?

Er ist für Fortgeschrittene: Es hilft, das Thema zu kennen, um guten Kontext zu liefern und das Ergebnis kritisch zu prüfen.

Ist dieser Prompt kostenlos?

Ja. Jeder Prompt von HomeCasa Prompts ist kostenlos, ohne Anmeldung und ohne Abonnement. Sie können ihn auch in beruflichen Projekten verwenden.

Kann ich der KI-Ausgabe vertrauen?

Betrachten Sie sie als hochwertigen Entwurf: Prüfen Sie Daten, Zahlen und wichtige Aussagen immer, bevor Sie etwas veröffentlichen oder Entscheidungen treffen.

Ähnliche Prompts