Wordpress

So diagnostizieren Sie eine hohe Admin-Ajax-Nutzung auf Ihrer WordPress-Site

Ajax ist eine JavaScript-basierte Webtechnologie, mit der Sie dynamische und interaktive Websites erstellen können. WordPress verwendet Ajax, um viele seiner Kernfunktionen des Admin-Bereichs zu betreiben, wie 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 befindet sich im der Website /wp-admin Verzeichnis.

Zahlreiche gleichzeitige Ajax-Anfragen können zu hohen admin-ajax.php Nutzung, was zu einer erheblichen Verlangsamung von Server und Website führt. Es ist eines der häufigsten Probleme, mit denen viele nicht optimierte WordPress-Sites konfrontiert sind. Typischerweise manifestiert es sich als langsame Website oder als HTTP-5xx-Fehler (meist 504- oder 502-Fehler).

In diesem Artikel erfahren Sie mehr über WordPress. admin-ajax.php Datei, wie sie funktioniert, ihre Vor- und Nachteile und wie Sie das High diagnostizieren und beheben können admin-ajax.php Nutzungsproblem.

Bereit zu gehen? Lass uns ausrollen!

Was ist die Datei admin-ajx.php?

Der admin-ajax.php Datei enthält den gesamten Code zum Weiterleiten von Ajax-Anfragen auf WordPress. Sein Hauptzweck besteht darin, eine Verbindung zwischen dem Client und dem Server mithilfe von Ajax herzustellen. WordPress verwendet es, um den Inhalt der Seite zu aktualisieren, ohne sie neu zu laden, wodurch sie für die Benutzer dynamisch und interaktiv wird.

Ein grundlegender Überblick über die Funktionsweise von Admin Ajax auf WordPress
Ein grundlegender Überblick über die Funktionsweise von Admin Ajax auf WordPress

Da der WordPress-Kern Ajax bereits verwendet, um seine verschiedenen Backend-Funktionen zu betreiben, können Sie die gleichen Funktionen verwenden, um Ajax auf WordPress zu verwenden. Alles, was Sie tun müssen, ist eine Aktion zu registrieren und auf die Ihrer Website zu verweisen admin-ajax.php Datei und legen Sie fest, wie der Wert zurückgegeben werden soll. Sie können festlegen, dass HTML, JSON oder sogar XML zurückgegeben werden.

admin-ajax.php-Datei in WordPress
admin-ajax.php-Datei in WordPress

Laut WordPress Trac ist die admin-ajax.php Datei erschien zuerst in WordPress 2.1. Es wird auch als bezeichnet Ajax-Admin in der WordPress-Entwicklungs-Community.

 

Überprüfen der Ajax-Nutzung in MyBehmaster Armaturenbrett
Überprüfen der Ajax-Nutzung in MyBehmaster Armaturenbrett

Die obige Tabelle zeigt nur die Menge an admin-ajax.php Anfragen, nicht woher sie kommen könnten. Es ist eine großartige Möglichkeit, um zu sehen, wann die Spitzen auftreten. Sie können es mit anderen in diesem Beitrag erwähnten Techniken kombinieren, um die Hauptursache einzugrenzen.

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

Sie können auch Chrome DevTools verwenden, um zu sehen, an wie viele Anfragen gesendet werden admin-ajax.php. Sie können sich auch bei der Timings Registerkarte unter dem Netzwerk Abschnitt, um herauszufinden, wie lange die Bearbeitung dieser Anfragen dauert.

Um den genauen Grund für High zu finden admin-ajax.php Nutzung gibt es hauptsächlich zwei Hauptursachen: eine durch das Frontend und die andere durch das Backend. Wir werden beide unten besprechen.

Ajax unterstützt viele wichtige WordPress-Funktionen … aber wenn zu viele Anfragen eingehen, kann es auch Ihre Website erheblich verlangsamen. 😱 Erfahren Sie hier, wie Sie dieses Problem beheben und Ihre Ajax-Nutzung optimieren können 👇Klicken Sie, um Tweet

So debuggen Sie eine hohe admin-ajax.php-Nutzung auf WordPress

Plugins von Drittanbietern sind einer der häufigsten Gründe für die hohe Nutzung von admin-ajax.php. Normalerweise wird dieses Problem im Frontend der Site angezeigt und wird häufig in Geschwindigkeitstestberichten angezeigt.

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

