Cache-Warming-Service von Stone & Water

Damit dein Shopware-Shop nie kalt startet.

Nach jedem Cache-Flush, jedem Deploy, jedem Plugin-Update ist die erste Anfrage langsam - und genau dann läuft oft schon der erste Kunde rein. Der Cache Warmer crawlt deine URLs vor, parallelisiert höflich mit HTTP/2-Pooling und meldet sich per E-Mail, wenn alles wieder warm ist. Mehrere Shops, feste Intervalle, alles aus einer Hand.

10.000+URLs pro Lauf
15xschneller durch HTTP/2-Pooling
Shops pro Zugang
99,9 %Uptime auf Creoline-Hosting

Pre-Crawl jeder URL - bevor der erste Kunde sie öffnet.

Shopware-Caches werden bei jedem Deploy, jeder Plugin-Aktivierung und jedem Cron-Flush invalidiert. Die erste Anfrage pro Seite muss dann das komplette Template, alle Hooks und alle Listen neu aufbauen - oft 3-10 Sekunden. Der Cache Warmer macht genau diese erste Anfrage, bevor ein echter Besucher sie macht.

Cold-Start nach Flush

Ohne Cache Warmer

Der erste Besucher trifft auf eine 3-10 Sekunden langsame Seite. Bounce-Rate steigt, Conversion fällt, Google-Pagespeed-Score sinkt. Bei viel Traffic sind hunderte Seiten betroffen, bevor sich die Caches stabilisieren.

Warm-Start, automatisch

Mit Cache Warmer

Direkt nach dem Cache-Flush wird die Sitemap durchgegangen. Kategorien, Produktdetail-Seiten, CMS-Pages, Hersteller-Listen - alles vorgeladen. Der erste echte Besucher bekommt sofort die schnelle, gecachte Version.

Trigger

Automatisch nach Cache-Flush

Per Webhook aus dem Shopware-Admin, per Cronjob, oder manuell aus dem Dashboard - du entscheidest, wann der Warmer läuft. Auch direkt nach bin/console cache:clear.

URL-Quellen

Sitemap-Auto-Discovery

Liest sitemap.xml und alle Sitemap-Index-Files. Optional zusätzliche statische URL-Listen pro Shop. Variantenartikel, Kategorien, CMS-Seiten - automatisch erfasst.

Politeness

Höflich, nicht aggressiv

Sequentielle Verarbeitung pro Shop, immer im festgelegten Zeitfenster. Kein DDoS deines eigenen Servers - die Last bleibt im Rahmen, was deine Hardware verträgt.

Erkennung

X-Cache-Header-Awareness

Erkennt automatisch, ob ein Hit oder Miss vorlag (Varnish, Cloudflare, Shopware Http Cache). Statistik pro Lauf: wie viele Seiten waren schon warm, wie viele wurden neu erzeugt.

Robustheit

Automatische Wiederholung

Fehlgeschlagene URLs (5xx, Timeout) werden mit Exponential Backoff erneut versucht. Endgültig fehlgeschlagene Calls landen im Report - sortiert nach HTTP-Status.

Sprachen & Kanäle

Pro Verkaufskanal und Sprache

Jeder Sales Channel, jede Sprache, jede Domain wird separat behandelt - Multi-Shop-Setups sind First-Class-Bürger, kein Workaround.

Ein Service für alle deine Shops.

Agenturen mit zehn Shops, Händler mit drei Marken-Storefronts: jeder Shop bekommt eine eigene Konfiguration, einen eigenen Zeitplan und eigene Reports. Gewärmt wird in genau den Intervallen, die du je Shop festlegst - ohne einen eigenen Server je Shop.

Zeitplan

Feste Intervalle je Shop

Für jeden Shop legst du fest, wann gewärmt wird: stündlich, nächtlich, nach jedem Deploy. Der Cron hält sich an genau diese Vorgabe.

  • Beliebig viele Shops je Zugang
  • Eigener Zeitplan und eigenes Zeitfenster je Shop
  • Fällt ein Lauf aus, bleiben die übrigen Termine unberührt
