Ajax ist eine JavaScript-basierte Webtechnologie, die dir hilft, dynamische und interaktive Webseiten zu erstellen. WordPress nutzt Ajax, um viele seiner Kernfunktionen im Adminbereich zu nutzen, wie zum Beispiel das automatische Speichern von Beiträgen, die Verwaltung von Benutzersitzungen und Benachrichtigungen.

Standardmäßig leitet WordPress alle Ajax-Aufrufe über die admin-ajax.php – Datei, die sich im Verzeichnis /wp-admin der Webseite befindet.

Zahlreiche gleichzeitige Ajax-Anfragen können zu einer hohen admin-ajax.php – Nutzung führen, was den Server und die Webseite erheblich verlangsamt. Das ist eines der häufigsten Probleme vieler nicht optimierter WordPress-Seiten. Typischerweise macht es sich durch eine langsame Webseite oder einen HTTP-5xx-Fehler (meistens 504 oder 502 Fehler) bemerkbar.

In diesem Artikel erfährst du mehr über die admin-ajax.php – Datei von WordPress, wie sie funktioniert, ihre Vor- und Nachteile und wie du das Problem der hohen admin-ajax.php – Nutzung diagnostizieren und beheben kannst.

Bist du bereit loszulegen? Los geht’s!

Was ist die admin-ajx.php Datei?

Die admin-ajax.php – Datei enthält den gesamten Code für das Routing von Ajax-Anfragen bei WordPress. Ihr Hauptzweck ist es, eine Verbindung zwischen dem Client und dem Server herzustellen, welcher Ajax benutzt. WordPress verwendet sie, um den Inhalt der Seite zu aktualisieren ohne sie neu zu laden, und macht sie so dynamisch und interaktiv für die Benutzer.

Ein grober Überblick, wie Admin Ajax auf WordPress funktioniert

Ein grober Überblick, wie Admin Ajax auf WordPress funktioniert

Da der WordPress-Kern Ajax bereits für die verschiedenen Backend-Funktionen verwendet, könnt ihr die gleichen Funktionen auch für die Verwendung von Ajax auf WordPress nutzen. Alles was du tun musst, ist eine Aktion zu erfassen, sie auf die admin-ajax.php – Datei deiner Seite zu verweisen und zu definieren, wie du den Wert zurückgeben haben willst. Du kannst es so einstellen, dass es HTML, JSON oder sogar XML ausgibt.

admin-ajax.php - Datei in WordPress

admin-ajax.php – Datei in WordPress

Laut WordPress Trac erschien die admin-ajax.php – Datei zuerst in WordPress 2.1. In der WordPress-Entwicklergemeinschaft wird sie auch als Ajax Admin bezeichnet.

Überprüfen der Ajax-Nutzung im MyKinsta-Dashboard

Überprüfen der Ajax-Nutzung im MyKinsta-Dashboard

Die obige Tabelle zeigt nur die Anzahl der admin-ajax.php – Anfragen, jedoch nicht, woher sie kommen könnten. Es ist eine tolle Möglichkeit zu sehen, wann die Ausschläge auftreten. Du kannst sie mit anderen Techniken kombinieren, die in diesem Beitrag erwähnt werden, um die Hauptursache einzugrenzen.

Überprüfung der Anzahl der admin-ajax.php - Anfragen in den Chrome DevTools

Überprüfung der Anzahl der admin-ajax.php – Anfragen in den Chrome DevTools

Du kannst auch die Chrome DevTools benutzen, um zu sehen, wie viele Anfragen an admin-ajax.php gesendet werden. Du kannst auch im Timings-Tab unter der Network-Sektion nachsehen, wie lange es dauert, diese Anfragen zu bearbeiten.

Um den genauen Grund für die hohe admin-ajax.php – Nutzung herauszufinden, gibt es im Wesentlichen zwei Ursachen: eine durch das Frontend und die andere durch das Backend. Wir werden beide weiter unten besprechen.

Ajax betreibt viele wichtige WordPress-Features... aber wenn zu viele Anfragen eingehen, kann es auch deine Seite erheblich verlangsamen. 😱 Hier erfahrt ihr, wie ihr dieses Problem beheben und eure Ajax-Nutzung optimieren könnt: 👇Click to Tweet

Wie man den Fehler der hohen admin-ajax.php-Nutzung auf WordPress behebt

Plugins von Drittanbietern sind einer der häufigsten Gründe für eine hohe Admin-ajax.php-Nutzung. Typischerweise wird dieses Problem auf dem Frontend der Seite sichtbar und taucht häufig in Geschwindigkeitstestberichten auf.

