Fehler in einem Mitgliederbereich bemerken meist zuerst Ihre Kunden. Sie melden sich per E-Mail, oft verärgert, weil sie bezahlt haben und nicht weiterkommen. Wer dann erst nach der Ursache suchen muss, verliert Zeit und Vertrauen.

Die folgenden 17 Fehler begegnen uns in Kursprojekten immer wieder. Sie stehen hier mit der Meldung oder dem Symptom, unter dem man danach sucht, mit der häufigsten Ursache und mit dem Weg zur Lösung. Die meisten betreffen Kurssysteme auf WordPress-Basis, viele davon treten auf jeder Plattform auf.

Kauf und Zugang

1. Der Kunde hat bezahlt, kommt aber nicht in den Kurs

Der häufigste Fehler überhaupt, mit meist einer von drei Ursachen. Der Kunde hat beim Bezahlen eine andere E-Mail-Adresse verwendet als bei der Anmeldung, das Produkt beim Zahlungsanbieter ist keinem Kurs zugeordnet, oder die Kaufbenachrichtigung hat die Website nie erreicht. Schauen Sie zuerst in das Protokoll der eingegangenen Benachrichtigungen in Ihrem Kurssystem. Fehlt der Kauf dort, liegt das Problem zwischen Zahlungsanbieter und Website. Steht er dort, liegt es an der Zuordnung oder an der Adresse.

2. Die Kaufbenachrichtigung kommt nicht an

Digistore24, Stripe, CopeCart und andere melden jeden Kauf per Webhook an Ihre Website. Kommt die Meldung nicht an, blockiert sie häufig eine Sicherheitserweiterung wie Wordfence, ein Passwortschutz auf der Testumgebung oder eine falsch eingetragene Adresse mit oder ohne www. Im Protokoll des Zahlungsanbieters sehen Sie, welchen Statuscode Ihre Website zurückgegeben hat. Ein 403 deutet auf eine Firewall, ein 404 auf eine falsche Adresse, ein 500 auf einen Fehler im Plugin. Wie die Einrichtung bei Digistore24 Schritt für Schritt aussieht, beschreibt hafenstudios in einer Anleitung zur IPN.

3. „No signatures found matching the expected signature for payload“

Diese Meldung kommt von Stripe und bedeutet, dass die Signaturprüfung des Webhooks fehlschlägt. Fast immer ist eines von zwei Dingen schuld. Entweder gehört das hinterlegte Signing Secret zu einem anderen Endpunkt oder zum Testmodus, oder ein Plugin oder Proxy verändert den Inhalt der Anfrage, bevor er geprüft wird. Die Prüfung braucht den Rohinhalt Byte für Byte. Bei Digistore24 zeigt sich dasselbe Problem als abgelehnte IPN, wenn die Passphrase auf beiden Seiten nicht übereinstimmt.

4. Der Zugang bleibt nach einer Rückerstattung offen

Viele Systeme reagieren auf den Kauf und übersehen die Rückbuchung. Prüfen Sie, welche Ereignisse Ihr System verarbeitet: Rückerstattung, Rücklastschrift und ausbleibende Abo-Zahlung sollten den Zugang sperren. Eine Kündigung sollte den Zugang dagegen bis zum Ende des bezahlten Zeitraums bestehen lassen. Wer bei der Kündigung sofort sperrt, erzeugt berechtigte Beschwerden.

5. Doppelte Konten für denselben Kunden

Ein Kunde kauft den zweiten Kurs mit seiner privaten Adresse, den ersten hatte er mit der geschäftlichen gekauft. Jetzt hat er zwei Konten und sieht in jedem nur einen Kurs. Hier hilft Organisation mehr als Technik: Bieten Sie im Mitgliederkonto die Möglichkeit, die E-Mail-Adresse zu ändern, und führen Sie doppelte Konten von Hand zusammen, indem Sie die Zugänge auf ein Konto übertragen.

Anmeldung und Sitzung

6. Die Zugangsmail kommt nicht an

WordPress verschickt E-Mails standardmäßig über die Mailfunktion des Servers, ohne Absenderprüfung per SPF und DKIM. Gmail, Outlook und Web.de sortieren solche Mails zunehmend aus. Abhilfe schafft der Versand über einen richtigen Mailserver oder einen Transaktionsdienst wie Brevo, Postmark oder Mailgun, dazu die passenden DNS-Einträge für Ihre Domain. Achten Sie auch darauf, dass die Absenderadresse zu Ihrer Domain gehört und keine Gmail-Adresse ist.

