WordPress langsam? 7 versteckte Ursachen und Lösungen

Sie haben die Bilder komprimiert, den Cache aktiviert und die Plugins entfernt, die Sie nicht verwendet haben. PageSpeed scheint Ihnen sogar zuzustimmen. Aber WordPress braucht immer noch zu lange, um zu antworten.
Das Problem mit einem langsamen WordPress liegt möglicherweise nicht in dem, was der Browser herunterlädt, sondern in allem, was vorher passiert: Abfragen, die nicht abgeschlossen werden, angesammelte Aufgaben, Optionen, die unnötig geladen werden, oder blockierte Prozesse.
Die Installation eines weiteren Plugins, um WordPress zu beschleunigen, löst das Problem nicht immer. Manchmal fügt es einem WordPress, das bereits zu viel hat, nur noch mehr Arbeit hinzu. Hier sind sieben weniger sichtbare Ursachen, wie man sie erkennt und was man tun kann, um sie zu beheben.
Inhaltsverzeichnis
- Finden Sie zuerst heraus, wo die Langsamkeit auftritt
- WordPress lädt zu viele Autoload-Optionen
- WP-Cron führt zu viele Aufgaben aus
- WooCommerce hat feststeckende geplante Aktionen
- Die Datenbank sammelt abgelaufene Transienten
- Loopback-Anfragen sind blockiert
- Eine langsame Abfrage verlangsamt einen bestimmten Bildschirm
- Ein gelöschtes Plugin hat Restdaten und Aufgaben hinterlassen
- Häufig gestellte Fragen
Finden Sie zuerst heraus, wo die Langsamkeit auftritt
Beginnen Sie nicht damit, die Datenbank zu bereinigen oder Funktionen zufällig zu deaktivieren. Versuchen Sie zuerst, das Problem zu lokalisieren.
Überprüfen Sie, ob die Langsamkeit:
- Die gesamte Website oder nur eine Seite betrifft.
- Auch im Admin-Panel auftritt.
- Sich auf Produkte, Bestellungen oder WooCommerce-Prozesse konzentriert.
- Kontinuierlich oder nur zu bestimmten Zeiten auftritt.
- Mit Backups, Importen oder E-Mail-Sendungen zusammenfällt.
- Vor dem Start der Seitendarstellung auftritt.
Die Zeit, die der Server benötigt, um das erste Byte zu senden (bekannt als TTFB), kann Ihnen einen ersten Hinweis geben. Wenn die Wartezeit auftritt, bevor der Browser Inhalte empfängt, wird das Komprimieren eines weiteren Bildes das Problem wahrscheinlich nicht lösen.
Was Sie zuerst überprüfen sollten
.comparativa-table { max-width: 1200px; margin: 30px auto; border-collapse: collapse; background: white; box-shadow: 0 2px 8px rgba(0,0,0,0.1); } .comparativa-table th, .comparativa-table td { padding: 12px 15px; border: 1px solid #ddd; text-align: left; vertical-align: top; } .comparativa-table thead th { background-color: #0070C0; color: white; font-weight: bold; } .comparativa-table td:nth-child(1) { font-weight: bold; } .comparativa-table tr:nth-child(even) { background-color: #f8f8f8; } .comparativa-table td { min-width: 120px; font-size: 14px; line-height: 1.4; }| Symptom | Mögliche Ursache | Wo man es überprüfen kann |
|---|---|---|
| Die gesamte Website braucht lange, um zu laden | Autoload-Optionen oder langsame Abfragen | Site Health oder Query Monitor |
| Aufgaben laufen verspätet oder werden nicht abgeschlossen | WP-Cron oder Loopback-Anfragen | WP Crontrol oder Site Health |
| WooCommerce verzögert Bestellungen, E-Mails oder Abonnements | Feststeckende geplante Aktionen | WooCommerce → Status |
| Die Datenbank wächst kontinuierlich | Transienten oder Plugin-Reste | Datenbank-Reinigungstool |
| Nur ein Bildschirm ist langsam | Ineffiziente oder doppelte Abfrage | Query Monitor |
| Langsamkeit tritt zu bestimmten Zeiten auf | Cron, Backups oder automatische Prozesse | WP Crontrol oder Serverprotokolle |
Wenden Sie eine Änderung nach der anderen an und messen Sie erneut. Wenn Sie fünf Elemente gleichzeitig ändern, kann sich die Website verbessern, aber Sie wissen nicht, was das Problem verursacht hat oder wie Sie handeln sollen, wenn es erneut auftritt.
Um die Diagnose abzuschließen, können Sie ConnectiLogs verwenden, ein Tool von cdmon, das Serverprotokollinformationen visuell darstellt und hilft, Fehler, fehlgeschlagene Zugriffe oder verdächtiges Verhalten zu erkennen.
Bevor Sie die Datenbank oder die WordPress-Konfiguration ändern, erstellen Sie ein Backup. Wenn möglich, testen Sie die Änderungen zuerst in einer Staging-Umgebung.
WordPress lädt zu viele Autoload-Optionen
Was passiert?
WordPress speichert viele der Daten, die es zum Funktionieren benötigt, in der wp_options-Tabelle, wie z.B. Theme-Einstellungen, Plugin-Konfigurationen und andere Website-Präferenzen.
Einige dieser Optionen sind als autoload markiert, was bedeutet, dass WordPress sie automatisch lädt, jedes Mal, wenn jemand eine Seite besucht, auch wenn sie in diesem Moment nicht benötigt werden.
Dies ist kein Problem, wenn es nur wenige Daten gibt. Die Website kann langsamer werden, wenn sie Daten von Plugins ansammelt, die Sie nicht mehr verwenden, gelöschte Themes oder Tools, die mehr Informationen speichern, als nötig.
Wie man es löst
Gehen Sie zu:
Werkzeuge → Website-Zustand → Status
WordPress kann eine Warnung anzeigen, wenn es eine große Anzahl automatisch geladener Optionen erkennt.
Um deren Ursprung zu untersuchen, können Sie ein Tool wie Advanced Database Cleaner verwenden oder eine Abfrage mit WP-CLI durchführen, das in cdmon ab dem Senior-Hosting-Plan verfügbar ist, wenn Sie über technisches Wissen verfügen. Das Ziel ist nicht, die Optionen zu löschen, die am meisten Platz beanspruchen, sondern zu identifizieren, welches Plugin oder Theme sie erstellt hat.
Nur weil eine Option groß ist, bedeutet das nicht, dass sie unnötig ist: Sie kann wichtige Informationen für den Betrieb der Website speichern.
Besonders achten Sie auf:
- Einstellungen von Plugins, die Sie nicht mehr verwenden.
- Temporäre Informationen, die dauerhaft gespeichert wurden.
- Wiederholte Daten.
- Sehr schwere Konfigurationen von einem vorherigen Theme.
Sobald der Ursprung identifiziert ist, überprüfen Sie, ob das Plugin selbst eine Funktion zum Bereinigen oder Regenerieren dieser Daten enthält. Wenn es noch installiert ist, ist das Aktualisieren oder Überprüfen seiner Konfiguration in der Regel sicherer, als Datensätze manuell zu löschen.
WP-Cron führt zu viele Aufgaben aus
Was passiert?
WP-Cron ist für die geplanten Aufgaben von WordPress verantwortlich: Überprüfen von Updates, Veröffentlichen von Beiträgen, Senden von Benachrichtigungen, Ausführen von Backups oder Aktivieren von Prozessen für bestimmte Plugins.
Im Gegensatz zu serverseitig geplanten Aufgaben wird WP-Cron ausgelöst, wenn jemand die Website besucht. Daher kann es auf einer Seite mit vielen Besuchen häufiger als nötig ausgeführt werden, während auf einer mit wenig Verkehr einige Aufgaben lange dauern können, um abgeschlossen zu werden.
Das Problem liegt normalerweise nicht bei WP-Cron, sondern bei den Aufgaben, die einige Plugins diesem System hinzufügen.
Wenn geplante Beiträge nicht rechtzeitig erscheinen, E-Mails verspätet gesendet werden oder die Website immer zu bestimmten Zeiten langsamer wird, ist es möglich, dass eine dieser Aufgaben mit Fehlern oder zu häufig ausgeführt wird.
Wie man es löst
Sie können die Ereignisse mit WP Crontrol überprüfen, von:
Werkzeuge → Cron-Ereignisse
Das Tool zeigt, welche Aufgaben geplant sind, wann sie ausgeführt werden sollen und wie oft. Achten Sie auf:
- Ereignisse, die hätten ausgeführt werden sollen und verspätet erscheinen.
- Aufgaben, die sich alle paar Minuten ohne klaren Grund wiederholen.
- Automatische Aufgaben, die von Plugins erstellt wurden, die Sie bereits entfernt haben.
- Mehrere ähnliche Aufgaben, die von derselben Komponente erstellt wurden.
Löschen Sie keine Aufgabe nur, weil Sie ihren Namen nicht erkennen. Suchen Sie den Hook-Namen, um zu identifizieren, welches Plugin sie erstellt hat. Wenn die Aufgabe nach dem Löschen wieder erscheint, bedeutet das, dass ein Plugin oder eine Komponente der Website sie weiterhin plant.
Auf Websites mit hohem Verkehr oder zahlreichen automatischen Aufgaben kann es stabiler sein, deren Ausführung direkt vom Server aus zu planen, anstatt sich auf Besuche zu verlassen.
Diese Änderung muss korrekt durchgeführt werden: Wenn Sie WP-Cron deaktivieren, ohne zuerst eine Aufgabe einzurichten, die es ersetzt, können Beiträge, E-Mails und andere geplante Prozesse möglicherweise nicht mehr ausgeführt werden.
WooCommerce hat feststeckende geplante Aktionen
Was passiert?
WooCommerce und viele seiner Erweiterungen verwenden den Action Scheduler, ein System, das die Ausführung automatischer Aufgaben im Hintergrund verwaltet. Zum Beispiel kann es E-Mails senden, Abonnements erneuern, Informationen an andere Anwendungen übermitteln oder Bestellungen aktualisieren.
Wenn sich diese Aufgaben ansammeln, zeigt WordPress nicht immer einen Fehler an. Stattdessen können Sie feststellen, dass Bestellungen lange brauchen, um aktualisiert zu werden, E-Mails verspätet ankommen oder das Admin-Panel zunehmend langsamer wird.
Sie können die Warteschlange überprüfen unter:
WooCommerce → Status → Geplante Aktionen
Action Scheduler kann auch unter Werkzeuge → Geplante Aktionen erscheinen, abhängig von den installierten Plugins. Die offizielle Dokumentation behandelt beide Wege.
Filtern Sie die Aktionen nach Status:
- Ausstehend: warten auf Ausführung.
- Fehlgeschlagen: versuchten auszuführen, wurden aber nicht erfolgreich abgeschlossen.
- In Bearbeitung: sollten verarbeitet werden.
- Abgeschlossen: sind bereits abgeschlossen.
Ausstehende Aktionen bedeuten nicht unbedingt ein Problem. Das Warnsignal erscheint, wenn ihre Anzahl ständig zunimmt, sie zu lange warten oder viele mit demselben Hook fehlschlagen.
Wie man es löst
Stellen Sie sich vor, Sie finden Hunderte von fehlgeschlagenen Aufgaben im Zusammenhang mit einer Abonnementerweiterung. Das Löschen kann die Liste für eine Weile leeren, aber es wird das Problem, das die Fehler verursacht, nicht lösen. Wenn Sie die Ursache nicht beheben, werden sich die Aufgaben wieder ansammeln.
Öffnen Sie eine der fehlgeschlagenen Aufgaben, finden Sie ihren Namen (Hook) und überprüfen Sie das Protokoll, um herauszufinden, warum sie nicht abgeschlossen wurde. Dann:
- Identifizieren Sie, welches Plugin oder welche Erweiterung die Aufgabe erstellt hat.
- Aktualisieren Sie dieses Plugin und die Add-ons, die es zum Funktionieren benötigt.
- Überprüfen Sie, ob es von einer Verbindung mit einem externen Dienst abhängt, wie z.B. einer Zahlungs-, Abonnement- oder E-Mail-Plattform.
- Beheben Sie den im Protokoll angegebenen Fehler, bevor Sie die Aufgabe erneut ausführen.
- Überprüfen Sie, ob ausstehende Aufgaben beginnen, abgeschlossen zu werden, und ob die Warteschlange abnimmt.
Sehr große Warteschlangen erfordern möglicherweise eine Verarbeitung über WP-CLI oder technische Intervention. Die Action Scheduler-Dokumentation empfiehlt WP-CLI für hohe Lasten, da es einige Einschränkungen regulärer Webanfragen vermeidet. Sie können deren WP-CLI-Dokumentation überprüfen.
In cdmon ist der Zugriff auf WP-CLI ab dem Senior-Hosting-Plan verfügbar. Wenn Ihr Plan es nicht enthält oder Sie keine Erfahrung mit der Verwendung von Befehlen haben, kontaktieren Sie das Support-Team, bevor Sie in die Warteschlange eingreifen.
Die Datenbank sammelt abgelaufene Transienten
Was passiert?
Transienten ermöglichen das temporäre Speichern von Daten, deren Abruf länger dauert, wie z.B. das Ergebnis einer Abfrage oder die Antwort eines externen Dienstes. Auf diese Weise kann WordPress sie eine Weile wiederverwenden, anstatt sie jedes Mal neu zu generieren, wenn jemand die Website besucht.
Wenn sie gut funktionieren, helfen sie der Leistung. Das Problem tritt auf, wenn sie ablaufen, aber nicht korrekt gelöscht werden, oder wenn ein Plugin Tausende von ihnen generiert.
Es ist nicht notwendig, Transienten jede Woche zu bereinigen. Sie sollten auch nicht per Definition als Müll behandelt werden. WordPress und Plugins können viele von ihnen nach dem Löschen neu erstellen.
Wenn die wp_options-Tabelle zu groß geworden ist, überprüfen Sie, wie viele Transienten vorhanden sind, wie viel Platz sie einnehmen und welche Präfixe sich wiederholen. Eine große Anzahl, die mit demselben Plugin verknüpft ist, kann darauf hinweisen, wo Sie mit der Untersuchung beginnen sollten.
Wie man es löst
Mit Zugriff auf WP-CLI können Sie nur die Transienten löschen, die bereits abgelaufen sind, mit diesem Befehl:
wp transient delete –expired
Sie können den Betrieb und die verfügbaren Optionen in der offiziellen WP-CLI-Dokumentation überprüfen.
Das Löschen aller Transienten ist ebenfalls möglich, sollte aber nicht die erste Option sein. Einige Prozesse müssen sie neu erstellen, und das kann zu einem vorübergehenden Anstieg der Serverbelastung führen.
Wenn sie sich schnell wieder ansammeln, hat die Reinigung nur das Symptom verborgen. Überprüfen Sie, welches Plugin sie erstellt und ob es ein Update, einen Fehler oder eine Konfiguration gibt, die dieses Verhalten erklärt.
Loopback-Anfragen sind blockiert
Was passiert?
Eine Loopback-Anfrage tritt auf, wenn WordPress sich mit seiner eigenen Website verbindet, um automatische Aufgaben zu starten oder zu überprüfen, ob es korrekt antwortet. Es ist, einfach ausgedrückt, als ob die Website sich selbst besucht.
Wenn es fehlschlägt, kann WordPress eine Warnung anzeigen unter:
Werkzeuge → Website-Zustand → Status
Sie können auch erkennen:
- Geplante Ereignisse, die nicht ausgeführt werden.
- Geplante Beiträge, die sich verzögern.
- WooCommerce-Aktionen, die ausstehend bleiben.
- Interne Prozesse, die aufgrund von Zeitüberschreitung enden.
WP-Cron, Action Scheduler und Loopback-Anfragen sind miteinander verbunden. Wenn alle drei gleichzeitig Probleme zeigen, sehen Sie möglicherweise verschiedene Konsequenzen einer einzigen Blockierung.
Wie man es löst
Hier ist es ratsam, den spezifischen Fehler zu lesen, nicht nur die Loopback-Warnung.
Ein 401- oder 403-Fehler kann darauf hinweisen, dass ein Passwort, ein Sicherheits-Plugin oder eine Serverregel verhindert, dass WordPress sich mit seiner eigenen Website verbindet. Wenn ein Timeout erscheint, bedeutet das, dass der Server zu lange gebraucht hat, um die Anfrage zu bearbeiten. Der Fehler kann auch auf falsche Domain-, SSL-Zertifikat- oder Webumleitungseinstellungen zurückzuführen sein.
Überprüfen Sie die PHP- und Serverfehlerprotokolle genau dann, wenn der Fehler auftritt. Diese Protokolle können zeigen, welches Plugin, welche Datei oder welcher Prozess das Problem verursacht.
Überprüfen Sie auch, ob ein Sicherheits-Plugin, Wartungsmodus oder Passwortschutz verhindert, dass WordPress auf wp-cron.php oder die REST-API zugreift.
Wenn eine Sicherheitsmaßnahme die Blockierung verursacht, deaktivieren Sie sie nicht dauerhaft. Identifizieren Sie die verantwortliche Regel und fügen Sie nur für die Verbindung, die WordPress herstellen muss, eine Ausnahme hinzu.
Eine langsame Abfrage verlangsamt einen bestimmten Bildschirm
Was passiert?
Wenn die gesamte Website gut funktioniert, außer der Bestellliste, einer Suche, dem Editor oder einer bestimmten Seite, liegt das Problem möglicherweise in einer Datenbankabfrage.
Query Monitor ermöglicht die Analyse der während des Ladevorgangs ausgeführten Abfragen und deren Zuordnung, wenn möglich, zu dem Plugin, Theme oder der Funktion, die sie generiert hat.
Installieren Sie Query Monitor vorübergehend und öffnen Sie die Seite oder den Abschnitt von WordPress, der langsam funktioniert. Überprüfen Sie dann:
- Abfragen, die viel länger dauern als der Rest.
- Die gleiche Abfrage, die dutzende oder hunderte Male ausgeführt wird.
- Datenbankfehler.
- Externe HTTP-Anfragen.
- Die für jede Operation verantwortliche Komponente.
Konzentrieren Sie sich nicht nur auf die langsamste Abfrage. Eine 200-Millisekunden-Abfrage mag nicht ernst sein, wenn sie einmal ausgeführt wird. Eine andere 20-Millisekunden-Abfrage kann zu einem Problem werden, wenn sie während eines einzigen Ladevorgangs 300 Mal wiederholt wird.
Wie man es löst
Wenn Query Monitor auf ein Plugin hinweist, überprüfen Sie, ob es ein Update gibt oder ob eine seiner Funktionen deaktiviert werden kann. Sie können auch vorübergehend ein anderes Tool ausprobieren, das dieselbe Funktion ausführt, und das Ergebnis vergleichen.
In großen Geschäften kann es notwendig sein, zu überprüfen:
- Die Menge an Informationen, die die Website verarbeitet.
- Die Anzahl der Produkte oder Ergebnisse, die auf jeder Seite angezeigt werden.
- Die Filter und Suchanfragen, die von Besuchern verwendet werden.
- Die Art und Weise, wie Daten in der Datenbank organisiert sind.
Das Ändern der Art und Weise, wie WordPress Datenbankinformationen sucht und organisiert, erfordert fortgeschrittenes Wissen. Wenn Sie nicht identifizieren können, welches Plugin oder welche Funktion diese Suche durchführt oder nicht wissen, wofür sie ist, ist es besser, technische Hilfe zu suchen, bevor Sie Änderungen vornehmen.
Ein gelöschtes Plugin hat Restdaten und Aufgaben hinterlassen
Was passiert?
Das Deaktivieren eines Plugins verhindert, dass sein Code normal ausgeführt wird. Es löscht jedoch nicht unbedingt seine Tabellen, Optionen, Ordner, Cron-Aufgaben oder generierten Dateien.
Das bedeutet nicht, dass alle deaktivierten Plugins WordPress verlangsamen. Ein inaktiver Ordner beeinträchtigt normalerweise nicht die Leistung, nur weil er existiert. Das Problem sind die Rückstände, die weiterhin geladen oder verarbeitet werden.
Überprüfen Sie:
- Ob es Aufgaben des Plugins in WP-Cron gibt.
- Ob es Autoload-Optionen beibehält.
- Ob es eigene Tabellen erstellt hat.
- Ob es große Mengen an Dateien in wp-content/uploads hinterlassen hat.
- Ob es eine Option hat, seine Daten bei der Deinstallation zu löschen.
Wie man es löst
Wenn das Plugin noch installiert ist, überprüfen Sie seine Einstellungen, bevor Sie es löschen. Einige Tools enthalten Optionen wie «Daten bei Deinstallation löschen», aktivieren sie jedoch nicht standardmäßig, um versehentliche Verluste zu vermeiden.
Wenn Sie es bereits gelöscht haben, können Sie es vorübergehend in der Staging-Umgebung neu installieren und seinen eigenen Deinstallationsprozess verwenden. Tun Sie dies nur, wenn Sie sicher sind, dass es sich um dasselbe Plugin handelt und Sie seine Daten nicht mehr benötigen.
Löschen Sie keine Tabelle nur aufgrund ihres Namens. Sie könnte Bestellungen, Formulare, Statistiken oder Konfigurationen enthalten, die noch von einem anderen Teil der Website verwendet werden.
Die Installation eines weiteren Bereinigungs-Plugins sollte auch nicht die automatische Antwort sein. Identifizieren Sie zuerst die spezifischen Rückstände und entscheiden Sie, welches Tool Sie benötigen, um sie zu entfernen.
Wie man weiß, ob man das Problem gelöst hat
Nachdem Sie eine dieser Ursachen behoben haben, wiederholen Sie den ursprünglichen Test genau:
- Öffnen Sie dieselbe Seite oder denselben Bildschirm.
- Führen Sie den Test unter ähnlichen Bedingungen durch.
- Überprüfen Sie die Antwortzeit.
- Überprüfen Sie, ob Warteschlangen und Fehler abnehmen.
- Bestätigen Sie, dass verwandte Funktionen weiterhin funktionieren.
Überprüfen Sie nicht nur die Startseite, sondern auch die Bereiche, die von den Änderungen betroffen sind. Führen Sie nach einem Eingriff in WooCommerce beispielsweise eine Testbestellung durch. Kontrollieren Sie bei Änderungen an WP-Cron, ob die geplanten Aufgaben weiterhin ausgeführt werden. Nach der Bereinigung von Plugin-Daten sollten Sie außerdem alle davon abhängigen Funktionen testen.
Das Ziel ist nicht, eine «leere» Datenbank zu erreichen, sondern unnötige Arbeit zu eliminieren, ohne das zu brechen, was WordPress benötigt.
Häufig gestellte Fragen
Weil Bilder hauptsächlich den Inhalt betreffen, den der Browser herunterlädt. Die Wartezeit kann auch früher auftreten, während WordPress PHP ausführt, die Datenbank abfragt, geplante Aufgaben verarbeitet oder auf eine Antwort von einem externen Dienst wartet.
Nicht unbedingt. Ein deaktiviertes Plugin führt normalerweise seinen Code nicht aus, kann aber Autoload-Optionen, Tabellen, Dateien oder geplante Aufgaben hinterlassen haben. Diese Rückstände sollten überprüft werden.
TTFB misst, wie lange es dauert, bis der Browser das erste Byte der Antwort erhält. Ein hoher Wert kann auf langsame Verarbeitung auf dem Server hinweisen, obwohl auch das Netzwerk, der Cache und der Standort des Benutzers Einfluss darauf haben. Es ist ein erstes Signal, keine endgültige Diagnose.
Es kann sicher sein, wenn Sie jedes Element überprüfen und ein Backup haben. Verwenden Sie keine automatische Bereinigung, ohne zu überprüfen, was gelöscht wird, und löschen Sie keine Tabellen oder Optionen, nur weil sie alt erscheinen.
Nur, wenn Sie es durch eine korrekt konfigurierte echte Server-Cron-Aufgabe ersetzen. Das Deaktivieren ohne Alternative kann verhindern, dass geplante Beiträge, Updates und andere automatische Prozesse ausgeführt werden.
Wenn Sie die Datenbank direkt bearbeiten, SQL-Indizes ändern, Cron-Aufgaben auf dem Server konfigurieren oder Informationen löschen müssen, deren Ursprung Sie nicht mit Sicherheit identifizieren können.