Lassen Sie uns sie genauer untersuchen.

So bestimmen Sie den Ursprung der hohen admin-ajax.php-Nutzung für Plugins und Themes

Ajax-gestützte Plugins im WordPress.org-Repository
Ajax-gestützte Plugins im WordPress.org-Repository

Ajax wird häufig von WordPress-Entwicklern verwendet, um dynamische und interaktive Plugins und Themes zu erstellen. Einige beliebte Beispiele sind das Hinzufügen von Funktionen wie Live-Suche, Produktfilter, unendliches Scrollen, dynamischer Einkaufswagen und Chat-Box.

Nur weil ein Plugin Ajax verwendet, bedeutet das nicht, dass es Ihre Site verlangsamt.

admin-ajax.php-Anfrage im WebPageTest-Bericht
Anzeigen der admin-ajax.php-Anforderung im WebPageTest-Bericht

Normalerweise lädt Admin Ajax gegen Ende des Seitenladevorgangs. Außerdem können Sie Ajax-Anforderungen so einstellen, dass sie asynchron geladen werden, sodass dies wenig bis gar keine Auswirkungen auf die wahrgenommene Leistung der Seite für den Benutzer haben kann.

Wie Sie im WebPageTest-Bericht oben sehen können, admin-ajax.php wird gegen Ende der Anfragewarteschlange geladen, dauert aber immer noch 780 ms. Das ist viel Zeit für nur eine Anfrage.

GTmetrix-Bericht, der auf eine ernsthafte Nutzungsspitze von admin-ajax.php hinweist
GTmetrix-Bericht, der auf eine ernsthafte Nutzungsspitze von admin-ajax.php hinweist

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

Sie können GTmetrix auch verwenden, um einzelne Post- und Antwortdaten zu untersuchen. Sie können diese Funktion verwenden, um die Ursache des Problems zu ermitteln.

Gehen Sie dazu zu den GTmetrix-Berichten Wasserfall und klicken Sie dann auf das POST admin-ajax.php Artikel. Sie sehen drei Registerkarten für diese Anfrage: Header, Post und Antwort.

Header-Daten der POST admin-ajax.php-Anfrage
Header-Daten der POST admin-ajax.php-Anfrage

Überprüfen Sie die Anfrage Posten und Antwort Registerkarten geben Ihnen einige Hinweise, um die Gründe für das Leistungsproblem herauszufinden. Für diese Site können Sie Hinweise auf der Registerkarte "Antwort" sehen.

Antwortdaten der POST admin-ajax.php-Anfrage
Antwortdaten der POST admin-ajax.php-Anfrage

Sie können sehen, dass ein Teil der Antwort etwas mit einem Eingabe-Tag zu tun hat, dessen ID auf „fusion-form-nonce-656“ gesetzt ist.

Eine schnelle Suche nach diesem Hinweis führt Sie zur Website von ThemeFusion, den Schöpfern des Avada-Themas. Daraus können Sie schließen, dass die Anfrage vom Theme oder einem der Plugins stammt, mit denen sie gebündelt ist.

In einem solchen Fall müssen Sie zunächst sicherstellen, dass das Avada-Theme und alle dazugehörigen Plugins vollständig aktualisiert sind. Wenn das Problem dadurch nicht behoben wird, können Sie versuchen, das Design zu deaktivieren und festzustellen, ob das Problem dadurch behoben wird.

Im Gegensatz zum Deaktivieren eines Plugins ist das Deaktivieren eines Designs in den meisten Szenarien nicht möglich. Versuchen Sie daher, das Thema zu optimieren, um Engpässe zu beseitigen. Sie können sich auch an das Support-Team des Themes wenden, um zu erfahren, ob es eine bessere Lösung vorschlagen kann.

Das Testen einer anderen langsamen Website in GTmetrix führte zu ähnlichen Problemen mit dem Visual Composer-Seitenersteller und den Plugins für die Benachrichtigungsleiste.

Antwortdaten einer anderen POST admin-ajax.php-Anfrage
Antwortdaten einer anderen POST admin-ajax.php-Anfrage
Post-Daten der POST admin-ajax.php-Anfrage
Post-Daten der POST admin-ajax.php-Anfrage