7. Login-Schleife: nach der Anmeldung wieder auf der Anmeldeseite

Der Teilnehmer gibt seine Daten ein, die Seite lädt neu und zeigt wieder das Anmeldeformular. Häufige Ursachen sind eine Website-Adresse, die in den WordPress-Einstellungen anders lautet als die tatsächlich aufgerufene, etwa mit und ohne www oder mit http statt https, und ein Seitencache, der die Anmeldeseite zwischenspeichert. Zur selben Familie gehört die Meldung, Cookies seien blockiert oder würden vom Browser nicht unterstützt. Prüfen Sie unter Einstellungen, Allgemein, ob WordPress-Adresse und Website-Adresse übereinstimmen und mit https beginnen, und nehmen Sie Anmelde- und Kontoseiten aus dem Cache.

8. Der Link zum Zurücksetzen des Passworts ist ungültig

Links zum Zurücksetzen gelten bei WordPress 24 Stunden, und jede neue Anforderung macht den vorherigen Link ungültig. Wer zweimal auf „Passwort vergessen“ klickt und dann die erste Mail öffnet, landet bei dieser Meldung. Bei Einmal-Links zur Anmeldung kommt eine zweite Ursache hinzu: Manche Mailprogramme und Virenscanner rufen Links vorab zur Prüfung auf und verbrauchen sie dabei. Zuverlässiger sind Systeme, die den Link erst beim Klick auf einen Button auf der Zielseite einlösen.

9. Teilnehmer werden ständig abgemeldet

Die Meldung, die Sitzung sei abgelaufen, erscheint oft, wenn Teilnehmer zwischen der Adresse mit und ohne www wechseln, weil Anmeldecookies an die genaue Adresse gebunden sind. Ebenso häufig beenden Sicherheitserweiterungen Sitzungen nach kurzer Zeit oder bei wechselnder IP-Adresse, was Teilnehmer im Mobilfunknetz ständig trifft. Prüfen Sie die Einstellungen Ihrer Sicherheitserweiterung und leiten Sie alle Adressvarianten per 301 auf eine einzige um.

Kursbetrieb

10. Kursseiten oder Lektionen zeigen „Seite nicht gefunden“

Nach der Installation eines Kurssystems oder nach einem Umzug liefern Kurs- und Lektionsseiten einen 404-Fehler, obwohl sie im Backend vorhanden sind. Die Ursache sind fast immer veraltete Umleitungsregeln. Öffnen Sie Einstellungen, Permalinks und klicken Sie ohne weitere Änderung auf „Änderungen speichern“. WordPress baut die Regeln dabei neu auf, und die Seiten sind wieder erreichbar.

11. „Der Link, dem Sie gefolgt sind, ist abgelaufen“

Diese Meldung erscheint, wenn ein Formular oder eine Aktion mit einem Sicherheitsschlüssel abgeschickt wird, der nicht mehr gültig ist. Im Kursbetrieb passiert das beim Absenden eines Quiz oder beim Abschließen einer Lektion, wenn die Seite viele Stunden offen war oder aus einem Cache stammt. Bei Aktionen über die REST-Schnittstelle lautet die verwandte Meldung „Cookie-Prüfung fehlgeschlagen“. Die Lösung liegt fast immer im Cache: Seiten für angemeldete Nutzer dürfen nicht zwischengespeichert werden.

12. Der Fortschritt wird nicht gespeichert

Der Teilnehmer markiert eine Lektion als erledigt, und beim nächsten Besuch ist der Haken weg. Oder er sieht den Fortschritt eines anderen Teilnehmers. Beides ist ein Cache-Problem, das zweite zusätzlich ein Datenschutzproblem. Prüfen Sie, ob Ihr Caching-Plugin, der Cache des Hosters und ein vorgeschaltetes CDN angemeldete Nutzer ausnehmen. Testen Sie nach jeder Änderung am Cache mit zwei Testkonten in zwei verschiedenen Browsern.

13. Zeitversetzte Lektionen werden nicht freigeschaltet