Reihenfolge

Ein Lauf nach dem anderen

Läufe desselben Shops überschneiden sich nie. Steht der nächste Termin an, während noch gearbeitet wird, wird er eingereiht statt zusätzlich gestartet. So bleiben Last und Bandbreite vorhersehbar.

Lastverhalten

Planbar für deinen Server

Wie viel Last ankommt, bestimmst du je Shop: Anzahl paralleler Requests, Pause zwischen den Requests und das Zeitfenster, in dem gewärmt werden darf.

Trennung

Jeder Shop für sich

Konfiguration, URLs, Reports und Statistiken gehören strikt zu einem Shop. Im Audit-Log siehst du ausschließlich die Läufe deiner eigenen Shops.

Pro-Shop-Settings

Individuelle Konfiguration je Shop

Concurrency, User-Agent, Auth-Header, Custom-URLs, ignorierte Pfade - alles pro Shop einstellbar. Voreinstellungen für alle Shops, Abweichungen je Shop.

Zugänge

Mitarbeiter mit eigenen Rechten

Hauptzugang mit allen Shops, einzelne Mitarbeiter sehen nur die ihnen zugewiesenen Shops. Read-only oder Read-write konfigurierbar.

Warum das zählt

Der erste Besuch nach dem Flush entscheidet.

Nach jedem Deploy, jeder Plugin-Aktivierung und jedem Cron-Flush muss die erste Anfrage pro Seite das komplette Template neu aufbauen. Genau diese erste Anfrage übernimmt der Cache Warmer, bevor ein echter Besucher sie stellt.

HTTP/2-Pooling mit Fallback auf HTTP/1.1.

Statt für jede URL eine neue TCP- und TLS-Verbindung aufzubauen, hält der Warmer pro Origin einen HTTP/2-Stream offen. Hunderte URLs gehen über eine einzige Verbindung - schneller, sparsamer, und für den Server ein einziger zusammenhängender Stream statt vieler Verbindungen.

Connection Pooling

Eine TLS-Session pro Origin

HTTP/2-Multiplexing erlaubt mehrere parallele Streams über eine einzige Verbindung. Statt 100 TLS-Handshakes für 100 URLs gibt es einen - Faktor 10-15 schneller bei modernen Hosts.

  • Automatisch ALPN-Negotiation für h2 vs. http/1.1
  • Pool wird pro Lauf neu aufgebaut und sauber geschlossen
  • Keepalive optional auch über Läufe hinweg
Graceful Fallback

HTTP/1.1 wenn nötig

Spricht der Origin kein HTTP/2 (alte Proxies, manche Plesk-Setups), fällt der Warmer automatisch auf HTTP/1.1 mit Connection-Keepalive zurück. Kein Eingriff, kein manuelles Toggeln.

Concurrency-Steuerung

Pro Shop einstellbar

Default 4 parallele Requests pro Shop - anpassbar auf 1 (für sehr schwache Server) bis 16 (für dicke Maschinen). Pro Lauf statistisch ausgewertet, ob die Concurrency zu hoch oder zu niedrig war.

Rate-Limiting

Sleep zwischen Requests konfigurierbar

Optional einen Sleep zwischen den Requests einbauen - für sehr empfindliche Shared-Hostings. Auch dynamisches Sleep abhängig vom letzten Response-Code möglich.

User-Agent

Erkennbarer und respektvoller Crawler

Standard-User-Agent StoneWaterCacheWarmer/1.x - in Server-Logs eindeutig identifizierbar, von Suchmaschinen-Bots klar trennbar. Pro Shop überschreibbar.

HTTP-Auth

Basic-Auth, Bearer-Token, IP-Whitelist

