Wie reduziert man die admin-ajax.php Serverlast in WordPress?
Die Leistung einer Website ist ein wichtiges Thema für jeden Website-Betreiber. Performance-Probleme können das Nutzererlebnis beeinträchtigen und möglicherweise das SEO-Ranking senken. Google verwendet die Seitenladezeit als Ranking-Kriterium.
Wenn wir über die Leistung einer Website nachdenken, sprechen wir oft über die Ladezeit der Seite. In WordPress ist ein häufiges Szenario, wenn es um Probleme mit der Ladezeit geht, dass diese durch einen Spike in der Datei admin-ajax.php verursacht werden. In diesem Artikel erfahren Sie, wie Sie mit Plugin-Konflikten umgehen, die durch Spikes in der admin-ajax.php-Datei verursacht werden, und wie Sie die Anforderung von Rückrufen reduzieren können, um die Ladezeit deiner WordPress-Website zu optimieren.
Probleme, die admin-ajax.php verursachen kann
Ein Überlaufen der Datei admin-ajax.php kann zu einem Problem mit der Ladezeit der Seite führen, was ein ernstes Problem darstellt. Die goldene Regel im Internet besagt, dass Ihre Website innerhalb von 3 Sekunden oder weniger vollständig geladen sein sollte. Wenn es länger dauert, ist die Wahrscheinlichkeit groß, dass Sie Ihren Besuchern eine schlechte Erfahrung bieten und sie vergraulen.
Eine langsame Seitengeschwindigkeit kann sich auch negativ auf Ihr SEO-Ranking auswirken. Sie sollten wissen, dass Google die Ladegeschwindigkeit als einen der Indikatoren in seinem Algorithmus für das Ranking von Websites verwendet. Außerdem bedeutet eine langsame Seitengeschwindigkeit, dass die Suchmaschine weniger Seiten mit dem ihr zugewiesenen Crawl-Budget crawlen kann, was die Indexierung Ihrer Seiten noch weiter beeinträchtigt.
Einige von uns haben nur dann mit dieser API zu tun, wenn wir Geschwindigkeitstest-Tools wie GTmetrix verwenden, um herauszufinden, warum die admin-ajax.php unsere Websites verlangsamt.
Die Ursachen für Spikes können aus zwei verschiedenen Quellen stammen, entweder durch Plugins von Drittanbietern oder durch WordPress Heartbeat API-Anfragen im Admin-Bereich. Wir werden dies weiter unten näher erläutern.
Wie Plugins die Datei admin-ajax.php überfüllen können
Plugins von Drittanbietern verursachen das häufigste Problem, wenn Benutzer einen Spike auf admin-ajax.php sehen. Wenn es richtig gemacht wird, ist AJAX auf jeden Fall eine gute Sache, denn Entwickler verwenden es in der Regel, um ihren Plugins Funktionen hinzuzufügen. So können Entwickler beispielsweise AJAX-Anfragen verwenden und eine benutzerdefinierte wp_query erstellen, um dynamische Inhalte auf einer gecachten Seite anzuzeigen.
Aber manchmal, wenn viele Plugins diese Abfragen verwenden, können sie einen Überlauf verursachen. Dadurch kann es zu einem Spike kommen und die gesamte Website verlangsamen. Wenn Sie also ein Entwickler sind, finden Sie hier eine Ressource zur richtigen Implementierung von AJAX in Plugins.
Als Eigentümer einer Website sollten Sie die Plugins zunächst diagnostizieren, bevor Sie sie deaktivieren. Dies ist wichtig, um herauszufinden, ob ein bestimmtes Plugin das Problem mit der Ladezeit verursacht.
Plugins untersuchen
Konflikte zwischen Plugins können zu Problemen mit der Ladezeit führen. Nach alter Schule können Sie immer alle Plugins deaktivieren, um das Problem zu beheben, und sie dann nach und nach wieder aktivieren, indem Sie ein Ausschlussverfahren anwenden. Aber das ist definitiv keine gute Lösung.
Wir werden eine geeignetere Methode anwenden, um die Ursache des Problems anhand des folgenden Szenarios herauszufinden.
Nachdem Sie mehrere Plugins aktiviert haben, stellen Sie fest, dass Ihre Website länger braucht, um vollständig zu laden. Dann diagnostizieren Sie die Website mit GTmetrix. Dabei handelt es sich um ein leistungsstarkes, kostenloses Geschwindigkeitstest-Tool, mit dem wir die Antwortdaten der einzelnen Posts einsehen können.
Methode A
Gehen Sie zur GTmetrix-Homepage, geben Sie die URL Ihrer Website ein und klicken Sie auf Analysieren. Es dauert eine Weile, bis Ihre Website vollständig analysiert ist.
Wenn Sie fertig sind, erhalten Sie einen Bericht über den Zustand Ihrer Website, wie z. B. die Leistungsbewertung und Seitendetails. Gehen Sie auf die Registerkarte Wasserfall, um die Elemente der Website genauer zu untersuchen.
Im Waterfall-Fenster werden alle Elemente Ihrer Website angezeigt. Während der Rest der Dateien in Ordnung aussieht, bemerken Sie, dass POST admin-ajax.php eine längere Ladezeit benötigt.
Klicken Sie auf POST admin-ajax.php, und Sie sehen vier verschiedene Registerkarten: Header, Parameter, Post und Antwort. Wenn Sie diese Art von Problem diagnostizieren, sollten Sie sich die Registerkarten Post und Response ansehen.
Bei dieser Website sehen wir einen Hinweis in der Registerkarte Post, da diese Anfrage etwas mit dem Skript „fusion_form_update_view“ zu tun hat.
Dieser Hinweis bringt uns dazu, ein auf dieser Seite eingesetztes Formular, welches Bestandteil von dem AVADA-Theme ist, zu verdächtigen. Um diese Theorie zu überprüfen, deaktivieren wir das Formular auf der Seite und führen einen zweiten Test mit GTmetrix für unsere Website durch.
Methode B
Sie können auch die Chrome-Entwicklerkonsole verwenden, um das verdächtige Plugin zu finden.
Öffnen Sie Ihre Website. Klicken Sie mit der rechten Maustaste auf die Seite -> Untersuchen. Alternativ können Sie auf der Chrome-Registerkarte auf Ansicht -> Entwickler -> Entwicklertools gehen.
Klicken Sie auf die Registerkarte Netzwerk und laden Sie Ihre Website neu.
Geben Sie in das Filterfeld (direkt unter dem roten Punkt) admin ein. Sie werden den Schuldigen für das besagte Problem sehen. Danach können Sie das Plugin deaktivieren und testen, ob das Problem weiterhin besteht.
Wenn Sie als Website-Besitzer dieses Plugin wirklich benötigen, sollten Sie sicherstellen, dass Sie die aktuellste Version verwenden. Wenn Sie das getan haben und das Problem weiterhin besteht, wenden Sie sich an den Plugin-Entwickler und erwähnen Sie diesen Fall.
Wenn der Entwickler das Problem noch nicht lösen kann, können Sie das Plugin jederzeit durch ein neues ersetzen. Das Schöne an WordPress ist, dass es viele ähnliche Plugins gibt, aus denen Sie wählen können. Gehen Sie einfach zum Verzeichnis der WordPress-Plugins und wählen Sie das am häufigsten verwendete und aktualisierte Plugin aus, das die gleiche Funktionalität bietet.
Beschleunigen Sie das Backend Ihrer WordPress-Website
Manchmal kann auch die WordPress Heartbeat API, die im Backend Ihrer Website ausgelöst wird, Leistungsprobleme verursachen. Wie wir bereits erwähnt haben, hilft diese Funktion, Ihre Arbeit automatisch zu speichern – um zu vermeiden, dass Projekte verloren gehen, wenn etwas Unerwartetes passiert, und um gleichzeitiges Schreiben/Bearbeiten richtig zu verwalten.
Die Funktion wird zum Beispiel jedes Mal ausgelöst, wenn Sie einen Beitrag schreiben und die Registerkarte geöffnet lassen. Dies kann zu einer hohen CPU-Auslastung führen, wie Sie an der Anzahl der Rückrufe in der unten stehenden Entwicklerkonsole sehen.
Die CPU-Auslastung ist ein wichtiges Thema für diejenigen, die ein Shared Hosting-Angebot nutzen. Einige Hosting-Provider dulden wahrscheinlich keine hohe CPU-Auslastung und es kann schließlich zu Sperrungen führen, obwohl das bei cloudways nicht der Fall ist.
Um dieses Problem zu lösen, können Sie zwei Dinge tun: Sie können die Heartbeat-API deaktivieren oder die Intervalle zwischen den Überprüfungen verlängern. Da die erste Option nicht praktikabel ist, werden wir stattdessen die zweite verwenden. Um das Intervall zu ändern, benötigen Sie ein Plugin namens Heartbeat Control.
Gehen Sie zu Ihrem Dashboard -> Plugins -> Neu hinzufügen. Suchen Sie das Plugin nach seinem Namen, klicken Sie auf Installieren und aktivieren Sie es.
Nach der Aktivierung gehen Sie zu Einstellungen -> Heartbeat Control Einstellungen. Hier können Sie verschiedene Regeln für verschiedene Standorte festlegen.
Da wir die Häufigkeit der Rückrufe im Post Editor minimieren möchten, können Sie dies überprüfen und die Anzahl der Anfragen auf mehr als 15 einstellen. In diesem Fall werden wir sie auf 200 setzen.
Klicken Sie abschließend auf Änderungen speichern.
Fazit
Sie haben die Heartbeat-API und ihr Nebenprodukt, admin-ajax.php, kennengelernt. Sie haben auch die Probleme kennengelernt, die entstehen, wenn Plugins die Funktion überlasten und zu Verlangsamungen führen. Sie wissen auch, dass die Heartbeat-API selbst ein Problem mit Ihrem Host verursachen kann, wenn Sie sie nicht richtig verwalten.
Denken Sie daran, immer mit GTmetrix nachzusehen, wenn Sie eine Verlangsamung Ihrer Website feststellen. Gehen Sie auf die Registerkarte Wasserfall, navigieren Sie zu POST admin-ajax.php und sehen Sie nach, wie es um Ihre Website steht. Deaktivieren Sie nicht einfach alle Plugins auf einmal, denn manchmal sind sie vielleicht nicht der Übeltäter. Falls doch, sollten Sie sie entweder ersetzen oder die Verwendung der Heartbeat-API einschränken.