Backend-Performance

Warum ist mein WordPress-Backend so langsam?

Ihr Frontend lädt in 1,2 Sekunden. Ihr WordPress-Dashboard braucht über 6. Jeder Klick im Backend fühlt sich an wie Modem-Zeiten. Es liegt nicht am Hosting – es liegt an dem, was bei jedem Request innerhalb von wp-admin läuft.

Warum Ihr WordPress-Dashboard langsam ist

Wenn Ihr WordPress-Backend langsam ist – oder sich das WordPress-Dashboard sehr langsam anfühlt, während das Frontend schnell ist –, dann bilden Sie sich das nicht ein. Ein langsames WordPress-Backend gehört zu den häufigsten Beschwerden von Website-Betreibern, nachdem die öffentliche Site optimiert wurde. Caching-Plugins lassen wp-admin aus. Ihr CDN fasst das Backend nicht an. Jeder Klick im WordPress-Backend startet einen frischen PHP-Request, lädt die Admin-Hooks jedes aktiven Plugins und zieht Ihr komplettes autoloaded Daten-Set aus wp_options.

Das Muster

Das Frontend lädt in 1,2 Sekunden. Das Dashboard braucht über 6 Sekunden. Sie buchen besseres Hosting. Eine Woche lang hilft es. Dann ist es wieder langsam.

Caching-Plugins helfen hier nicht – sie überspringen Admin-Seiten absichtlich. Das CDN hilft nicht – das Backend ist dynamisch. Die Langsamkeit kommt aus WordPress selbst.

Guter Rat, der das Problem trotzdem nicht findet

Vernünftiger Rat
  • „Aktualisieren Sie Ihre PHP-Version"
  • „Wechseln Sie zu besserem Hosting"
  • „Installieren Sie ein Caching-Plugin"
  • „Deaktivieren Sie ungenutzte Plugins"
  • „Erhöhen Sie das Memory-Limit"
Was er Ihnen nicht sagen kann
  • Der admin_init-Callback eines Plugins braucht 800 ms
  • Die Heartbeat-API feuert im Editor bis zu alle 15 Sekunden
  • Admin-ajax.php verarbeitet pro Seitenaufruf mehrere Requests in der Warteschlange
  • 2 MB autoloaded Daten bei jedem Request
  • Auf jeder Admin-Seite läuft eine langsame Query

Alle fünf sind in Ordnung. PHP zu aktualisieren und einen Object Cache einzurichten lohnt sich ohnehin. Aber es bleiben Vermutungen – keine davon sagt Ihnen, welche Funktion die 4 Sekunden frisst. Sie müssen nicht „Plugins deaktivieren", Sie müssen wissen: welches Plugin, welcher Hook und welche Funktion.

WordPress-Backend langsam, Frontend schnell? Finden Sie Ihr Symptom

„WordPress-Backend sehr langsam" ist nicht ein Problem – es sind fünf oder sechs verschiedene, die sich vom Dashboard aus alle gleich anfühlen. Suchen Sie unten Ihr genaues Symptom: Die Ursachenspalte nennt den Mechanismus, der dahintersteckt, und der nächste Schritt sagt Ihnen, was Sie konkret tun sollen.

