PrestaShop aktualisieren, ohne den Shop zu beschädigen: Schritt für Schritt
Von 8.1 auf 8.2 oder von 9.0 auf 9.1 ist kein großer Versionssprung, aber auch kein Knopfdruck. Wir zeigen, wie Sie es vorbereiten, wie Sie es in einer Kopie proben, was während des Assistenten schiefgehen kann und was Sie prüfen sollten, bevor Sie den Shop für gut befinden.
Um PrestaShop zu aktualisieren, ohne den Shop zu beschädigen, gilt immer dieselbe Reihenfolge: vollständiges Backup von Dateien und Datenbank, Probe des Updates in einer Kopie des Shops, echtes Update in einem Zeitfenster mit wenig Traffic und Prüfung von Checkout, E-Mail und Modulen, bevor die Arbeit als erledigt gilt. Der offizielle Assistent übernimmt den mechanischen Teil; was die Schreckmomente verhindert, ist alles drumherum.
In diesem Artikel geht es um „Wartungsupdates“: innerhalb desselben Zweigs (8.1 auf 8.2) oder auf die nächste Nebenversion (9.0 auf 9.1). Ein Sprung von 1.6 oder 1.7 auf 9 ist etwas anderes, ein Migrationsprojekt, und das behandeln wir gesondert.
Aktualisieren oder migrieren: nicht dasselbe
Die Begriffe werden synonym verwendet, sind es aber nicht, und wer sie verwechselt, plant schlecht:
- Aktualisieren heißt, den PrestaShop-Kern im selben Shop durch eine neuere Version zu ersetzen. Daten, Theme und Module bleiben; die Datenbank wird mit den Skripten der neuen Version angepasst.
- Migrieren heißt, den Shop auf eine Version mit tiefgreifenden Änderungen (oder auf einen anderen Server) zu bringen, wobei Theme, ein Teil der Module und die Overrides neu gebaut werden und vor allem die Daten erhalten bleiben.
Zwischen nahen Versionen ist Aktualisieren der Normalfall und empfehlenswert. Je länger man es aufschiebt, desto mehr ähnelt jedes Update einer Migration: mehr Module ohne kompatible Version, mehr angesammelte Änderungen im Theme und ein größerer Abstand bei der PHP-Version.
Bevor Sie etwas anfassen: das Inventar
Zehn Minuten Inventar sparen am Tag des Updates Stunden. Notieren Sie:
- Aktuelle PrestaShop- und PHP-Version und welche PHP-Version die Zielversion verlangt. Prüfen Sie zuallererst die Anforderungen dieser Version: Erfüllt der Server sie nicht, kommt zuerst der PHP-Wechsel, ebenfalls in einer Kopie getestet.
- Theme: ob es das Standard-Theme, ein Child-Theme oder ein gekauftes Theme ist und ob jemand seine Templates direkt bearbeitet hat.
- Module von Drittanbietern, mit ihrer Version und ob der Autor Kompatibilität mit der Zielversion angibt.
- Overrides im Ordner
override/: Jeder ist Code, der einen Teil des Kerns ersetzt und möglicherweise nicht mehr passt. - Manuelle Änderungen an Kerndateien: hinzugefügte Zeilen in
config/, Regeln in der.htaccess, Passwortschutz des Admin-Ordners. Das Update überschreibt sie. - Integrationen, die den Shop aufrufen: ERP, Marktplätze, Versanddienstleister, der Webservice.
Das vollständige und geprüfte Backup
Der Update-Assistent bietet an, ein eigenes Backup zu erstellen, und das ist gut so, aber es sollte nicht das einzige sein. Erstellen Sie vor dem Start ein eigenes Backup aller Dateien und der Datenbank, speichern Sie es außerhalb des Servers und prüfen Sie, dass es sich wiederherstellen lässt. Ein Backup, das nie jemand wiederhergestellt hat, ist eine Hoffnung, kein Backup.
Die Probe in einer Kopie des Shops
Die Regel, die den meisten Ärger erspart: Das Update wird zuerst in einer Kopie durchgeführt, auf einem anderen Server oder in einer lokalen Umgebung, mit denselben Dateien und derselben Datenbank wie die Produktivumgebung. Dort sieht man, welches Modul ausfällt, welches Theme-Template einen Fehler wirft und wie lange der Vorgang dauert, und genau diese Angabe brauchen Sie, um das richtige Zeitfenster zu wählen.
In der Kopie sollte alles deaktiviert werden, was nach außen wirken kann: die E-Mail (sie soll in ein Testpostfach gehen und nicht an Ihre Kunden), die Zahlungs-Gateways (im Testmodus), die geplanten Aufgaben, die mit Dritten kommunizieren, und die Integrationen, die Bestellungen an das ERP senden. Eine Kopie des Shops mit echter E-Mail-Konfiguration kann mit einer einfachen Änderung des Bestellstatus echte Kunden anschreiben.
Während des Updates: was wir scheitern sahen
Der offizielle Assistent von PrestaShop (das 1-Klick-Update-Modul) funktioniert in den meisten Shops gut, aber in echten Shops wiederholen sich bestimmte Situationen:
- Den Browser mittendrin schließen. Der Assistent arbeitet sich Schritt für Schritt von der Backoffice-Seite selbst voran. Wird der Tab geschlossen oder bricht die Verbindung ab, bleibt der Vorgang stehen. Lassen Sie den Computer verbunden und unberührt, bis er fertig ist; wird er unterbrochen, lässt er sich über die Konsole fortsetzen, aber besser kommt es gar nicht so weit.
- Integrationen, die weiter aufrufen. Der Wartungsmodus verbirgt den Shop vor den Kunden, schaltet aber den Webservice nicht ab. Ein ERP, das während des Updates weiter synchronisiert, kann den Cache neu erzeugen, während der Assistent ihn löscht, und der Vorgang bricht ab. Pausieren Sie die Integrationen vor dem Start.
- Wenig Speicher auf der Konsole. Bei manchen Hostern hat das PHP der Kommandozeile weniger Speicher als das des Webservers. Wird das Update über die Konsole gestartet, prüfen Sie vorher dieses Limit.
- Ersetzte Kerndateien. Das Update ersetzt Dateien wie
config/config.inc.phpoder die.htaccessdes Admin-Ordners. Was dort von Hand ergänzt wurde, verschwindet ohne Hinweis, einschließlich eines Passwortschutzes für das Panel. Sichern Sie es vorher und stellen Sie es danach wieder her. - Unvollständige Datenbank. Bei einem Update auf eine Nebenversion haben wir erlebt, dass dem aktualisierten Shop Tabellen oder Einstellungen fehlten, die eine Neuinstallation dieser Version mitbringt, und die Shopfront auf vielen Seiten fehlschlug. Deshalb muss die Probe den ganzen Shop durchlaufen, nicht nur die Startseite.
Am Ende ist es normal, dass das Backoffice die Sitzung beendet: Sie müssen sich neu anmelden.
Nach dem Update: die Checkliste
Ein Update ist nicht abgeschlossen, wenn der Assistent meldet, dass alles gut gegangen ist, sondern wenn Sie Folgendes geprüft haben:
| Was prüfen | Wie | Warnsignal |
|---|---|---|
| Cache | Ihn im Backoffice leeren und, falls nötig, den Ordner var/cache | Seiten, die Altes zeigen, oder Fehler, die beim Neuladen verschwinden |
| Theme | Startseite, Kategorie, Produktseite, Warenkorb, Checkout und Kundenkonto durchgehen, auf Smartphone und Desktop | Verschwundene Blöcke, unübersetzte Texte, Template-Fehler |
| Module | Die Konfiguration jedes wichtigen Moduls öffnen | Weiße Seiten, Versionswarnungen, Module, die sich selbst deaktiviert haben |
| Overrides | Prüfen, ob sie noch nötig und kompatibel sind | Fehler, die nur bei einer bestimmten Aktion auftreten (ein Produkt speichern, eine Bestellung bestätigen) |
| Checkout | Eine Testbestellung mit jeder Zahlungs- und Versandart | Zahlung eingezogen, aber keine Bestellung angelegt, fehlende Versanddienstleister |
| Prüfen, ob die Bestätigungs-E-Mail der Testbestellung ankommt | E-Mails, die nicht verschickt werden oder ohne Vorlage ankommen | |
| Protokolle | In den ersten Stunden die PHP- und PrestaShop-Logs ansehen | Neue Fehler, die es vor dem Update nicht gab |
| Integrationen | Sie wieder aktivieren und die erste Synchronisierung bestätigen | Bestellungen, die nicht im ERP ankommen, Bestand, der sich nicht aktualisiert |
Wie oft aktualisieren
Wartungsversionen beheben Fehler und oft auch Sicherheitsprobleme. Gesund ist es, nicht viel Zeit verstreichen zu lassen, nachdem eine Version Ihres Zweigs erscheint, mit der üblichen vorherigen Probe. Ein Shop, der regelmäßig aktualisiert wird, hat kleine und vorhersehbare Updates; einer, der nur alle paar Jahre angefasst wird, sammelt Änderungen an, und jedes Update wird zum Projekt.
Dasselbe gilt für Module und PHP: Schritt für Schritt auf dem Laufenden zu bleiben ist günstiger, als alles auf einmal nachzuholen. Wurde der Shop lange nicht angefasst, ist es klug, mit einer Prüfung zu beginnen, die zeigt, was installiert ist und welche Reihenfolge sinnvoll ist.
Wann Sie Hilfe holen sollten
Ein kleineres Update in einem Shop mit Standard-Theme und wenigen Modulen kann jemand mit Backoffice-Erfahrung durchführen, immer mit Backup und Probe. Ein Techniker sollte es übernehmen, wenn es Overrides gibt, ein stark angepasstes Theme, Integrationen mit ERP oder Marktplätzen oder ein Bestellvolumen, bei dem der Shop nicht einmal einen Vormittag ausfallen darf. Im Service PrestaShop-Migrationen und -Updates führen wir die Probe in einer Kopie durch, sagen Ihnen, was kaputtgeht, bevor wir die Produktivumgebung anfassen, und übergeben den Shop geprüft. Und wenn sich lieber jemand regelmäßig darum kümmern soll, umfasst die PrestaShop-Wartung die Updates mit Backup und Prüfung.
Häufige Fragen
Kann man PrestaShop aktualisieren, ohne Daten zu verlieren?
Ja. Ein Update behält Produkte, Kunden und Bestellungen, weil es die bestehende Datenbank anpasst. Machen Sie trotzdem immer vorher ein vollständiges Backup: Es schützt Sie, wenn der Vorgang unterbrochen wird.
Wie lange dauert ein PrestaShop-Update?
Das hängt von der Größe des Shops und vom Server ab. Die Probe in einer Kopie liefert Ihnen die tatsächliche Dauer, und damit wählen Sie ein Zeitfenster mit wenig Traffic für die Produktivumgebung.
Muss ich auch die Module aktualisieren?
Normalerweise ja, vor allem die, die der Autor nur für bestimmte Versionen als kompatibel kennzeichnet. Prüfen Sie die Kompatibilität jedes Moduls, bevor Sie den Kern aktualisieren.
Was tue ich, wenn das Update mittendrin fehlschlägt?
Starten Sie es nicht blind erneut. Prüfen Sie, bei welchem Schritt es stehen geblieben ist: Manchmal lässt es sich fortsetzen, und falls nicht, wird das Backup wiederhergestellt und die Probe wiederholt, um herauszufinden, was es gestoppt hat.