Wenn Sie ein Problem mit dem Plugin nicht beheben können, stehen Ihnen zum Glück viele alternative Plugins zum Ausprobieren zur Verfügung. Wenn es um Page Builder geht, können Sie beispielsweise auch Beaver Builder oder Elementor ausprobieren.

So bestimmen Sie den Ursprung von High admin-ajax.php

Manchmal sind die Post- und Antwortdaten in Geschwindigkeitstestberichten möglicherweise nicht so klar und eindeutig. Hier den Ursprung von High finden admin-ajax.php die nutzung ist nicht so einfach. In solchen Fällen können Sie es immer nach der alten Schule machen.

Deaktivieren Sie alle Plugins Ihrer Site, leeren Sie den Cache Ihrer Site (sofern vorhanden) und führen Sie dann erneut einen Geschwindigkeitstest durch. Wenn admin-ajax.php noch vorhanden ist, dann ist der wahrscheinlichste Täter das Thema. Wenn es jedoch nirgendwo zu finden ist, müssen Sie jedes Plugin einzeln aktivieren und jedes Mal die Geschwindigkeitstests durchführen. Durch das Eliminierungsverfahren werden Sie den Ursprung des Problems feststellen.

Tipp: Mit einer Staging-Umgebung (z BehmasterStaging-Umgebung von ) ist eine großartige Möglichkeit, Tests auf Ihrer Website durchzuführen, ohne Ihre Live-Website zu beeinträchtigen. Sobald Sie die Ursache ermittelt und das Problem in der Staging-Umgebung behoben haben, können Sie die Änderungen auf Ihre Live-Site übertragen.

Diagnostizieren von Backend-Serverproblemen mit admin-ajax.php

Der zweithäufigste Grund für High admin-ajax.php Verwendung ist die WordPress Heartbeat API, die häufige Ajax-Aufrufe generiert, was zu einer hohen CPU-Auslastung auf dem Server führt. Dies wird normalerweise dadurch verursacht, dass sich viele Benutzer beim WordPress-Backend-Dashboard angemeldet haben. Daher wird dies in Geschwindigkeitstests nicht angezeigt.

Sind Sie es leid, Probleme mit Ihrer WordPress-Site zu haben? Holen Sie sich den besten und schnellsten Hosting-Support mit Behmaster! Sehen Sie sich unsere Pläne an

Standardmäßig fragt die Heartbeat-API die admin-ajax.php Datei alle 15 Sekunden, um Beiträge oder Seiten automatisch zu speichern. Wenn Sie einen Shared Hosting-Server verwenden, stehen Ihrer Site nicht viele Serverressourcen zur Verfügung. Wenn Sie einen Beitrag oder eine Seite bearbeiten und den Tab längere Zeit geöffnet lassen, kann dies viele Admin-Ajax-Anfragen verursachen.

Wenn Sie beispielsweise Beiträge schreiben oder bearbeiten, kann allein ein einzelner Benutzer 240 Anfragen in einer Stunde generieren!

Häufige Anfragen zum automatischen Speichern von admin-ajax.php
Häufige Anfragen zum automatischen Speichern von admin-ajax.php

Das sind viele Anfragen im Backend mit nur einem Benutzer. Stellen Sie sich nun eine Site vor, auf der mehrere Redakteure gleichzeitig angemeldet sind. Eine solche Site kann Ajax-Anfragen schnell anhäufen, was zu einer hohen CPU-Auslastung führt.

Behmaster ist tatsächlich auf genau dieses Problem gestoßen, als es DARTDrones geholfen hat, seine WooCommerce-Site für einen Auftritt auf 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.

Starke Nutzung von admin-ajax.php auf dartdrones.com
Starke Nutzung von admin-ajax.php auf dartdrones.com

Behmaster's Team hat das bemerkt / Wp-admin Referrer-URL und die Ursache richtig ermittelt. Diese Anfragen waren darauf zurückzuführen, dass die Admins und Redakteure von DARTDrones die Site in Erwartung der Show häufig aktualisierten.

WordPress hat dieses Heartbeat-API-Problem teilweise schon vor langer Zeit behoben. Sie können beispielsweise die Häufigkeit der von der Heartbeat-API generierten Anfragen auf Hosts mit begrenzten Ressourcen reduzieren. Es wird auch nach einer Stunde Inaktivität von Tastatur/Maus/Berührung automatisch ausgesetzt.