Aber nicht nur Plugins sind hier als Themes schuld, auch der WordPress-Kern, der Webserver und eine DDoS-Attacke können der Grund für eine hohe Admin-Ajax-Nutzung sein.

Lasst sie uns genauer untersuchen.

Wie man den Ursprung der hohen admin-ajax.php-Nutzung für Plugins und Themes bestimmt

Ajax-angetriebene Plugins im WordPress.org-Repository

Ajax-angetriebene Plugins im WordPress.org-Repository

Ajax wird oft von WordPress-Entwicklern verwendet, um dynamische und interaktive Plugins und Themes zu erstellen. Einige beliebte Beispiele sind das Hinzufügen von Funktionen wie Live-Search, Produktfilter, endloses Scrollen, dynamischer Warenkorb und Chatbox.

Nur weil ein Plugin Ajax benutzt, heißt das nicht, dass es deine Seite verlangsamt.

Betrachten der admin-ajax.php Anfrage im WebPage-Testbericht

Betrachten der admin-ajax.php Anfrage im WebPage-Testbericht

Normalerweise wird Admin Ajax zum Ende der Seite geladen. Außerdem kannst du Ajax-Anfragen so einstellen, dass sie asynchron geladen werden, sodass sie wenig bis gar keinen Einfluss auf die wahrgenommene Leistung der Seite für den Benutzer haben können.

Wie ihr im obigen WebPage-Testbericht sehen könnt, lädt admin-ajax.php zum Ende der Anfragen-Warteschlange, aber es dauert immer noch 780 ms. Das ist eine Menge Zeit für nur eine Anfrage.

GTmetrix-Bericht, der auf einen ernstzunehmenden Admin-ajax. php-Nutzungsanstieg hinweist

GTmetrix-Bericht, der auf einen ernstzunehmenden Admin-ajax. php-Nutzungsanstieg hinweist

Wenn Entwickler Ajax nicht richtig in WordPress implementieren, kann das zu drastischen Performance-Problemen führen. Der obige GTmetrix-Bericht ist ein perfektes Beispiel für ein solches Verhalten.

Du kannst GTmetrix auch dazu benutzen, um in einzelne Post- und Antwortdaten einzusehen. Du kannst diese Funktion verwenden, um die Ursache für das Problem zu finden.

Geh dazu auf den Waterfall-Tab des GTmetrix-Berichts und klicke auf den Item POST admin-ajax.php. Du wirst drei Tabs für diese Anfrage sehen: Header, Post und Response.

POST admin-ajax.php Kopfzeilen-Daten der Anfrage

POST admin-ajax.php Kopfzeilen-Daten der Anfrage

Wenn du den Post- und Reponse-Tabs der Anfrage untersuchst, findest du einige Hinweise, um die Gründe hinter dem Leistungsproblem herauszufinden. Für diese Seite kannst du Hinweise im Response-Tab sehen.

POST admin-ajax.php Antwortdaten der Anfrage

POST admin-ajax.php Antwortdaten der Anfrage

Du kannst sehen, dass ein Teil der Antwort etwas mit einem Input-Tag mit id, welches auf „fusion-form-nonce-656“ festgelegt ist.

Eine schnelle Suche nach diesem Hinweis führt euch zur Webseite von ThemeFusion, den Erfindern des Avada-Themes. Daraus kannst du schließen, dass die Anfrage aus dem Theme oder einem der Plugins stammt, mit denen es gebündelt ist.

In einem solchen Fall musst du zuerst sicherstellen, dass das Avada-Theme und alle zugehörigen Plugins vollständig aktualisiert sind. Wenn das das Problem nicht behebt, kannst du versuchen, das Theme zu deaktivieren und sehen, ob das Problem dadurch behoben wird.

Im Gegensatz zum Deaktivieren eines Plugins ist das Deaktivieren eines Themes in den meisten Fällen nicht möglich. Versuche daher, das Theme zu optimieren, um Engpässe zu beseitigen. Du kannst dich auch an das Support-Team des Themes wenden, um zu sehen, ob sie eine bessere Lösung vorschlagen können.

Das Testen einer anderen langsamen Webseite in GTmetrix führte zu ähnlichen Problemen mit dem Visual Composer Page Builder und den Notification Bar Plugins.

Die Antwortdaten einer weiteren POST admin-ajax.php-Anfrage

Die Antwortdaten einer weiteren POST admin-ajax.php-Anfrage

POST admin-ajax.php-Anfrage der Postdaten

POST admin-ajax.php-Anfrage der Postdaten