Beobachtetes Symptom Wahrscheinlichste Ursache Nächster Schritt
Das Dashboard braucht über 6 s, die öffentliche Site lädt schnell Page Cache und CDN überspringen wp-admin komplett – Sie spüren die reine PHP-Zeit aus den admin_init-Callbacks jedes Plugins Prüfen Sie zuerst mit Site Doctor, ob Konfiguration oder Datenbank schon die Antwort sind, dann profilen Sie admin_init mit dem Slow Callback Finder von WP Multitool und sortieren Sie die Callbacks nach Laufzeit
Jede Admin-Seite hängt eine Sekunde, bevor überhaupt etwas erscheint Zu große autoloaded Daten – das komplette Autoload-Set aus wp_options lädt, bevor WordPress irgendetwas rendert Prüfen Sie die Autoload-Größe in wp_options (Ziel: unter 800 KB) und schalten Sie Autoload bei den größten Verursachern ab
wp-admin friert nur beim Speichern eines Beitrags oder einer Seite ein Langsame save_post-Callbacks, die sich im selben Request mit Autosave und Post-Lock-Heartbeat-Verkehr stapeln Heartbeat auf 120 s verlangsamen, dann die save_post-Callbacks messen, um das Plugin zu finden, das beim Speichern schwer arbeitet
Das Backend wird mit jedem Plugin langsamer, das ich hinzufüge Aufsummierte Kosten von admin_init / admin_menu – die Admin-Hooks jedes Plugins laufen auf jeder Admin-Seite, nicht nur auf der eigenen Einstellungsseite Sortieren Sie alle Hook-Callbacks nach Laufzeit, statt Plugins einzeln zu deaktivieren – meist dominieren ein oder zwei
Der Beitragseditor (Gutenberg) ruckelt beim Tippen Langsame Antworten der REST API (/wp-json/) plus Heartbeat-Autosave-Verkehr – jeder davon ist ein kompletter WordPress-Bootstrap Beobachten Sie im Netzwerk-Tab der DevTools langsame /wp-json/-Requests; verlangsamen Sie Heartbeat im Editor auf 120 s
Die Site ist nur für eingeloggte Nutzer langsam, auch im Frontend Eingeloggte Requests umgehen den Page Cache, also treffen dieselben Autoload- und Hook-Kosten jede Seite – dazu kommen die Queries der Adminleiste Schalten Sie Object Caching ein und profilen Sie dann einen eingeloggten Request genauso wie eine wp-admin-Seite
Zufällige 502er im wp-admin bei Managed Hosting Autoloaded Daten über rund 1 MB – bei Memcached-Hostern wie WP Engine liegt das Limit pro Schlüssel bei 1 MB, das Autoload-Blob landet also unbemerkt nicht im Cache und die Datenbank wird gehämmert Führen Sie die Query zur Autoload-Größe aus und bringen Sie die Summe mit dem Autoloader Optimizer unter 800 KB
Das Backend ist direkt nach einem Plugin- oder Core-Update langsam Update-Prüfungen und Lizenz-Anrufe nach Hause auf admin_init – externe HTTP-Requests blockieren die Seite, bis sie ins Timeout laufen Messen Sie die admin_init-Callbacks und achten Sie auf solche mit ausgehenden HTTP-Aufrufen; der Effekt verschwindet meist, sobald sich die Transients wieder füllen
Morgens ist das Backend flott, nachmittags kriecht es Gleichzeitige admin-ajax-Aufrufe – der Heartbeat aus jedem offenen Admin-Tab lastet Ihre PHP-Worker aus, sobald das Team sich einloggt Zählen Sie in den DevTools 60 Sekunden lang die admin-ajax.php-Requests; verlangsamen Sie Heartbeat auf 120 s und schließen Sie ungenutzte Admin-Tabs

Schritt 0: Die ganze Site prüfen, bevor Sie irgendetwas einzeln messen

Alles unterhalb dieses Abschnitts misst jeweils eine Sache. Bevor Sie 15 Minuten damit per Hand verbringen, investieren Sie eine Minute in Site Doctor in WP Multitool: Es führt den ganzen Satz Prüfungen in einem Durchgang aus – OPcache, das Object-Cache-Drop-in, Redis-Zustand, eine Page-Cache-Probe, Optimizer-Überschneidungen, Datenbank-Ballast – und sortiert die Befunde nach Schwere, jeder mit dem Modul verlinkt, das ihn behebt.

Noch kein Plugin installiert? Die kostenlose /scan/-Seite misst TTFB und Komprimierung von außen, was Ihnen sagt, ob der Server schon langsam ist, bevor der Browser ein Byte bekommt. Sie führt keine der obigen Prüfungen aus – die müssen auf dem Server laufen – also: sobald Sie die externe Zahl haben, installieren Sie WP Multitool und führen Sie den Scan aus. Site Doctor steckt in Lite wie in Pro; die Autoload- und Slow-Query-Quellen, die es liest, sind nur in Pro, und ein Lite-Scan nennt diese beiden als übersprungene Quellen, statt eine kurze Liste als saubere Site wirken zu lassen.

Wann Multitool die falsche erste Antwort ist: Wenn Sie einen bestimmten Request debuggen und schon wissen, welchen, öffnen Sie ihn mit Query Monitor; wenn es darum geht, das öffentliche Frontend für abgemeldete Besucher schnell zu machen, ist ein Page-Cache-Plugin gefragt, keine Diagnose-Prüfung.

