Direkt zum Inhalt

Cookie-Einstellungen

Wählen Sie, welche Arten von Cookies Sie erlauben. Sie können Ihre Auswahl jederzeit über Cookie-Einstellungen unten auf jeder Seite ändern. Datenschutzerklärung

Notwendig

Immer aktiv

Nötig zum Einloggen, für Ihren Warenkorb und um Ihre Auswahl zu speichern. Diese sind immer aktiv.

Welche Cookies?
  • weboke_sessie, weboke_klant, weboke_remember: Ihre Sitzung und eingeloggt bleiben
  • weboke_basket: Ihr Warenkorb
  • wkBtwIncl: Preise mit oder ohne MwSt. anzeigen
  • wok_cookies: Ihre Cookie-Auswahl, 12 Monate

Misst, welche Anzeige zu einem Besuch oder einer Bestellung führt, damit wir nicht für Anzeigen zahlen, die nichts bringen.

Welche Cookies?
  • Google Ads über Google Tag Manager (_gcl_au, _gcl_aw), bis zu 90 Tage
  • OpenAI Ads, Anzeigen in ChatGPT
  • wok_aff: über welchen Partner Sie zu uns kamen (Partnerprogramm), 60 Tage

4,6

Land und Sprache

Jedes Land hat seine eigene Website, mit Preisen und MwSt. dieses Landes.

Anzeigen

Modul 6 · 6.2

Deutsch

Aktualisierungen, Backups und Rollen

Modul 6: Verwaltung und Sicherheit · Lesezeit: 11 Minuten

Lernziel: Nach dieser Lektion können Sie einen WooCommerce-Shop aktualisieren und sichern, ohne Bestellungen zu verlieren, und Rechte so verteilen, dass jeder nur das kann, was er wirklich braucht.

Kernbegriffe: große und kleine Aktualisierung, Datenbankaktualisierung, Erweiterungen und Kompatibilität, Template-Überschreibungen (template overrides), veraltete Templates, Backup vor der Aktualisierung, Bestellungen zwischen Backup und Wiederherstellung, HPOS-Tabellen, Rollen Shop-Manager (Shop manager) und Kunde (Customer), minimale Rechte, Versionen anzeigen, xmlrpc.php

Warum ein Shop anders ist als eine gewöhnliche Website

Im WordPress-Kurs (Lektion 7.2, 8.1 und 8.2) steht, wie Sie WordPress aktualisieren, wie Sie Backups erstellen und wie Sie sie wiederherstellen. Bei einem Shop gilt all das ebenfalls, mit einem großen Unterschied: Die Datenbank ändert sich den ganzen Tag. Jede Bestellung, jeder Kunde, jede Bestandsänderung und jede Zahlung landet darin. Bei einer Informationswebsite verlieren Sie mit einem Backup von gestern höchstens einen Beitrag. Bei einem Shop verlieren Sie Bestellungen, die bereits bezahlt sind.

Deshalb gelten in dieser Lektion zwei Faustregeln:

  1. Die Wiederherstellung ist bei einem Shop der letzte Schritt, nicht der erste.
  2. Aktualisieren Sie nach Plan, nicht "mal eben zwischendurch am Freitagnachmittag".

Aktualisierungen von WooCommerce

WooCommerce veröffentlicht regelmäßig neue Versionen, dazwischen kleine Fehlerbehebungen. Die Versionsnummer besteht aus drei Teilen, zum Beispiel 11.2.2. Eine Änderung der letzten Zahl ist eine kleine Fehlerbehebung oder ein Sicherheitsupdate; eine Änderung der ersten oder zweiten Zahl bringt neue Funktionen und manchmal Änderungen, an die Erweiterungen oder Ihr Theme angepasst werden müssen.