Wenn du ein Problem mit dem Plugin nicht lösen kannst, hast du glücklicherweise viele alternative Plugins zur Verfügung, die ausprobieren kannst. Wenn es zum Beispiel um Seitenbauer geht, könntest du auch Beaver Builder oder Elementor ausprobieren.

Wie man den Ursprung von hohen admin-ajax.php bestimmt

Manchmal sind die Post- und Antwortdaten in den Geschwindigkeitstestberichten nicht so klar und eindeutig. Hier ist es nicht so einfach, den Ursprung der hohen admin-ajax.php-Nutzung zu finden. In solchen Fällen kannst du es immer noch nach bewährten Methoden machen.

Deaktiviere alle Plugins deiner Seite, leere den Cache deiner Seite (falls vorhanden) und führe dann erneut einen Geschwindigkeitstest durch. Wenn die admin-ajax.php noch vorhanden ist, dann ist der wahrscheinlichste Übeltäter das Theme. Wenn es aber nirgendwo zu finden ist, dann musst du jedes Plugin einzeln aktivieren und jedes Mal die Geschwindigkeitstests durchführen. Durch den Prozess der Beseitigung werdet ihr den Ursprung des Problems feststellen.

Tipp: Die Verwendung einer Staging-Umgebung (z.B. Kinsta’s Staging-Umgebung) ist eine gute Möglichkeit, Tests auf deiner Seite durchzuführen, ohne deine Live-Seite zu beeinträchtigen. Sobald du die Ursache ermittelt und das Problem in der Staging-Umgebung behoben hast, kannst du die Änderungen auf deine Live-Site übertragen.

Backend-Server-Probleme mit admin-ajax.php diagnostizieren

Der zweithäufigste Grund für eine hohe admin-ajax.php – Nutzung ist die WordPress Heartbeat API, die häufige Ajax-Aufrufe generiert, was zu einer hohen CPU-Auslastung des Servers führt. Typischerweise wird dies dadurch verursacht, dass viele Benutzer im WordPress-Backend-Dashboard eingeloggt sind. Daher wirst du das bei Geschwindigkeitstests nicht sehen.

Standardmäßig fragt die Heartbeat-API die admin-ajax.php – Datei alle 15 Sekunden ab, um Beiträge oder Seiten automatisch zu speichern. Wenn du einen Shared-Hosting-Server verwendest, dann hast du nicht viele Server-Ressourcen für deine Seite. Wenn du einen Beitrag oder eine Seite bearbeitest und den Tab für eine gewisse Zeit offen lässt, kann das eine Menge Admin-Ajax-Anfragen nach sich ziehen.

Bist du es leid, Probleme mit deiner WordPress-Seite zu haben? Hol dir den besten und schnellsten Hosting-Support von Kinsta! Schau dir unsere Pläne an

Wenn du zum Beispiel Beiträge schreibst oder bearbeitest, kann ein einzelner Benutzer allein 240 Anfragen in einer Stunde generieren!

Häufige Autosave-Admin-ajax.php-Anfragen

Häufige Autosave-Admin-ajax.php-Anfragen

Das sind viele Anfragen auf dem Backend mit nur einem User. Nun stell dir eine Seite vor, auf der mehrere Editoren gleichzeitig eingeloggt sind. Solch eine Seite kann Ajax-Anfragen schnell verarbeiten, was zu einer hohen CPU-Auslastung führt.

Kinsta stieß genau auf dieses Problem, als es DARTDrones half, ihre WooCommerce-Seite für einen Auftritt bei Shark Tank zu skalieren.

Sie erhielten über 4.100 admin-ajax.php – Anrufe an einem Tag mit nur 2.000 einzelnen Besuchern. Das ist ein schwaches Verhältnis von Anfragen zu Besuchen.

Heavy admin-ajax.php usage on dartdrones.com

Heavy admin-ajax.php usage on dartdrones.com

Kinsta’s Team bemerkte die /wp-admin Referenz-URL und stellte die Ursache korrekt fest. Diese Anfragen kamen dadurch zustande, weil die Admins und Editoren von DARTDrones die Seite in Vorbereitung auf die Show häufig aktualisierten.

WordPress hat dieses Heartbeat-API-Problem teilweise schon vor langer Zeit behoben. Zum Beispiel kann man die Häufigkeit der Anfragen reduzieren, die von der Heartbeat API auf Hosts mit begrenzten Ressourcen generiert werden. Außerdem schaltet sie sich nach einer Stunde Inaktivität von Tastatur/Maus/Touch selbst ab.

Verwendung von Heartbeat Control Plugin, um Ajax-Anfragen zu reduzieren