Der Scan liefert Ihnen die Vorauswahl. Die Tiefe pro Request und pro Callback kommt weiterhin von Query Monitor und dem Slow Callback Finder weiter unten auf dieser Seite – die sortierte Liste sagt Ihnen nur, welches sich zu öffnen lohnt. Die vollständige Checkliste, die Redis-Checkliste und die WP-CLI-Nutzung stehen in der Site Doctor-Doku; wenn Sie es lieber per Hand machen, leistet die 15-Minuten-Checkliste unten dieselbe Arbeit mit DevTools und SQL.

wp-admin beschleunigen: Checkliste für 15 Minuten

Keine Theorie hier – die Mechanismen erklärt der Rest dieses Guides, und jeder Schritt verlinkt auf den passenden Abschnitt. Sie brauchen DevTools, Datenbankzugriff und 15 Minuten. Jeder Schritt endet mit einem Schwellenwert für bestanden/durchgefallen, damit Sie wissen, wann Sie aufhören können.

  1. Minute 0–2: Heartbeat-Ticks zählen, nicht rohes admin-ajax – Öffnen Sie die DevTools, Netzwerk-Tab, Filter „admin-ajax". Bleiben Sie 60 Sekunden auf einer Admin-Seite und prüfen Sie bei jedem Request die Nutzdaten auf action=heartbeat – nur die sind Heartbeat. Mehr als etwa ein Heartbeat-Tick pro Minute außerhalb des Beitragseditors ist erhöht (im Editor tickt es berechtigt schneller) – dann machen Sie Schritt 2. Ist das gesamte admin-ajax-Aufkommen hoch, die Heartbeat-Ticks aber wenige, ist Heartbeat nicht Ihr Problem – dann ist es Polling von Plugins, Admin-Hinweise, Autosave oder mehrere offene Admin-Tabs. Springen Sie zu Schritt 3.
  2. Minute 2–4: Heartbeat auf 120 Sekunden verlangsamen – Fügen Sie den heartbeat_settings-Filter aus Ursache 2 weiter unten ein. Zählen Sie die action=heartbeat-Requests erneut 60 Sekunden lang. Bestanden: Die Ticks sinken auf etwa einen alle 2 Minuten.
  3. Minute 4–6: Dashboard gegen eine schlichte Admin-Seite messen – Laden Sie /wp-admin/, dann Einstellungen → Allgemein. Vergleichen Sie die Ladezeiten des Dokuments im Netzwerk-Tab. Ist das Dashboard 2 Sekunden oder mehr langsamer, liegt es an den Widgets – siehe den Dashboard-Abschnitt. Sind beide gleich langsam, ist die Ursache global, lesen Sie weiter.
  4. Minute 6–9: Autoload-Größe messen – Führen Sie das SQL aus dem Autoload-Abschnitt in phpMyAdmin oder per wp db query aus. Durchgefallen: mehr als 800 KB autoloaded Daten insgesamt. Beheben Sie zuerst die größten Verursacher – diese Kosten treffen jeden einzelnen Request.
  5. Minute 9–12: Object Cache ein/aus testen – Bietet Ihr Hoster Redis oder Memcached an, schalten Sie es um und laden Sie dieselbe Admin-Seite je 3-mal. Verwerfen Sie den ersten Aufruf nach jedem Umschalten – ein kalter Cache macht diese Messung wertlos – und vergleichen Sie die warmen Mediane. Eine Sekunde oder mehr schneller mit Cache heißt: wiederholte DB-Zugriffe waren ein echter Kostenfaktor – lassen Sie ihn an. Kein Unterschied: Dann ist der Engpass wahrscheinlich nicht cachebares Lesen aus der Datenbank – WordPress cacht nur, was der Code auch wirklich in den Object Cache legt – gehen Sie also zu Schritt 6 und den Prüfungen ausgehender HTTP-Aufrufe in der Tabelle der Plugin-Mechanismen.
  6. Minute 12–15: admin_init-Callbacks sortieren – Messen Sie, was auf admin_init läuft, entweder mit dem Slow Callback Finder von WP Multitool oder indem Sie Verdächtige in microtime() einpacken (siehe So diagnostizieren Sie). Jeder einzelne Callback über 200 ms ist Ihr Ziel – beheben, ersetzen oder dem Plugin-Autor melden.

Warum ist mein WordPress-Dashboard langsam? (Dashboard vs. der Rest von wp-admin)