Bei einer Aktualisierung von WooCommerce passieren drei Dinge, die Sie bei einem gewöhnlichen Plugin seltener sehen:

  • Eine Datenbankaktualisierung. Manchmal muss WooCommerce die Tabellen anpassen. Sie sehen dann im Backend einen Hinweis, dass die Datenbank aktualisiert wird; das läuft im Hintergrund über die geplanten Aktionen (Lektion 7.3). Brechen Sie das nicht ab und prüfen Sie unter WooCommerce > Status, ob es abgeschlossen ist.
  • Erweiterungen müssen mitziehen. Zahlungsplugins, Versandanbindungen und Buchhaltungsanbindungen geben an, bis zu welcher WooCommerce-Version sie getestet sind. In der Plugin-Übersicht sehen Sie eine Warnung, wenn eine Erweiterung eine neuere Version nicht nennt. Lesen Sie die Änderungen Ihres Zahlungsplugins, bevor Sie aktualisieren: Ein Zahlungsplugin, das nicht mehr funktioniert, bedeutet einen Shop, der nicht verkauft.
  • Template-Überschreibungen. Viele Themes haben eigene Kopien von WooCommerce-Templates (der Ordner woocommerce/ im Theme). Ändert WooCommerce das Original, wird die Kopie veraltet. Unter WooCommerce > Status (Systemstatus) steht unten beim Theme, welche Templates es überschreibt und welche veraltet sind. Veraltete Templates können neue Felder vermissen lassen oder Fehler verursachen. Aktualisieren Sie das Theme oder bitten Sie den Entwickler um ein Update.

Kleine Aktualisierungen (letzte Zahl) spielen Sie am besten schnell ein, idealerweise automatisch, weil sie oft Sicherheitslücken schließen. Große Aktualisierungen testen Sie zuerst auf Staging (Lektion 7.3), zu einem ruhigen Zeitpunkt und mit einem Backup direkt vorher.

Backups: Was bei einer Wiederherstellung verloren geht

Ein Beispiel. Theehuis Example erstellt jede Nacht um 03.00 Uhr ein Backup. Am Dienstag um 10.00 Uhr aktualisiert der Administrator WooCommerce, und danach zeigt die Produktseite einen Fehler. Zwischen 03.00 und 10.00 Uhr sind sechs Bestellungen eingegangen, bezahlt über den Zahlungsanbieter. Stellen Sie jetzt das Backup von 03.00 Uhr wieder her, dann:

  • sind diese sechs Bestellungen aus der Datenbank verschwunden, obwohl das Geld beim Anbieter liegt;
  • weiß der Shop nicht mehr, dass der Bestand niedriger ist;
  • erhält der Shop später womöglich noch Meldungen (Webhooks) des Anbieters zu Bestellungen, die er nicht kennt.

Deshalb:

  • Erstellen Sie direkt vor einer Aktualisierung ein Backup, nicht nur nachts. Dann ist die Lücke so klein wie möglich.
  • Notieren Sie bei einer Wiederherstellung, welche Bestellungen nach dem Backup eingegangen sind (aus den Mails "Neue Bestellung" und dem Dashboard Ihres Anbieters), und erfassen Sie sie danach von Hand neu, oder exportieren Sie sie vorher.
  • Stellen Sie möglichst nur die Dateien wieder her (den alten Plugin- oder Theme-Ordner), wenn das Problem im Code liegt, und lassen Sie die Datenbank unverändert. Eine Aktualisierung lässt sich oft rückgängig machen, indem Sie die vorherige Version des Plugins installieren; der WordPress-Kurs, Lektion 8.2, zeigt, wie Sie gezielt wiederherstellen. Hat die Aktualisierung die Datenbank bereits angepasst, funktioniert die alte Version damit möglicherweise nicht mehr: deshalb zuerst auf Staging testen.
  • Sichern Sie häufiger als bei einer gewöhnlichen Website: Ein Shop mit Bestellungen über den ganzen Tag braucht mindestens täglich, besser öfter ein Datenbank-Backup und eine Kopie außerhalb des Servers (3-2-1-Regel, WordPress-Kurs Lektion 8.1).