Verwenden des Heartbeat Control-Plugins zur Reduzierung von Ajax-Anfragen

Sie können dieses Problem einfach beheben, indem Sie das Heartbeat Control-Plugin von WP Rocket verwenden. Es ermöglicht Ihnen, 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, können Sie die Häufigkeit der Heartbeat-API auf dem WordPress-Dashboard, dem Site-Frontend und dem Post-Editor verwalten.

Dashboard "Allgemeine Einstellungen" des Heartbeat Control-Plugins
Dashboard "Allgemeine Einstellungen" des Heartbeat Control-Plugins

Wenn Ihr Server über begrenzte CPU-Ressourcen verfügt, empfehle ich Ihnen, Herzschlag deaktivieren sowohl im WordPress-Dashboard als auch im Frontend. Du kannst auch Heartbeat ändern Frequenz für die Option 'Post-Editor' und erhöhen Sie diese auf 30 Sekunden (oder sogar 60 Sekunden). Je höher die Frequenz, desto größer die Einsparungen bei den verwendeten Serverressourcen.

Die genauen Einstellungen, die Sie verwenden müssen, variieren von Site zu Site. Wenn Sie sich nicht sicher sind, was Sie verwenden sollen, können Sie sich an Ihren Webentwickler wenden.

Hoher Traffic aufgrund eines DDoS-Angriffs oder Spam-Bots

Die Überlastung Ihrer Website mit einem DDoS-Angriff oder Spam-Bots kann ebenfalls zu einem High führen admin-ajax.php Verwendung. Ein solcher Angriff zielt jedoch nicht unbedingt auf steigende Admin-Ajax-Anfragen ab. Es ist nur ein Kollateralschaden.

Wenn Ihre Website einem DDoS-Angriff ausgesetzt ist, sollte Ihre Priorität darin bestehen, sie hinter ein robustes CDN/WAF wie Cloudflare oder Sucuri zu bringen. Jeder Hosting-Plan mit Behmaster dazu zählt Behmaster CDN, das Ihnen helfen kann, die Ressourcen Ihrer Website weitgehend zu entlasten.

Um mehr darüber zu erfahren, wie Sie Ihre Websites vor bösartigen Angriffen wie diesen schützen können, lesen Sie unsere ausführliche Anleitung zum Stoppen eines DDoS-Angriffs.

Wenn Sie einen verlangsamten Server und eine verlangsamte Website sehen, kann dies an zu vielen Ajax-Anfragen liegen. ⏳ Machen Sie sich bereit, es mit dieser Anleitung zu diagnostizieren und zu beheben!Klicken Sie, um Tweet

Zusammenfassung

WordPress verwendet Ajax in seiner Heartbeat-API, um viele seiner Kernfunktionen zu implementieren. Es kann jedoch bei unsachgemäßer Verwendung zu erhöhten Ladezeiten führen. Dies wird in der Regel durch eine hohe Häufigkeit von Anfragen an die . verursacht admin-ajax.php Datei.

In diesem Artikel haben Sie die verschiedenen Ursachen für High kennengelernt admin-ajax.php wie Sie diagnostizieren, was für dieses Symptom verantwortlich ist und wie Sie es beheben können. In den meisten Fällen sollte die Befolgung dieser Anleitung Ihre Website in kürzester Zeit wieder zum Laufen bringen.

In einigen Fällen ist jedoch ein Upgrade auf einen Server mit höheren Ressourcen die einzige praktikable Lösung. Besonders für anspruchsvolle Anwendungsfälle wie E-Commerce und Mitgliedschaftsseiten. Wenn Sie eine solche Site betreiben, sollten Sie ein Upgrade auf einen verwalteten WordPress-Host in Betracht ziehen, der Erfahrung mit der Behandlung dieser Art von Leistungsproblemen hat.

Wenn du immer noch mit High zu kämpfen hast Admin-ajax.php Verwendung auf Ihrer WordPress-Site, teilen Sie uns dies im Kommentarbereich mit.

Verwandte Artikel

0 Kommentare
Inline-Feedbacks
Alle Kommentare anzeigen
Nach oben-Taste