Was ist das Query Monitor-Plugin?

Veröffentlicht: 2022-12-07

Wenn Sie jemals auf eine langsame Website gestoßen sind, bei der Sie einfach nicht herausfinden können, wie Sie sie beschleunigen können, oder wenn Sie von einem Kunden Feedback erhalten haben, dass er nach einer Leistungssteigerung sucht, ist das Query Monitor-Plugin möglicherweise Ihr neuer bester Freund. Query Monitor „ist das Entwickler-Tools-Panel für WordPress.

Es ermöglicht das Debuggen von Datenbankabfragen, PHP-Fehlern, Hooks und Aktionen, Block-Editor-Blöcken, eingereihten Skripten und Stylesheets, HTTP-API-Aufrufen und mehr …“. Und besonders wenn Sie ein Entwickler sind, ist es ein Tool, das Sie in Ihrer Toolbox haben möchten, wenn Sie zwangsläufig Fehler oder unerwartetes Verhalten auf WordPress-Websites debuggen müssen.

In diesem Artikel werfen wir einen Blick darauf, was das Query Monitor-Plugin ist und wie es Ihnen als Entwickler helfen kann, bessere Einblicke in den gesamten Code zu erhalten, der auf Ihrer WordPress-Website ausgeführt wird.

Was ist Abfragemonitor

Query Monitor ist ein Plugin, das für Entwickler ein „Schweizer Taschenmesser“ ist. Während Sie vielleicht daran gewöhnt sind, sich die Vorlagen, Skript- und Stil-Enqueues und all die verschiedenen Plugins anzusehen, die auf Ihrer Website verwendet werden, ermöglicht Ihnen Query Monitor, eine Ebene tiefer zu gehen.

Wenn das Query Monitor-Plugin installiert ist, können Sie sich die tatsächlich stattfindenden Datenbankabfragen ansehen, all die verschiedenen Vorlagenteile, die beim Laden einer bestimmten Seite enthalten sind, und wirklich einen Drilldown in alles durchführen, was möglicherweise Leistungsprobleme auf Ihrer verursacht Webseite.

Wann brauchen Sie Query Monitor?

Query Monitor ist am wichtigsten, wenn Sie ein Problem auf Ihrer Website identifiziert haben, sei es ein Problem mit der Gesamtleistung, Probleme auf einer bestimmten Seite oder Probleme, die von einem Tool wie GTMetrix oder Google PageSpeed ​​gemeldet wurden. Wenn Sie diese Tools verwenden, können sie jedoch manchmal das eigentliche Problem verschleiern.

Wenn Sie beispielsweise einen niedrigen Leistungswert in Ihrer Google PageSpeed-Analyse sehen, gibt es eine bösartige Datenbankabfrage, die länger dauert, als sie auf jeder Seite rendern sollte? Da PageSpeed ​​keinen Zugriff auf das Backend Ihrer Website hat, kann es Ihnen keine spezifischeren Informationen als „Dieser Teil Ihrer Website muss schneller sein“ liefern. Hier kommt Query Monitor ins Spiel.

Wie sieht die Query Monitor-Oberfläche aus?

Während Query Monitor über eine Menge integrierter Funktionen verfügt (die Sie als Teil der Dokumentation vollständiger durchsuchen können), konzentrieren wir uns auf drei spezifische Teile des Plugins: Debuggen von Datenbankabfragen, Ermitteln weiterer Informationen über die Vorlagen, die Ihre WordPress-Seite verwendet und tiefer eintauchen, welche Hooks und Aktionen verwendet werden.

Wenn Sie nach der Installation des Query Monitor-Plugins als WordPress-Benutzer angemeldet sind, werden Sie sehen, dass Query Monitor einen eigenen Abschnitt als Teil der Admin-Leiste hat, in dem Sie auf die detaillierten Statistiken zugreifen können, die Ihnen beim Debuggen helfen.

Datenbankabfragen

Wenn Sie das Element Queries im Abschnitt „Abfragemonitor“ der Admin-Leiste auswählen, wird unten auf Ihrem Bildschirm ein Fenster eingeblendet, das die verschiedenen Datenbankabfragen aufschlüsselt, die Ihre Website zum Rendern der Seite, auf der Sie sich befinden, durchgeführt hat.

Hier können Sie Datenbankabfragen nicht nur danach filtern, welcher Teil von WordPress die Abfrage ursprünglich durchgeführt hat, sondern Sie können auch leicht erkennen, wann doppelte Datenbankabfragen durchgeführt wurden, die vom Objekt-Caching profitieren könnten.

Ein Beispiel für den Abfragemonitor, der die verschiedenen Datenbankabfragen für unsere Beispielwebsite anzeigt

Wenn Sie durch diese Liste nach unten scrollen, können Sie jede einzelne Datenbankabfrage sehen, die zum Rendern der Seite verwendet wurde, auf der Sie sich gerade befinden, sowie welchen Teil der WordPress-Codebasis die Datenbank erstellen kann und wie lange die Abfrage für die Ausführung gedauert hat.

Die Spalte Time ist sortierbar, sodass Sie sehr schnell die Abfragen sehen können, deren Ausführung beim Laden der Seite am längsten dauert, und dort mit dem Debuggen beginnen können.