Seit WooCommerce 8.2 liegen Bestellungen bei neuen Shops in eigenen Tabellen (HPOS, Lektion 1.2), zum Beispiel wp_wc_orders. Ein Backup-Plugin, das nur "Beiträge" sichert oder Tabellen nach Namen auswählt, muss auch diese Tabellen erfassen. Prüfen Sie bei einem Wiederherstellungstest (WordPress-Kurs, Lektion 8.2), ob die Bestellungen wirklich enthalten sind.

Bei WebOké erstellt WebOké Backups jede Nacht ein Backup, das 30 Tage lang in einem anderen Rechenzentrum aufbewahrt wird (DA 16.1); zusätzlich können Sie vor einer Aktualisierung selbst ein Backup in DirectAdmin oder Installatron erstellen. Bei anderen Hostern funktioniert das ähnlich; fragen Sie nach, wie oft und wie lange gesichert wird.

Rollen: Wer darf was

WooCommerce fügt WordPress zwei Rollen hinzu (WordPress-Kurs, Lektion 3.3):

  • Kunde (Customer): ein Kunde mit Konto. Kann nur seine eigenen Bestellungen und Daten sehen. Geben Sie dieser Rolle nie Verwaltungsrechte.
  • Shop-Manager (Shop manager): kann Produkte, Bestellungen, Kunden, Gutscheine und die Einstellungen von WooCommerce verwalten, aber keine Plugins installieren und das Theme nicht ändern.

Für Mitarbeitende, die Bestellungen verpacken, Kundenfragen beantworten oder Produkte erfassen, reicht Shop-Manager. Administrator ist nur für diejenigen, die sich um die Technik kümmern. Jede Person bekommt ein eigenes Konto mit Zwei-Faktor-Authentifizierung (WordPress-Kurs, Lektion 7.3); kein gemeinsames Konto "Shop". Ein Shop-Manager sieht alle Kundendaten, entfernen Sie Konten also, wenn jemand das Unternehmen verlässt.

API-Schlüssel (Lektion 2.4) sind ebenfalls eine Form von Rechten: Geben Sie einer Anbindung nur Lesezugriff, wenn sie nichts schreiben muss, und löschen Sie Schlüssel, die nicht mehr verwendet werden.

Was Ihr Shop allen zeigt

Angreifer suchen nach Shops mit einer alten WooCommerce-Version oder einem Zahlungsplugin mit bekannter Sicherheitslücke. WooCommerce setzt standardmäßig eine Zeile <meta name="generator" content="WooCommerce 11.2.2"> in den Quellcode, und die Version steht auch hinter Stylesheets (?ver=). Verbergen bringt wenig, aktualisieren viel. Ein Shop, der auf dem neuesten Stand ist, muss sich um eine sichtbare Versionsnummer kaum Sorgen machen. Ein Shop, der hinterherhinkt, verrät sich damit.

Die Datei xmlrpc.php ist eine alte Schnittstelle, über die sich Apps bei WordPress anmelden. Sie wird häufig missbraucht, um Passwörter zu erraten. Nutzen Sie keine App und keinen Dienst, der sie benötigt, dann sperren Sie sie (bei WebOké ist sie standardmäßig gesperrt, KB 169). Eine offene xmlrpc.php antwortet auf einen gewöhnlichen Aufruf im Browser mit "XML-RPC server accepts POST requests only." und Status 405. Gesperrt ergibt 403 oder 404.

Zusammenfassung

  • Eine Shopdatenbank ändert sich den ganzen Tag: Eine Wiederherstellung kostet Bestellungen, die bereits bezahlt sind.
  • Kleine Aktualisierungen schnell, große zuerst auf Staging; achten Sie auf die Datenbankaktualisierung, auf Erweiterungen und auf veraltete Templates unter WooCommerce > Status.
  • Backup direkt vor einer Aktualisierung und häufiger als bei einer gewöhnlichen Website; prüfen Sie, dass die Bestelltabellen mitgesichert werden.
  • Mitarbeitende erhalten Shop-Manager, nicht Administrator; jede Person ein eigenes Konto mit Zwei-Faktor-Authentifizierung.
  • Versionen verbergen hilft wenig, aktualisieren viel; sperren Sie xmlrpc.php, wenn Sie es nicht nutzen.

