Fehler in Ihrem Onlineshop: wie Sie sie vor Ihren Kunden bemerken
Die meisten Shops erfahren von einem Fehler durch einen verärgerten Kunden. Wir gehen durch, was Sie überwachen sollten, wo Sie nachsehen, wenn etwas schiefgeht, und wie Sie Benachrichtigungen einrichten, die informieren, ohne Ihr Smartphone zu überfluten.
An einem Montagmorgen schreibt ein Kunde: „Ich wollte am Samstag bezahlen, und es ging nicht.“ Sie prüfen und stellen fest, dass der Bezahl-Button tatsächlich seit Freitagabend nichts tat. Ein Modul-Update, ein Skript des Zahlungsanbieters, das nicht lud, oder ein abgelaufenes Zertifikat. Zwei Tage verlorene Verkäufe, und Sie haben es erfahren, weil sich ein Kunde die Mühe gemacht hat, Bescheid zu geben. Die meisten sagen nichts: Sie gehen.
Was ausfallen kann, ohne dass Sie es sehen
- 500-Fehler auf bestimmten Seiten: eine Produktseite, eine Kategorie, der Warenkorb. Die Startseite funktioniert, und Sie glauben, alles läuft.
- PHP-Fehler nach einem Update der PHP-Version, eines Moduls oder des Themes. Bei ausgeschaltetem Debug-Modus sieht der Kunde eine leere Seite oder einen allgemeinen Fehler.
- JavaScript-Fehler im Checkout. Der Server antwortet korrekt, aber ein Skript scheitert im Browser, und der Bezahl-Button reagiert nicht. Der Server bekommt davon nichts mit.
- Zahlungen ohne Bestellung: Der Kunde zahlt, der Zahlungsanbieter bucht ab, und der Shop legt die Bestellung nicht an, weil die Benachrichtigung nicht ankam.
- Beträge, die nicht übereinstimmen, zwischen Kassiertem und Bestellsumme.
- Angehaltene geplante Aufgaben: Der Cronjob, der Bestand synchronisiert, E-Mails versendet oder die Sitemap neu erzeugt, läuft nicht mehr.
- Erschöpfter Speicher oder Zeitüberschreitungen bei langen Prozessen.
Wo Sie nachsehen, wenn etwas schiefgeht
- Logs des Webservers (Error-Log von Apache oder Nginx) und von PHP.
- Logs von PrestaShop: Erweiterte Einstellungen → Logs, und ab PrestaShop 1.7 der Ordner
var/logs. - Der Debug-Modus (
_PS_MODE_DEV_inconfig/defines.inc.php), der den vollständigen Fehler zeigt. Lassen Sie ihn in der Produktion nie für alle aktiv: Er zeigt Pfade und interne Details. - Die Browser-Konsole (F12) im Checkout, für die JavaScript-Fehler.
- Das Panel des Zahlungsanbieters, um Abbuchungen mit Bestellungen zu vergleichen.
Externe Überwachung: das Minimum
Ein Dienst, der Ihren Shop alle paar Minuten aufruft und Sie benachrichtigt, wenn er nicht antwortet, erkennt den Totalausfall. Das ist unverzichtbar, aber nicht ausreichend: Er sieht keinen Fehler im Warenkorb, keine fehlschlagende Zahlung und kein defektes Skript. Dafür muss man von innen überwachen.
Was ein gutes Benachrichtigungssystem haben muss
- Genug Details zum Handeln: Fehlermeldung, Datei und Zeile, URL, ob ein Kunde oder Mitarbeiter beteiligt war, PHP- und PrestaShop-Version. „Fehler 500“ ohne mehr zwingt dazu, bei null anzufangen.
- Gruppierung: Derselbe Fehler, tausendmal wiederholt, muss als ein Hinweis mit Zähler ankommen, nicht als tausend Nachrichten.
- Limit pro Stunde: Geht etwas komplett kaputt, eine Zusammenfassung statt einer Lawine.
- Priorität für das Geld: Zahlungshinweise sollten weder gruppiert noch stummgeschaltet werden, denn jeder ist eine konkrete Bestellung.
- Getrennte Kanäle: technische Fehler an den Entwickler, Zahlungen an die Person, die die Verwaltung führt.
- Sensible Daten heraus: Ein Hinweis darf keine Kartennummern, IBAN, Passwörter oder Tokens enthalten. Sie vor dem Senden zu maskieren ist Pflicht, und mit Blick auf die DSGVO auch für E-Mail-Adressen und Ausweisnummern empfehlenswert.
Warum auf dem Smartphone
Die E-Mail mit Hinweisen landet in einem Ordner, der geprüft wird, wenn es die Zeit erlaubt. Eine Nachricht in einer Messaging-App wird sofort gesehen. Telegram wird dafür viel genutzt, weil sich seine Bots in Minuten einrichten lassen, Gruppen unterstützen und nichts kosten.
Eine Routine, die funktioniert
- Nach jedem Update (von PrestaShop, PHP, einem Modul oder dem Theme) eine vollständige Testbestellung durchführen.
- Jede Woche die gruppierten Fehler der letzten sieben Tage prüfen, auch wenn sich niemand beschwert hat.
- Jeden Tag die Abbuchungen des Zahlungsanbieters mit den Bestellungen vergleichen oder das einem automatischen Abgleich überlassen.
- Jeden Monat prüfen, ob die geplanten Aufgaben weiterhin laufen.
Checkliste
- Sie haben eine externe Verfügbarkeitsüberwachung.
- Sie erhalten die PHP-Fehler und die 500er mit Details.
- Sie überwachen die JavaScript-Fehler im Checkout.
- Sie werden über Zahlungen ohne Bestellung und nicht übereinstimmende Beträge informiert.
- Die Hinweise werden gruppiert und haben ein Limit.
- Sensible Daten werden maskiert.
- Der Debug-Modus ist für die Öffentlichkeit ausgeschaltet.
Die Umsetzung in PrestaShop
RKR Sentinel sendet PHP-Fehler, Exceptions, fatale Fehler, erschöpften Speicher, Zeitüberschreitungen und 500-Antworten an Telegram, mit Meldung, Datei und Zeile, Codeauszug, Stacktrace, URL, Kunde oder Mitarbeiter, Warenkorb und Versionen, und jede Fehlerart kann an einen anderen Chat gehen. Im Browser erfasst es die JavaScript-Fehler des Checkouts, einschließlich Dateien, die nicht laden. Es überwacht fünf Zahlungsprobleme (Zahlung ohne Bestellung, Bestellung ohne Status, nicht übereinstimmender Betrag, in Zahlungsfehler hängende Bestellung und unbekannte Abbuchung, mit täglichem Abgleich gegen PayPal und Stripe mit Nur-Lese-Zugangsdaten), und Zahlungshinweise werden weder gruppiert noch stummgeschaltet. Fehler werden per Fingerabdruck mit Wiederholungszähler gruppiert, es gibt ein Nachrichtenlimit pro Stunde, und alles läuft durch einen Bereiniger, der Karten, IBAN, DNI, Tokens, Passwörter und E-Mail-Adressen maskiert. Vom Chat aus haben Sie sieben Befehle, um den Status, die Fehler, die Zahlungen, eine Bestellung oder einen Warenkorb abzufragen.