Langsame und doppelte Datenbankabfragen können ein großes Problem für WordPress-Sites sein und oft unbemerkt durchgehen. Wenn Sie sich jedoch mit Query Monitor die Datenbankabfragen ansehen, können Sie feststellen, ob beispielsweise eine Post-Meta-Abfrage umgestaltet werden muss, weil Ihre Website zu groß geworden ist.

Vorlageninformationen

Besonders beim Debuggen unerwarteter Ausgaben am Frontend einer Seite ist es sehr hilfreich zu wissen, welches Template verwendet wird und welche Template-Teile geladen werden. Dies ist ein weiterer Bereich, in dem Query Monitor sehr hilfreich sein kann.

Durch Auswahl der Option Template aus der Dropdown-Liste „Abfragemonitor“ können Sie die Hauptvorlage sehen, die zum Rendern der Seite verwendet wurde, sowie alle verwendeten Vorlagenteile.

Ein Beispiel für Query Monitor, das die Vorlagen zeigt, die zum Laden einer WordPress-Seite verwendet werden

Mit diesen Informationen können Sie nicht nur sehen, welches Template derzeit verwendet wird, Sie können auch einige Informationen darüber erhalten, wie die Template-Hierarchie als Teil der Erstellung dieser Seite geparst wurde und welche Body-Klassen enthalten waren.

Dies macht die Registerkarte Template im Abfragemonitor zu einer sehr leistungsstarken Ansicht, wenn Sie mit dem Debuggen von Front-End-Problemen beginnen.

Wenn Sie beispielsweise ein Plugin haben, das Stile über eine CSS-Klasse auf eine Seite anwenden soll, ist der beste Ort, um mit dem Debuggen von Stilproblemen im Zusammenhang damit zu beginnen, die Template Vorlage zu verwenden, um zu überprüfen, ob diese Körperklasse überhaupt hinzugefügt wird die Seite wie erwartet, bevor Sie sich mit dem Debuggen des CSS befassen.

Haken und Aktionen

Ein weiterer Bereich der WordPress-Ausführung, der schwer zu debuggen sein kann, wird offensichtlich, sobald Sie anfangen, Aktionen und Filter zu verwenden. Aktionen und Filter werden von allen möglichen Plugins und Themes verwendet, um die WordPress-Funktionalität anzupassen, aber Sie können nicht immer sicher sein, dass sie genau so funktionieren, wie Sie es möchten.

Ein häufiges Problem ist beispielsweise, dass eine Funktion mit einer Aktion oder einem Filter verbunden ist, ihre Funktionalität dann jedoch von einer anderen Funktion mit höherer Priorität außer Kraft gesetzt wird. Indem Sie die Registerkarte Hooks and Actions des Abfragemonitors verwenden, können Sie ganz einfach einen Drilldown durchführen und sehen, welche Funktionen mit welchen Aktionen verbunden sind und wo genau im Ausführungs- und Ladezyklus der Seite sie ausgeführt werden.

Ein Beispiel der Registerkarte „Hooks & Actions“ des Abfragemonitors, die zum Debuggen verwendet wird

Die Spalte ganz rechts sagt Ihnen sogar, welche Komponente für die aufgerufene Funktionalität verantwortlich ist. Wenn Sie also einen Konflikt finden, können Sie diesen Teil der Codebasis aufschlüsseln und genau herausfinden, was vor sich geht und was geändert werden muss.

Abfragemonitor vs. WP_DEBUG

Ein häufiges Missverständnis ist, dass Query Monitor Ihnen Zugriff auf Informationen gibt, die verfügbar gewesen wären, wenn Sie die Konstante WP_DEBUG auf Ihrer Website aktiviert hätten. Während Query Monitor einige der gleichen Informationen liefert , die verfügbar wären, wenn Sie Ihre WordPress-Site debuggen würden, wären die oben aufgeführten Informationen ohne umfangreiches Debugging des einzelnen Codes viel schwieriger zu bekommen.

Mit Query Monitor erhalten Sie nicht nur eine schöne, übersichtliche Oberfläche zum Durchsuchen dieser Informationen, sondern Sie erhalten alles sofort einsatzbereit, ohne Ihre Codebasis ändern zu müssen, sodass Sie sehr schnell mit dem Debuggen von Problemen beginnen und herausfinden können, welcher Teil davon Ihre Codebasis muss geändert werden.

Da es nur für angemeldete Benutzer ausgeführt wird, können Sie außerdem sicher sein, dass Nicht-Administratoren Ihrer Website die Debugging-Informationen nicht sehen und dass die Seitenleistung von Benutzern, die nicht angemeldet sind, nicht durch Query beeinträchtigt wird Überwachung läuft.

Einpacken

Besonders wenn Sie nicht wissen, wo Sie mit dem Debuggen eines bestimmten Problems auf Ihrer WordPress-Site beginnen sollen, kann Query Monitor eine großartige Möglichkeit sein, einen allgemeinen Überblick über alle wichtigen Teile des WordPress-Ausführungszyklus zu erhalten. Wenn Sie durch die verschiedenen Registerkarten blättern, können Sie sehen, ob etwas nicht ganz richtig zu sein scheint, und tiefer in diesen bestimmten Teil der Seitenlast eintauchen. Mit diesem leistungsstarken Tool in Ihrer Debugging-Toolbox können Sie Probleme schneller isolieren und mit dem Aufbau Ihrer WordPress-Site fortfahren.

Wofür verwenden Sie Query Monitor und wie hat es Ihrem Workflow geholfen? Lass es uns unten in den Kommentaren wissen.