Lektionen, die sich nach einer bestimmten Zahl von Tagen öffnen sollen, bleiben gesperrt, öffnen sich zur falschen Uhrzeit, oder die Benachrichtigung darüber kommt nicht. Systeme, die dafür den WordPress-Cron nutzen, hängen davon ab, dass jemand die Website aufruft. Auf wenig besuchten Seiten passiert dann lange nichts, und gar nichts mehr, wenn der Cron in der wp-config.php mit DISABLE_WP_CRON abgeschaltet wurde, ohne beim Hoster einen echten Cronjob einzurichten. Richten Sie dort einen Cronjob ein, der wp-cron.php alle fünf bis fünfzehn Minuten aufruft, und prüfen Sie die Zeitzone unter Einstellungen, Allgemein.

Videos und Dateien

14. Das Video spielt nicht: Datenschutzeinstellungen oder Fehler 153

Bei Vimeo erscheint der Hinweis, das Video könne aufgrund seiner Datenschutzeinstellungen hier nicht abgespielt werden, wenn die Einbettung auf bestimmte Domains beschränkt ist und Ihre fehlt. Oft fehlt nur die Variante mit oder ohne www oder die Testumgebung. Bei YouTube steckt hinter „Fehler 153“ meist eine fehlende Herkunftsangabe: Die einbettende Seite schickt wegen einer strengen Referrer-Policy keinen Referrer mit, häufig eingestellt durch eine Sicherheitserweiterung. Eine Policy wie strict-origin-when-cross-origin behebt das in der Regel.

15. Hochladen bricht ab: upload_max_filesize

Die Meldung, die hochgeladene Datei überschreite die Direktive upload_max_filesize in der php.ini, erscheint beim Hochladen großer Videos, Arbeitsbücher oder Audiodateien. Den Wert kann Ihr Hoster erhöhen. Videos gehören trotzdem zu einem Videodienst, weil der Webserver sie langsam ausliefert und bei vielen gleichzeitigen Zuschauern einbricht. Bei PDF-Dateien in der Mediathek lauert ein Problem, das oft übersehen wird: Sie liegen unter einer festen Adresse und sind für jeden abrufbar, der diese Adresse kennt, auch ohne Anmeldung.

Technik und Updates

16. Große Kurse speichern unvollständig oder brechen ab

Wer im Backend einen Kurs mit vielen Lektionen oder ein Quiz mit vielen Fragen speichert, verliert manchmal den hinteren Teil. Die Ursache ist die PHP-Einstellung max_input_vars, die die Zahl der Formularfelder begrenzt, meist auf 1.000. Beim Import ganzer Kurse oder beim Erzeugen von Zertifikaten erscheint stattdessen „Allowed memory size of … bytes exhausted“, dann reicht der Arbeitsspeicher für PHP nicht. Beide Werte lassen sich beim Hoster erhöhen. 3.000 bis 5.000 Eingabevariablen und 256 MB Speicher sind für Kurssysteme ein guter Ausgangswert.

17. „Es gab einen kritischen Fehler auf dieser Website“

Diese Meldung zeigt WordPress, wenn ein PHP-Fehler die Seite abbricht, häufig direkt nach einem Update des Kurssystems, einer Erweiterung oder der PHP-Version. WordPress schickt dann eine E-Mail an die Admin-Adresse mit einem Link in den Wiederherstellungsmodus, in dem die fehlerhafte Erweiterung pausiert ist. Bleibt die Mail aus, hilft die Fehlerprotokollierung über WP_DEBUG_LOG in der wp-config.php. Spielen Sie Updates von Kurssystemen deshalb nie kurz vor einem Kursstart ein, und testen Sie sie vorher auf einer Kopie der Website.

Die meisten Fehler lassen sich vor dem Start finden

Fast alle diese Fehler zeigen sich bei einem einfachen Durchlauf, bevor der erste echte Kunde sie erlebt. Kaufen Sie Ihren Kurs selbst im Testmodus des Zahlungsanbieters, mit einer frischen E-Mail-Adresse, auf dem Telefon und im Mobilfunknetz. Fordern Sie ein neues Passwort an, schließen Sie eine Lektion ab, melden Sie sich ab und wieder an, und erstatten Sie den Kauf zurück. Wer diese Runde vor jedem größeren Update wiederholt, bekommt die meisten Meldungen aus dieser Liste nie zu sehen.

Welche Anforderungen ein Kurssystem erfüllen sollte, damit viele dieser Fehler gar nicht erst auftreten, steht in unserer Prüfliste für Mitgliederbereiche. Wie wir selbst Kaufbenachrichtigungen, Kündigungen und Rückerstattungen behandeln, zeigt unser Beitrag über MemberJet im Einsatz. MemberJet und hafenstudios gehören zum selben Betreiber wie Charming Media.

Kategorien: Seminare