Staging-Umgebungen mit HTTP-Auth? Ein Token im Header? Kein Problem - pro Shop konfigurierbar. Credentials werden AES-256-GCM-verschlüsselt gespeichert.

Sitemap-basiert - plus alles, was du noch brauchst.

Die Sitemap kennt deine öffentlichen URLs am besten - Shopware generiert sie ohnehin pro Verkaufskanal. Der Warmer liest sie, dedupliziert, sortiert nach Priorität und arbeitet sie ab. Wer zusätzliche URLs braucht (Filter-Kombinationen, Login-Bereiche, API-Endpunkte), kann sie pro Shop ergänzen.

Sitemap-Index

Mehrere Sitemaps automatisch verfolgt

Shopware splittet bei großen Shops die Sitemap in mehrere Files (sitemap-product-1.xml, sitemap-category-1.xml …). Der Warmer folgt dem Sitemap-Index automatisch und holt alle Sub-Sitemaps.

Priorität

Sortierung nach Sitemap-Priority

URLs mit hoher <priority>-Angabe werden zuerst gewärmt - typischerweise Startseite und Top-Kategorien. Auch changefreq wird berücksichtigt, wenn aktiviert.

Custom URLs

Eigene Pfade pro Shop ergänzen

Account-Login, Service-Seiten, Landingpages außerhalb der Sitemap - als URL-Liste pro Shop ergänzbar. Mit Variablen für mehrsprachige Pfade.

Ignore-Liste

Pfade ausschließen

Filter-Kombinationen mit GET-Parametern, Suchergebnis-URLs, Checkout-Schritte - alles per Glob-Pattern ausschließbar. Default-Ignores für typische Shopware-Pfade vorkonfiguriert.

Deduplizierung

Keine URL doppelt

Wenn dieselbe URL in mehreren Sub-Sitemaps oder in Custom-URLs auftaucht, wird sie nur einmal gewärmt. Query-Parameter werden normalisiert nach konfigurierbarem Regelset.

Re-Discovery

Cache der Sitemap

Sitemap wird nicht bei jedem Lauf neu geparst - es wird gecacht, bis sich der lastmod-Header ändert oder du explizit ein Re-Read triggerst. Spart Last bei stündlichen Läufen.

Cron, Webhook, Push - du wählst den Auslöser.

Der Cache Warmer ist nicht an einen festen Zeitpunkt gebunden. Drei Trigger-Mechanismen, alle gleichzeitig nutzbar - z.B. nächtlicher Cron für SEO-Frische, Webhook nach Deploy für Code-Releases, manueller Push nach Bulk-Update im PIM.

Cron

Geplante Läufe pro Shop