Quiz

1. Nach einer Aktualisierung zeigt Ihr Shop um 10.00 Uhr einen Fehler. Das letzte Backup ist von 03.00 Uhr. Was ist das größte Risiko, wenn Sie das komplette Backup wiederherstellen?



2. Wo sehen Sie, ob Ihr Theme veraltete WooCommerce-Templates verwendet?



3. Ein Mitarbeiter verpackt Bestellungen und beantwortet Kundenfragen. Welche Rolle passt?



4. Was bedeutet Status 405 mit dem Text "XML-RPC server accepts POST requests only.", wenn Sie /xmlrpc.php im Browser öffnen?



Aufgabe

Aufgabe A6.2: Zeigt Ihr Shop Versionen an? Geben Sie die Adresse Ihres Shops ein, Ihre WordPress-Version (Dashboard > Aktualisierungen) und Ihre WooCommerce-Version (Plugins). Das Programm ruft die Startseite und den Feed ab sowie die Datei /wp-content/plugins/woocommerce/readme.txt (nur die ersten 2 kB, die Zeile "Stable tag"). Es sucht Versionsnummern von WordPress und WooCommerce in den Generator-Zeilen und hinter ?ver= bei den Stylesheets von WooCommerce und fragt bei wordpress.org die neuesten Versionen ab. Grün, wenn Ihre Versionen die neuesten sind und das Sichtbare damit übereinstimmt. Orange, wenn nur eine kleine Aktualisierung aussteht oder die Version sichtbar, aber aktuell ist. Rot, wenn Sie eine große Version zurückliegen, wenn die sichtbare Version von Ihrer Eingabe abweicht (es läuft etwas anderes, als Sie denken) oder bei ungültiger Eingabe.

Aufgabe A6.2: Zeigt Ihr Shop Versionen an?




Was Sie eingeben und was wir finden, speichern wir nicht. Ihr Browser merkt sich Ihre Antworten und ob Sie die Aufgabe bestanden haben. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe (fast) richtig hatten; auch das können Sie dort löschen.

Aufgabe A6.2b: Ist xmlrpc gesperrt? Geben Sie die Adresse Ihres Shops ein und setzen Sie ein Häkchen, wenn Sie eine App oder einen Dienst nutzen, der xmlrpc.php benötigt. Das Programm ruft /xmlrpc.php mit einem gewöhnlichen GET ab, ohne etwas zu senden. Grün bei 401, 403, 404, 410, einer Weiterleitung oder einer gewöhnlichen HTML-Seite. Rot bei 405 mit dem Text "XML-RPC server accepts POST requests only." ohne Häkchen; orange, wenn Sie angegeben haben, dass Sie es benötigen. Es prüft außerdem, ob die Liste der Benutzernamen über /wp-json/wp/v2/users öffentlich ist (orange, wenn Namen sichtbar sind).

Ein grünes Häkchen bedeutet, dass diese Prüfung jetzt stimmt, nicht, dass Ihr Shop sicher ist.

Aufgabe A6.2b: Ist xmlrpc gesperrt?



Was Sie eingeben und was wir finden, speichern wir nicht. Ihr Browser merkt sich Ihre Antworten und ob Sie die Aufgabe bestanden haben. Sind Sie angemeldet, speichern wir in Meine Kurse nur, dass Sie die Aufgabe (fast) richtig hatten; auch das können Sie dort löschen.

Weiterführende Informationen

Schritte in einem Panel gelten für WebOké; bei anderen Anbietern funktioniert es ähnlich.

Einen Moment bitte…

Richten Sie Ihre Domains ein

Legen Sie für jede Domain die Nameserver, die Verknüpfung mit Ihrem Hosting und den künftigen Inhaber fest.

Ihre Domains werden geladen…