„Langsames Dashboard" und „langsames wp-admin" werden synonym benutzt. Es sind zwei verschiedene Probleme. Die Dashboard-Startseite (/wp-admin/index.php) erledigt Arbeit, die keine andere Admin-Seite erledigt – klären Sie also zuerst, welches der beiden Sie haben.

Nur die Dashboard-Startseite ist langsam
  • Jedes Dashboard-Widget führt beim Laden eigene Queries aus
  • Das Widget „Veranstaltungen & Neuigkeiten" holt einen entfernten WordPress.org-Feed
  • Plugin-Widgets rufen die API des Anbieters auf, nur um eine Statistikbox anzuzeigen
  • „Auf einen Blick" zählt Zeilen in großen Beitrags- und Kommentartabellen
Jede wp-admin-Seite ist langsam
  • Autoloaded wp_options-Daten werden bei jedem Request geladen
  • admin_init-Callbacks laufen auf jeder Seite, nicht nur auf der eigenen
  • Lizenzprüfungen beim Anbieter blockieren die Seite mit ausgehenden HTTP-Aufrufen
  • Heartbeat- und admin-ajax-Verkehr lastet die PHP-Worker aus

Der Test dauert eine Minute. Laden Sie /wp-admin/, dann Einstellungen → Allgemein, und vergleichen Sie die Ladezeiten des Dokuments in den DevTools. Ist das Dashboard 2 Sekunden oder mehr langsamer, sind es die Widgets – entfernen Sie die, die Sie nicht täglich brauchen, mit dem wp_dashboard_setup-Snippet aus dem Abschnitt zu den schnellen Erfolgen. Widgets mit externen HTTP-Aufrufen sind die schlimmsten Übeltäter: Die Seite wartet auf den Server von jemand anderem.

Sind beide Seiten gleich langsam, liegt es nicht am Dashboard – dann ist ganz wp-admin betroffen. Das sind die Autoload-Größe und die admin_init-Callbacks, behandelt in den Ursachen weiter unten. Zuerst die Dashboard-Widgets zu reparieren bringt Ihnen in diesem Fall nichts für die anderen 40 Seiten, die Sie täglich benutzen.

4 echte Ursachen für ein langsames WordPress-Backend

1. Engpass admin-ajax.php

WordPress leitet alle AJAX-Requests über eine einzige Datei: admin-ajax.php. Jeder Request startet den kompletten WordPress-Stack. Wenn 5 Plugins auf dem Dashboard AJAX-Aufrufe machen, sind das 5 zusätzliche komplette WordPress-Bootstraps pro Dashboard-Aufruf.

# Check admin-ajax traffic in your browser:
# DevTools → Network → Filter "admin-ajax"
# Look at how many requests fire on a single page load

2. Overhead der Heartbeat-API

Der WordPress-Heartbeat schickt alle 15–60 Sekunden einen AJAX-Request, um auf Autosaves, Post-Locks und Benachrichtigungen zu prüfen. Jeder Request lädt den kompletten WordPress-Stack. Auf Shared Hosting kann das allein Ihre PHP-Worker auslasten.

// Slow down heartbeat to reduce load:
add_filter('heartbeat_settings', function($settings) {
    $settings['interval'] = 120; // seconds (default: 15-60)
    return $settings;
});

3. Langsame Plugin-Callbacks auf admin_init

Plugins hängen sich an admin_init, admin_menu und admin_enqueue_scripts. Diese laufen auf jeder Admin-Seite, nicht nur auf der Einstellungsseite des Plugins. Ein einziger schlecht geschriebener Callback kann jeden Admin-Request um 500 ms und mehr verlängern.

4. Autoload-Ballast

Dieselbe wp_options-Autoload-Query, die Ihr Frontend betrifft, läuft auch auf jeder Admin-Seite. Admin-Seiten werden aber nie gecacht, Sie spüren also jedes Mal die volle Wucht. Zum vollständigen Autoload-Guide.

Plugins, die WordPress-Backends häufig ausbremsen

Eine Namensliste bekommen Sie von mir nicht – Plugin-Versionen ändern sich und Autoren bessern nach, jede Liste mit Namen ist am Tag der Veröffentlichung veraltet. Die Mechanismen ändern sich nicht. Diese fünf Klassen verursachen die meisten langsamen Backends, die ich sehe, egal wie das Plugin dieses Jahr heißt.