Du kannst dieses Problem ganz einfach beheben, indem du das Heartbeat Control Plugin von WP Rocket benutzt. Es erlaubt dir, die Frequenz der Heartbeat-API mit nur wenigen Klicks zu deaktivieren oder zu ändern.

Das Heartbeat Control Plugin

Das Heartbeat Control Plugin

Wenn das Heartbeat Control Plugin installiert und aktiviert ist, kannst du die Frequenz der Heartbeat API auf dem WordPress Dashboard, dem Seiten-Frontend und dem Post-Editor verwalten.

Dashboard mit 'Allgemeinen Einstellungen' vom Heartbeat Control Plugin

Dashboard mit ‚Allgemeinen Einstellungen‘ vom Heartbeat Control Plugin

Wenn dein Server begrenzte CPU-Ressourcen hat, empfehle ich dir, den Heartbeat sowohl auf dem WordPress Dashboard als auch auf dem Frontend zu deaktivieren. Du kannst auch die Heartbeat-Frequenz für die Option ‚Post-Editor‘ ändern und sie auf 30 Sekunden (oder sogar 60 Sekunden) erhöhen. Je höher die Frequenz, desto größer ist die Einsparung an Server-Ressourcen.

Die genauen Einstellungen, die ihr verwenden müsst, variieren von Seite zu Seite. Wenn ihr euch nicht sicher seid, was ihr verwenden sollt, könnt ihr euch an euren Webentwickler wenden.

Hoher Traffic durch eine DDoS-Attacke oder Spam-Bots

Das Überfordern deiner Seite mit einer DDoS-Attacke oder Spam-Bots kann auch zu einer hohen admin-ajax.php – Nutzung führen. Allerdings zielt eine solche Attacke nicht unbedingt auf zunehmende Admin-Ajax-Anfragen ab. Es ist nur Kollateralschaden.

Wenn deine Seite unter einem DDoS-Angriff steht, sollte deine Priorität sein, sie hinter einem robusten CDN/WAF wie Cloudflare oder Sucuri zu schützen. Jedes Hosting-Angebot bei Kinsta beinhaltet auch das Kinsta CDN, das dir dabei helfen kann, die Ressourcen deiner Website zu einem großen Teil auszulasten.

Um mehr darüber zu erfahren, wie du deine Webseiten vor bösartigen Angriffen wie diesen schützen kannst, lies in dieser ausführlichen Anleitung nach, wie du einen DDoS-Angriff stoppst.

Wenn du einen verlangsamten Server und eine verlangsamte Webseite siehst, kann das an zu vielen Ajax-Anfragen liegen. ⏳ Macht euch bereit, den Fehler mit dieser Anleitung zu diagnostizieren und zu beheben!Click to Tweet

Zusammenfassung

WordPress verwendet Ajax in seiner Heartbeat-API, um viele seiner Kernfunktionen zu implementieren. Es kann jedoch zu erhöhten Ladezeiten führen, wenn es nicht korrekt verwendet wird. Dies wird typischerweise durch eine hohe Frequenz von Anfragen an die admin-ajax.php  – Datei verursacht.

In diesem Artikel lernst du die verschiedenen Ursachen für eine hohe admin-ajax.php – Nutzung kennen, wie du diagnostizieren kannst, was für dieses Symptom verantwortlich ist, und wie du es beheben kannst. In den meisten Fällen sollte die Befolgung dieses Leitfadens dazu führen, dass deine Seite in kürzester Zeit wieder einwandfrei funktioniert.

In einigen Fällen ist jedoch ein Upgrade auf einen Server mit höheren Ressourcen die einzig gangbare Lösung. Besonders für anspruchsvolle Anwendungsfälle wie E-Commerce- und Mitgliederseiten. Wenn du eine solche Seite betreibst, solltest du ein Upgrade auf einen gemanagten WordPress Host in Betracht ziehen, der Erfahrung im Umgang mit dieser Art von Leistungsproblemen hat.

Wenn du immer noch mit einer hohen admin-ajax.php – Nutzung auf deiner WordPress-Seite zu kämpfen hast, lass es uns in der Kommentar-Sektion wissen.


Wenn Dir dieser Artikel gefallen hat, dann wirst du Kinsta’s WordPress Hosting-Plattform lieben. Beschleunige deine Webseite und erhalte 24/7 Support von unserem erfahrenen WordPress-Team. Unsere Google Cloud basierte Infrastruktur konzentriert sich auf die Bereiche Auto-Scaling, Performance und Sicherheit. Lass uns dir den Kinsta-Unterschied zeigen! Schau Dir hier unsere Pakete an