Der Feed für den Preisvergleich wurde nach dem Umzug der Website nicht mehr aktualisiert
Symptome
Ein kleinerer Onlineshop ist zu einem anderen Hosting umgezogen. Die Website funktionierte, Bestellungen kamen an, niemand bemerkte etwas. Der XML-Feed für den Preisvergleich blieb aber auf dem Stand vom Tag des Umzugs: Die Datei existierte und hatte die richtigen Einträge, sie wurde nur seit einem Monat nicht mehr erzeugt. Neue Preise, Rabatte und Produkte kamen im Preisvergleich nicht an.
Umgebung
WordPress mit WooCommerce, Shared Hosting. Den Feed erzeugt ein Plugin, das die Datei beim Speichern von Produkten nicht selbst aktualisiert. Die Erzeugung wird von außen durch einen Aufruf seiner REST-Adresse ausgelöst (/wp-json/<plugin>/v1/feed/generate/...).
Diagnose
- Das Datum der letzten Änderung der Feed-Datei zeigte den Tag des Umzugs.
- Die Preise in einer Stichprobe von Produkten stimmten. Es fehlten nur neuere Änderungen, es war kein Fehler in den Daten. Deshalb meldete sich nichts.
- WP-Cron funktionierte, und in den geplanten Aufgaben von WordPress schlug nichts fehl. Die Erzeugung plant WordPress nämlich überhaupt nicht.
- In der Dokumentation des Plugins steht, dass es einen externen Cron auf seine REST-Adresse braucht. Dieser war in der Verwaltung des alten Hostings eingerichtet und wurde mit der Website nicht übertragen, weil er weder in den Dateien noch in der Datenbank steckt.
- Ein manueller Aufruf der Adresse lieferte
{"result":"done"}in etwa 0,7 s, und die Datei wurde neu erzeugt.
Ursache
Die geplante Aufgabe war Teil des Hostings, nicht der Website. Der Umzug übertrug Dateien und Datenbank, aber an die Aufgaben im Planer des Hostings hatte niemand gedacht.
Was droht, wenn man nichts tut
Der Preisvergleich zeigt weiter alte Preise und Ware, die nicht mehr auf Lager ist. Der Kunde klickt auf einen Rabatt, der nicht gilt, und geht verärgert. Wegen abweichender Preise kann der Preisvergleich den Shop abstrafen oder auslisten. Genauso still hören nach einem Umzug auch andere geplante Aufgaben auf zu laufen: Backups, das Stornieren unbezahlter Bestellungen, E-Mails. Meist merkt man es erst nach Wochen.
Reparatur
- Den Feed haben wir manuell durch einen Aufruf der REST-Adresse neu erzeugt.
- Im Aufgabenplaner des neuen Hostings haben wir eine Aufgabe hinzugefügt, die die Adresse zweimal täglich aufruft.
- Leere Dateien alter Feeds haben wir von der Website in ein Backup verschoben.
Überprüfung
Nach dem ersten geplanten Lauf hatte die Feed-Datei ein neues Datum, und die Anzahl der Einträge entsprach den veröffentlichten Produkten. Die Überprüfung haben wir am nächsten Tag wiederholt.
Vorbeugung und Lehren
Schreiben Sie vor einem Umzug alle Aufgaben im Planer des alten Hostings auf: Feeds, Backups, Lagersynchronisation und Importe. Eine Kontrolle der Website findet das nicht, weil nichts kaputtgeht, es wird nur nicht mehr aktualisiert.
Verwandte Leistungen: Notfälle und Fehler Onlineshop und Kasse