Mechanismus Was er tut Woran Sie ihn erkennen Was zu tun ist
Lizenzprüfung beim Anbieter auf admin_init Ruft auf jeder Admin-Seite den Server des Anbieters auf, um Ihren Schlüssel zu prüfen, und blockiert die Seite, bis die Anfrage zurückkommt oder ins Timeout läuft Das HTTP-API-Panel von Query Monitor zeigt denselben ausgehenden Request auf jeder Seite; am schlimmsten ist es, wenn die API des Anbieters langsam ist Messen Sie den Callback zur Bestätigung und melden Sie es dem Autor – die Lösung ist, die Prüfung in einem Transient zu cachen, und das kann nur er ausliefern
Widgets mit entferntem Changelog oder News Holt einen RSS- oder JSON-Feed vom Anbieter, um ein Dashboard-Widget anzuzeigen Die Dashboard-Startseite ist langsam, der Rest von wp-admin ist in Ordnung (siehe den Dashboard-Test) Entfernen Sie das Widget mit remove_meta_box() – das Snippet steht bei den schnellen Erfolgen
Security-Scanner, die beim Laden des Backends starten Durchläuft das Dateisystem oder prüft Datei-Hashes während admin_init statt nach Zeitplan Jede Admin-Seite ist langsam, die CPU springt bei jedem Klick hoch, und ein admin_init-Callback zeigt Hunderte Millisekunden Verlegen Sie die Scans in den Plugin-Einstellungen auf WP-Cron; gibt es keine solche Einstellung, ist das Ihre Antwort zu diesem Plugin
Page Builder, die Editor-Assets überall laden Bindet das komplette CSS-/JS-Bundle des Editors auf jeder Admin-Seite ein, nicht nur dort, wo Sie Seiten bauen Der Netzwerk-Tab zeigt die Skripte des Builders auf Seiten, die ihn nie benutzen Beschränken Sie den Builder in seinen Einstellungen auf bestimmte Beitragstypen und suchen Sie nach einer Option „Assets nur dort laden, wo sie gebraucht werden"
Marketing-Plugins, die externe APIs abfragen Holt beim Laden des Backends Kampagnenstatistiken, Abonnentenzahlen oder den Sync-Status von einem externen Dienst Ausgehende HTTP- oder admin-ajax-Aufrufe auf jeder Seite; die Geschwindigkeit des Backends hängt an der Laune der fremden API Schalten Sie das Statistik-Widget ab, verlängern Sie das Sync-Intervall oder beschränken Sie das Plugin im Backend auf seine eigenen Seiten

So bestätigen Sie, mit welcher Klasse Sie es zu tun haben: Das HTTP-API-Panel von Query Monitor erwischt die Anruf-nach-Hause- und Polling-Klassen, die DevTools erwischen die Asset- und Widget-Klassen, und die Messung einzelner Callbacks auf admin_init erwischt die Scanner-Klasse. Sie müssen nicht raten – jede hinterlässt einen eigenen Fingerabdruck.

So diagnostizieren Sie

  1. DevTools auf einer beliebigen Admin-Seite öffnen – Gehen Sie in den Netzwerk-Tab. Notieren Sie die Ladezeit der Hauptseite und zählen Sie dann die admin-ajax-Requests. Sehen Sie 5 oder mehr AJAX-Aufrufe, sind das 5 komplette WordPress-Bootstraps.
  2. Hook-Callbacks profilen – SAVEQUERIES protokolliert nur Datenbank-Queries, nicht die PHP-Laufzeit. Um die Funktionen zu messen, die auf admin_init laufen, nehmen Sie einen Profiler wie den Slow Callback Finder von WP Multitool oder packen die verdächtigen Callbacks in microtime() und protokollieren die Differenzen.
  3. Plugins einzeln deaktivieren – Messen Sie nach jeder Deaktivierung die Ladezeit einer Admin-Seite. Wird sie schnell, haben Sie den Übeltäter. Das ist mühsam, aber eindeutig.
  4. Query-Anzahl prüfen – Eine gesunde Admin-Seite sollte 50–100 Queries ausführen. Sehen Sie über 300, packen Plugins unnötige Queries auf jede Admin-Seite. In unserem Guide zu langsamen Queries steht, wie Sie ihnen auf die Spur kommen.
  5. Heartbeat-Frequenz überwachen – Beobachten Sie in den DevTools 60 Sekunden lang den Netzwerk-Tab und prüfen Sie bei jedem admin-ajax.php-Request die Nutzdaten auf action=heartbeat. Jeder davon ist ein kompletter PHP-Request. Viele admin-ajax-Aufrufe bei wenigen Heartbeat-Ticks heißen: Der Verkehr kommt von Plugins, nicht von Heartbeat.