Standard-Cron-Syntax (0 3 * * *) pro Shop. Auch komplexe Pläne („täglich 3 Uhr, plus jede Stunde im Black-Friday-Zeitraum") möglich.

Webhook

Push aus Shopware oder CI/CD

Ein einfacher HTTP-POST auf https://admin.cache-warmer.de/webhook/{token} startet einen Lauf. Direkt aus dem Deploy-Pipeline, aus einem Shopware-Plugin, oder aus einem Cron-Skript.

Shopware-Plugin

Trigger auf Cache-Invalidation

Optional: Companion-Plugin für Shopware 6.5/6.6/6.7, das den Warmer direkt nach cache:clear, Plugin-Update oder Theme-Recompile per Webhook anstößt.

Manuell

Push-Button im Dashboard

„Jetzt warmen" - ein Klick pro Shop oder pro Gruppe. Mit Vorschau, wie viele URLs erfasst werden, bevor der Lauf startet.

Throttling

Nicht-Überlappende Läufe

Läuft schon ein Warmer-Run für einen Shop, wird der nächste Trigger nicht zu einem zweiten parallelen Lauf - sondern entweder in die Queue gestellt oder dedupliziert.

Stop & Abort

Laufende Runs unterbrechen

Versehentlich einen Lauf zur Mittagszeit gestartet? Mit einem Klick abbrechen - laufende Requests werden zu Ende geführt, neue nicht mehr gestartet.

Reports per E-Mail - pro Shop, pro Lauf.

Du willst nicht jeden Morgen ins Dashboard schauen. Der Warmer schickt nach jedem Lauf eine knappe E-Mail: wie viele URLs, wie viele Fehler, durchschnittliche Antwortzeit, Cache-Hit-Rate. Je Shop oder als Sammelreport, mit Schwellwerten für „nur bei Problemen melden".

Pro Shop

Eine E-Mail je Lauf

Zusammenfassung in einer kompakten HTML-Mail: gesamte URLs, Fehler, Top-3-langsamste Seiten, gesamte Laufzeit. Versand direkt per Server-Sendmail - kein externer Mailservice nötig.

Sammelreport

Tagessummary über alle Shops

Verwaltest du fünf Shops, bekommst du eine einzige Mail mit allen fünf Reports zusammengefasst - statt fünf separater Mails. Wahlweise abends als Tagessummary oder live nach jedem Lauf.

Threshold

Nur bei Problemen

Default: Mail nur bei Fehlerquote > 1 % oder bei 5xx-Antworten. Geräuscharm im Normalbetrieb, laut bei echten Problemen. Schwellwerte pro Shop konfigurierbar.

Empfänger

Mehrere Adressen pro Shop

Technik bekommt die Fehler-Details, Marketing bekommt die Übersicht. Pro Adresse einstellbar, welche Stufe (Info / Warning / Error) sie empfängt.

Slack & Webhook

Auch ohne E-Mail

Wer Slack nutzt: Incoming-Webhook hinterlegen, Reports gehen in den Channel. Oder generischen Webhook für eigene Tools (Discord, Mattermost, Datadog).

Historie

Reports im Dashboard archiviert

Jeder Versand wird gespeichert, im Dashboard nachlesbar. Mit Diff zur vorherigen Mail - siehst du auf einen Blick, ob die Fehlerquote steigt oder fällt.

Live-Status auf einen Blick - jederzeit, jeder Shop.

Das Web-Dashboard unter admin.cache-warmer.de zeigt in Echtzeit, was gerade läuft. Welche Shops sind in der Queue, welche werden gewärmt, welche URLs hingen am längsten? Mit Live-Tail jedes laufenden Runs.

Live-Feed

Aktive Läufe in Echtzeit

Per Server-Sent-Events bekommst du in der Browser-Ansicht jede gewärmte URL live mit Response-Code, Antwortzeit, Cache-Status. Kein Reload, kein Polling.

Historie

30 Tage Run-Detail

Jeder Lauf bleibt 30 Tage mit allen Einzel-URLs, Antwortzeiten und Status-Codes durchsuchbar. Statistiken (Durchschnitt, P95, Median) länger gespeichert.

Statistiken

Trends pro Shop

Wird dein Shop schneller oder langsamer über die Zeit? Charts zeigen P50/P95-Antwortzeiten, Fehlerquote und Cache-Hit-Rate pro Woche, pro Monat, pro Quartal.

Login

WebAuthn / Touch ID

Login per Fingerabdruck oder Hardware-Key (FIDO2 / WebAuthn). Klassisches Passwort als Fallback. Pro User 2FA optional erzwingbar.

API

REST-API für eigene Tools

Alles, was im Dashboard sichtbar ist, gibt es auch per API: Runs starten, Status abfragen, Reports exportieren. Bearer-Token-Auth, pro User mit Scopes.

Brand

Stone-&-Water-CI

Klares, ruhiges Design: Orange für Aktionen, Navy für Daten, viel Whitespace. Auf Desktop und Mobile gleich gut bedienbar.

Was im Paket steckt.

10.000+
URLs pro Lauf, problemlos
15×
schneller durch HTTP/2-Pooling
3×
Shopware-Versionen unterstützt
Shops pro Zugang
99,9%
Uptime auf Creoline-Hosting

Drei Tarife - vom Single-Shop bis zur Agentur.

Alle Tarife enthalten die komplette Funktionspalette. Du wählst nur nach Shop-Anzahl und Volumen. Monatlich kündbar, 14 Tage kostenlos testen - ohne Kreditkarte.

Starter

Für den einzelnen Shop

Monatlich19 €

Alle Preise netto zzgl. USt. Monatlich kündbar.

  • 1 Shop
  • 5 Läufe pro Tag
  • bis 1.000 URLs pro Lauf
  • Sitemap-Auto-Discovery
  • HTTP/2-Pooling
  • E-Mail-Reports
  • 30 Tage Run-Historie

14 Tage testen

Professional

Für mehrere Storefronts

BeliebtMonatlich49 €

Alle Preise netto zzgl. USt. Monatlich kündbar.

  • bis 5 Shops
  • Unbegrenzte Läufe
  • bis 10.000 URLs pro Lauf
  • Cron, Webhook & manueller Trigger
  • E-Mail + Slack-Integration
  • REST-API mit Bearer-Token
  • WebAuthn / Touch ID Login
  • Companion-Plugin inklusive

14 Tage testen

Agency

Für Agenturen und Reseller

Monatlich149 €

Alle Preise netto zzgl. USt. Monatlich kündbar.

  • Unbegrenzte Shops
  • Zentrale Verwaltung aller Shops
  • Eigene Zeitpläne je Shop
  • Sub-User mit individuellen Rechten
  • White-Label-Reports
  • Self-Hosted-Option
  • Priority-Support & SLA
  • Unbegrenzte Run-Historie

Demo anfragen

Alle Preise zzgl. MwSt. Du brauchst mehr Volumen oder eine maßgeschneiderte Lösung? Schreib uns für ein individuelles Angebot.

Schon überzeugt?Sag uns deine Shop-URL, wir richten den Testzugang ein und melden uns mit dem ersten Report.
Jetzt starten

Sauber gebaut. Pragmatischer Stack.

Kein Marketing-Stack, sondern Tools, die wir selbst täglich nutzen. Alles läuft auf einem einzigen Creoline-Server, beobachtbar, debug-bar, ohne Vendor-Lock-in zu einem Cloud-Provider.

Kompatibilität

Shopware 6.5Shopware 6.6Shopware 6.7WooCommerceMagento 2Statische Sitemaps

Solange ein Shop eine sitemap.xml liefert, kann der Warmer ihn crawlen. Shopware-spezifisch ist nur das optionale Companion-Plugin.

Stack

Node.js 20better-sqlite3PM2HTTP/2React AdminPHP Sendmail

Single-Binary-Deployment auf Plesk-Nodejs-Runtime. Datenbank ist eine lokale SQLite-Datei - kein externer DB-Server nötig, kein Lock-in.

Datenschutz & Hosting

Der Warmer läuft auf unseren Creoline-Servern in Deutschland. Es werden nur die URLs deines Shops, ihre Antwortzeiten und Status-Codes gespeichert - keine Seiteninhalte, keine Cookies, keine Customer-Daten.

Optional auch als Self-Hosted-Variante auf deinem eigenen Server installierbar.

Architektur

Single-Node-Service mit PM2-Cluster-Modus für Lastverteilung. Run-State in lokaler SQLite, Pre-Fetch-Cache der Sitemap auf der Filesystem-Ebene. HTTP/2-Pools mit Origin-bound Connection-Limits.

Logs werden via PM2 rotiert (täglich, 14 Tage), Audit-Trail in der DB länger gespeichert.

Antworten auf die typischen Fragen.

Fast jede Frage zum Setup, zur Sicherheit oder zur Skalierung haben wir in den letzten Monaten schon einmal beantwortet. Wenn deine nicht dabei ist: kurze Mail genügt.

Was macht der Cache Warmer genau?

Der Cache Warmer ruft nach einem Cache-Flush automatisch alle URLs deines Shopware-Shops aus der sitemap.xml ab, damit die Caches - HTTP-Cache, Reverse-Proxy, Varnish, Cloudflare - wieder aufgebaut werden. Der erste echte Besucher bekommt dann sofort die schnelle, gecachte Version statt der 3-10 Sekunden langsamen Cold-Start-Antwort.

Wie viele Shops kann ich anbinden?

Im Starter-Tarif einen Shop, im Professional bis zu fünf, im Agency unbegrenzt viele. Pro Zugang können beliebig viele Sub-User mit eigenen Rechten angelegt werden - ideal für Agenturen, die mehrere Shops verwalten.

Brauche ich ein Shopware-Plugin?

Nein, nicht zwingend. Der Cache Warmer braucht nur eine erreichbare sitemap.xml. Optional gibt es ein Companion-Plugin für Shopware 6.5/6.6/6.7, das den Warmer automatisch nach jedem cache:clear, Plugin-Update oder Theme-Recompile per Webhook anstößt - sinnvoll, aber kein Muss.

Welche Daten werden gespeichert?

Nur die öffentlichen URLs deines Shops, ihre Antwortzeiten und HTTP-Status-Codes. Keine Seiteninhalte, keine Cookies, keine Kundendaten. Die Server stehen in Deutschland bei Creoline und werden DSGVO-konform betrieben. Gespeicherte HTTP-Auth-Credentials werden AES-256-GCM-verschlüsselt abgelegt.

Kann ich den Cache Warmer selbst hosten?

Ja, im Agency-Tarif ist eine Self-Hosted-Variante enthalten. Du bekommst das Node.js-Paket mit better-sqlite3 und PM2-Konfiguration und kannst es auf deinem eigenen Server (z.B. Plesk-Hosting mit Node-Runtime) deployen. Updates erhältst du im Rahmen des aktiven Abos.

Was passiert, wenn mein Server unter Last steht?

Die Concurrency pro Shop ist von 1 bis 16 parallelen Requests einstellbar. Zusätzlich kann ein Sleep zwischen den Requests konfiguriert werden, der bei 5xx-Antworten dynamisch hochgefahren wird. So bleibt die Last vorhersehbar - kein DDoS deines eigenen Servers. Bei wiederholten Timeouts wird der Lauf automatisch pausiert.

Welche Cache-Layer werden unterstützt?

Der Warmer erkennt X-Cache-Header von Varnish, Cloudflare, Shopware HTTP-Cache, Nginx FastCGI-Cache und Plesk-Caching. Im Report wird pro Lauf ausgewiesen, wie viele Seiten als Hit oder Miss ankamen - du siehst sofort, ob dein Cache-Setup richtig greift.

Gibt es einen kostenlosen Test?

Ja, 14 Tage unverbindlich auf allen Tarifen. Kein Auto-Renewal, keine Kreditkarte nötig - Trial-Account anlegen, Sitemap eintragen, ersten Lauf starten. Wenn er passt, regulär weiterbuchen; wenn nicht, einfach laufen lassen und nichts weiter tun.

Deine Frage ist nicht dabei? Schreib uns kurz, wir antworten am selben Tag.

Kontakt

Testzugang oder Demo anfragen.

Schreib uns kurz, worum es geht. Screenshots, Sitemaps oder Logfiles kannst du direkt anhängen.

JPG, PNG, WebP oder PDF - bis zu 3 Dateien, je 5 MB, zusammen 7 MB.

Kein Cold Start mehr

Lass uns über deine Cache-Strategie sprechen.

Egal ob ein einzelner Shop oder ein Agentur-Portfolio mit fünfzig Storefronts: der Cache Warmer macht den ersten Besuch nach jedem Flush genauso schnell wie den hundertsten.