Query Monitor zeigt Queries. Der Slow Callback Finder zeigt Callbacks.

Query Monitor ist der richtige erste Schritt: Das Panel „Queries by Component" zeigt die Anzahl der Datenbank-Queries und die HTTP-API-Aufrufe je Plugin. Wenn Ihr WordPress-Backend aber langsam ist und die Query-Anzahl normal aussieht, liegt der Engpass meist in der PHP-Laufzeit auf admin_init, admin_menu oder admin_enqueue_scripts – und genau das misst Query Monitor nicht.

Der Slow Callback Finder von WP Multitool misst jeden registrierten Callback auf diesen Hooks und sortiert sie nach Millisekunden – Sie sehen also plugin_xyz::check_license() – 847 ms auf admin_init, statt zu raten, welches Plugin Sie deaktivieren sollen. Er arbeitet neben Query Monitor, nicht an dessen Stelle.

Eine Stunde in den DevTools verbracht und es trotzdem nicht gefunden?

Der Slow Callback Finder läuft in Ihrem wp-admin und sortiert jeden Hook-Callback nach Laufzeit. Kein Raten, kein Alles-deaktivieren-Roulette. Es ist ein Pro-Modul, in der Lite-Edition für $9 nicht enthalten.

Sehen, wie WP Multitool es findet →

Schnelle Erfolge, sobald Sie Ihren Fall kennen

Heartbeat-Frequenz senken

Heartbeat von 15 s auf 120 s zu stellen senkt die admin-ajax-Requests im Hintergrund um 87 % (Editor-Tabs, 15 s auf 120 s). Die meisten Sites merken funktional keinen Unterschied.

Dashboard-Widgets abschalten

Jedes Dashboard-Widget führt beim Laden eigene Queries aus. Entfernen Sie Widgets von Plugins, die Sie nicht täglich brauchen:

add_action('wp_dashboard_setup', function() {
    remove_meta_box('dashboard_quick_press', 'dashboard', 'side');
    remove_meta_box('dashboard_primary', 'dashboard', 'side');
    // Remove plugin widgets that make external API calls
});

Object Caching einrichten

Redis oder Memcached verbessern die Backend-Performance, weil Admin-Seiten query-lastig sind und nie im Page Cache landen. Datenbankzugriffe, die auf jeder Admin-Seite laufen, kommen dann aus dem Arbeitsspeicher.

87%
Weniger Hintergrund-Requests (Editor-Tabs, 15 s auf 120 s)
300+ → 50
Queries, die bei warmem Object Cache aus dem Speicher kommen
300+
Queries auf aufgeblähten Admin-Seiten

Warum wp-admin mit der Zeit langsamer wird

Ein langsames Backend ist meist nicht ein großes Problem. Kein einzelnes Plugin ist der Bösewicht. Es ist die Summe aus:

  1. 15 Plugins, die je 50 ms auf admin_init draufpacken = 750 ms Grundlast
  2. Dashboard-Widgets, die bei jedem Laden externe APIs aufrufen
  3. AJAX-Handler, die für Kleinigkeiten den kompletten WordPress-Bootstrap starten
  4. Autoloaded Daten, die durch Plugin-Wechsel wachsen, oft um Dutzende KB pro Monat

Sie können nicht reparieren, was Sie nicht sehen. Sie brauchen Zeitmessung pro Callback – also genau zu wissen, wie lange jede Funktion läuft, nicht nur, welches Plugin langsam ist.

Autoloaded Daten bei Managed Hosting (WP Engine, Flywheel)

Wenn Sie bei WP Engine oder Flywheel sind und das Backend langsam ist, prüfen Sie zuerst Ihre autoloaded Daten. WP Engine empfiehlt, die Summe der autoloaded Optionen unter 800 KB zu halten. Darüber lädt jeder Admin-Request ein übergroßes wp_options-Ergebnis in den Speicher – und weil Admin-Seiten nie gecacht werden, spüren Sie die vollen Kosten bei jedem Klick.

Der 1 MB-Haken

Bei Memcached-Hostern wie WP Engine mit aktivem Object Caching kann Autoload-Ballast über rund 1 MB auch sporadische 502-Fehler auslösen – das Limit von Memcached liegt bei 1 MB pro Schlüssel, das Autoload-Blob landet also unbemerkt nicht im Cache.

Prüfen Sie Ihre Autoload-Größe mit einer einzigen Query:

-- Total autoloaded data (target: under 800 KB)
SELECT ROUND(SUM(LENGTH(option_value)) / 1024, 1) AS autoload_kb
FROM wp_options
WHERE autoload IN ('yes','on','auto','auto-on');

-- Top 20 biggest autoloaded options
SELECT option_name, ROUND(LENGTH(option_value) / 1024, 1) AS kb
FROM wp_options
WHERE autoload IN ('yes','on','auto','auto-on')
ORDER BY LENGTH(option_value) DESC
LIMIT 20;

Typische Übeltäter: alte Transients, Caches der Update-Prüfung und übergroße Theme-/Options-Blobs von Page Buildern. Der sichere Weg ist, Autoload bei einzelnen Optionen abzuschalten – wp option set-autoload OPTION_NAME off – statt Zeilen massenhaft zu löschen. Der Autoloader Optimizer von WP Multitool sortiert die Verursacher und schaltet Autoload gefahrlos ab.

Liegt das Autoload bereits unter 800 KB und Ihr Backend ist immer noch sehr langsam, hat sich der Engpass zu den Hook-Callbacks verschoben – und da setzt der Slow Callback Finder an.

Vorher und nachher: Wie „repariert" aussieht

Ich zeige Ihnen keine erfundenen Kundenzahlen – ein Vorher/Nachher, das Sie nicht selbst gemessen haben, ist Fiktion. Was ich Ihnen geben kann, ist die Tabelle, die ich ausfülle, bevor ich irgendetwas anfasse. Füllen Sie sie zuerst aus, ändern Sie eine Sache nach der anderen und messen Sie nach jeder Änderung neu. Ohne die Vorher-Spalte erfahren Sie nie, welche Maßnahme tatsächlich gewirkt hat.

Messwert Wie Sie ihn erfassen Wie „repariert" aussieht
TTFB im Backend Netzwerk-Tab der DevTools, der erste Dokument-Request auf /wp-admin/. 3-mal laden, den Median nehmen Etwa halbiert gegenüber Ihrem eigenen Ausgangswert – bestanden ist die Differenz, nicht ein absoluter Wert
Autoload-Größe (KB) Die SQL-Query in dem Autoload-Abschnitt Unter 800 KB insgesamt
Langsamster admin_init-Callback (ms) Slow Callback Finder oder microtime()-Differenzen um die Verdächtigen herum Ihr schlimmster Callback deutlich unter seinem Vorher-Wert; die 200 ms aus der Checkliste sind ein grober Anhaltspunkt, keine harte Grenze
Heartbeat-Ticks pro Minute Netzwerk-Tab der DevTools, Filter „admin-ajax", eine Minute lang die Requests mit action=heartbeat in den Nutzdaten zählen Nach der Umstellung auf 120 s etwa ein Tick alle 2 Minuten in einem untätigen Admin-Tab; ein hohes admin-ajax-Aufkommen bei wenigen Heartbeat-Ticks deutet auf Plugins hin, nicht auf Heartbeat
Queries pro Admin-Seite Die Gesamtzahl der Queries in Query Monitor auf einer typischen Seite 50–100; alles über 300 heißt, ein Plugin benimmt sich daneben

Zwei Regeln machen die Zahlen ehrlich. Messen Sie auf derselben Seite, im selben Browser, zur selben Tageszeit – die Backend-Last schwankt mit der Aktivität des Teams. Und ändern Sie zwischen zwei Messungen jeweils nur eine Sache, sonst können Sie die Verbesserung niemandem zuschreiben. Die absoluten Werte zählen weniger als die Differenzen: die Backend-TTFB auf billigem Hosting zu halbieren ist mehr wert als eine „schnelle" Zahl, die Sie nicht reproduzieren können.

FAQ zum langsamen WordPress-Backend

Warum ist mein WordPress-Backend so langsam?

Ihr WordPress-Backend ist langsam, weil wp-admin das Page Caching komplett umgeht. Jeder Admin-Request startet den vollen WordPress-Stack, führt die Admin-Hooks jedes aktiven Plugins aus (admin_init, admin_menu, admin_enqueue_scripts), lädt Ihr komplettes autoloaded Daten-Set aus wp_options und feuert womöglich mehrere admin-ajax.php-Requests parallel. Ihr Frontend kann schnell sein, weil es gecacht ist – Ihr Backend kann das nicht.

Warum ist mein WordPress-Backend langsam, während das Frontend schnell ist?

Frontend-Seiten kommen aus dem Object Cache, dem Page Cache oder einem CDN. Das WordPress-Dashboard wird immer frisch von PHP auf Ihrem Server erzeugt. Ein Plugin, das 50 ms zu admin_init hinzufügt, berührt gecachte Frontend-Seiten überhaupt nicht – aber es summiert sich bei jedem Klick im Backend. Deshalb hilft besseres Hosting kurz, und danach fühlt sich das Backend wieder langsam an.

Warum ist mein WordPress-Dashboard langsam, andere Admin-Seiten aber nicht?

Dann liegt das Problem an der Dashboard-Startseite selbst, nicht an wp-admin insgesamt. Dashboard-Widgets führen bei jedem Laden eigene Queries aus, das Widget „Veranstaltungen & Neuigkeiten" holt einen entfernten WordPress.org-Feed, und Plugin-Widgets rufen oft die API des Anbieters auf, nur um eine Statistikbox anzuzeigen. Entfernen Sie die Widgets, die Sie nicht täglich brauchen, mit remove_meta_box() auf wp_dashboard_setup. Ist jede Admin-Seite gleich langsam, schauen Sie stattdessen auf die autoloaded Daten und die admin_init-Callbacks – dann sind die Widgets nicht Ihr Engpass.

Wie finde ich heraus, welches Plugin das WordPress-Backend ausbremst?

Der manuelle Weg: Plugins einzeln deaktivieren und nach jedem Schritt die Ladezeit im Backend messen. Der schnellere Weg: Hook-Callbacks profilen. Query Monitor zeigt die Datenbank-Queries je Plugin; der Slow Callback Finder von WP Multitool geht tiefer – er sortiert jeden admin_init- und admin_menu-Callback nach Laufzeit, sodass Sie die genaue Funktion sehen, nicht nur den Plugin-Namen.

Wie viele autoloaded Daten sind für wp-admin zu viel?

WP Engine empfiehlt, die autoloaded Daten insgesamt unter 800 KB zu halten. Darüber lädt jeder Admin-Request ein übergroßes wp_options-Ergebnis in den Speicher. Bei Memcached-Hostern wie WP Engine kann Autoload-Ballast über rund 1 MB außerdem 502-Fehler verursachen, weil das Limit von Memcached bei 1 MB pro Schlüssel liegt. Prüfen Sie es mit einer einzigen SQL-Query oder dem Autoloader Optimizer von WP Multitool.

Behebt besseres Hosting ein langsames WordPress-Dashboard?

Manchmal – wenn Sie auf Shared Hosting mit 128 MB PHP-Speicher und ohne Object Cache sitzen. Wenn Sie aber schon bei Managed Hosting sind (WP Engine, Flywheel) und das Backend trotzdem langsam ist, liegt der Engpass fast immer bei Plugin-Callbacks, Autoload-Ballast oder admin-ajax-Verkehr – nicht an der Serverausstattung. Mehr RAM repariert keine 800 ms lange Lizenzprüfung, die auf jeder Admin-Seite läuft.

Wie beschleunige ich das WordPress-Backend, ohne Plugins zu deaktivieren?

Fangen Sie mit drei risikoarmen Änderungen an: (1) Heartbeat von 15 s auf 120 s verlangsamen, (2) Dashboard-Widgets entfernen, die externe APIs aufrufen, (3) Object Caching einschalten, falls Ihr Hoster es unterstützt. Profilen Sie danach die Hook-Callbacks, um die eine Funktion zu finden, die Hunderte Millisekunden kostet – reparieren oder ersetzen Sie dieses Plugin, statt die Site funktional auszudünnen.

Verwandte Guides

Den genauen Callback finden, der Ihr WordPress-Backend ausbremst

Der Slow Callback Finder von WP Multitool misst jeden Hook-Callback in wp-admin und sortiert sie nach Laufzeit. Sie sehen plugin_xyz::check_license() – 847 ms auf admin_init, statt Plugins einzeln zu deaktivieren. Arbeitet neben Query Monitor. Keine Auswirkung aufs Frontend.

Pro kaufen – ab $79/Jahr Guide zu langsamen Queries Oder Lite – $9 einmalig, 11 Module (dieses nicht dabei) →