Wir alle lieben WordPress. Viele von uns hier bei Kinsta haben verschiedene Möglichkeiten, außerhalb der Arbeit zur WordPress-Community beizutragen. Ich selbst betreibe einen Marketing-Blog, in dem ich einzigartige Möglichkeiten teile, wie du deine WordPress-Seite auf die nächste Ebene bringen kannst. Da ich für eine Hosting-Firma arbeite, könnte man meinen, dass meine Seiten wie von Zauberhand funktionieren und nie Probleme haben würden. Jedoch ist WordPress auch nicht alle Tage Sonnenschein. Du wirst zwangsläufig auf vereinzelte Probleme stoßen und deshalb ist es so wichtig, die Tools und das Support-Team vor Ort zu haben, falls du sie hast.
Heute werde ich mich damit beschäftigen, wie ich ein merkwürdiges (wahrscheinlich eines von einer Million) WordPress Performance-Problem auf meiner Seite behoben habe; zusammen mit Werkzeugen und Strategien, die mir zu Hilfe kamen. Obwohl jeder Fall wie dieser ziemlich individuell ist, bleibt der Arbeitsablauf bei der Fehlersuche normalerweise derselbe. Deshalb füge ich eine „Stuff Happens – WP Performance Checkliste“ bei, wie ich sie gerne nenne. Hoffentlich kannst du sie benutzen, wenn du das nächste Mal in der Klemme steckst und WordPress-Performance-Probleme hast, die außerhalb deines Verständnisses oder deiner Kontrolle liegen.
WordPress Performance-Checkliste (Stuff Happens)
Diese Performance-Checkliste ist ein wenig anders. Anstatt zu erläutern, wie du deine WordPress-Seite beschleunigen kannst, konzentriert sie sich darauf, was zu tun ist, wenn du das nächste Mal in der Klemme steckst. Und es wird ein nächstes Mal geben, darauf kannst du dich verlassen. Vielleicht hat sich dein Host gemeldet und gesagt, dass deine Seite den Server überlastet. Oder vielleicht hast du bemerkt, dass etwas deine Seite nach unten zieht, wie die immer so beliebten admin-ajax.php Anfragen.
Bevor du das Handtuch wirfst und die Seite verlässt, befolge die folgenden Empfehlungen. Es gibt für alles eine Antwort, aber sie zu finden, kann manchmal schwierig sein.
- Performance Monitoring implementieren
- Einen Nutzen aus Werkzeugen wie New Relic ziehen
- Staging nutzen – es ist aus einem Grund da
- Investiere in Premium WordPress Hosting
- Wartungsfirmen gehen einen Schritt weiter
- Hab keine Angst, wenn sich Fragen an den Entwickler aufwerfen
- Du kannst jederzeit einen WP-Entwickler anheuern
1. Performance Monitoring implementieren
Man kann nie zu gut vorbereitet sein, wenn es zu dieser Art von Problemen kommt. Eines der besten Dinge, die du tun kannst, um sicherzugehen, dass du über deine Seite Bescheid weißt, bevor deine Besucher es tun, ist die Implementierung von Betriebszeit- und Leistungsüberwachung. Und genau so habe ich ursprünglich auch herausgefunden, dass meine Seite Probleme hat. Kinsta überprüft alle zwei Minuten den Status aller Webseiten, die wir hosten. Das entspricht 720 Überprüfungen für jede gehostete Seite pro Tag.
Tatsächlich haben wir dank New Relic Synthetics und APM auch die Möglichkeit, bei Bedarf eine ganze Reihe verschiedener Datenpunkte bezüglich der WordPress-Seiten zu überwachen:
- Ladezeit für Endbenutzer
- Ladezeit des App-Servers
- Fehlerraten
- Throughput
- Erfolgsquote (Betriebszeit)
- Apdex-Scores
Dies bezieht sich sowohl auf die Betriebszeit als auch auf die Leistungsüberwachung. Wenn eine Seite zusammenbricht, weiß das Kinsta-Team vor dir darüber Bescheid. Wenn eine Seite, die wir überwachen, weit über die akzeptablen internen Leistungsschwellenwerte hinausgeht, werden wir uns auch an dich wenden und dir helfen, das Problem mit deiner Seite zu lösen.
Manchmal kann dies bedeuten, dass wir einen Drittanbieter einbeziehen, besonders wenn ein fehlerhafter Code die Ursache ist. Oder es könnte bedeuten, dass eine Aufstockung der PHP-Mitarbeiter erforderlich ist. Zu guter letzt könnte es etwas sein, das leicht zu beheben ist.
Wir wollen, dass du Erfolg hast, und eine schnelle Seite für deine Besucher zu haben, ist immer eine unserer größten Prioritäten. Wenn wir herausfinden können, dass das Plugin A die Ursache für den Absturz deiner Seite ist, möchten wir, dass du es weißt. Meistens sehen wir viele Performance-Probleme, die von schlechten Plugin-Updates, verpfuschtem Code oder fehlender Unterstützung der neuesten PHP-Version usw. herrühren.
Werkzeuge zur Überwachung von Betriebszeit und Leistung
Wenn du Kinsta nicht verwendest, gibt es immer noch eine Menge Werkzeuge von Drittanbietern, mit denen du dich über die Betriebszeit und die Leistung informieren kannst. Hier sind einige, die du dir vielleicht ansehen solltest:
- updown.io (Überwachung der Betriebszeit)
- Pingdom (Betriebszeit- und Leistungsüberwachung)
- Uptime-Robot (Betriebszeitüberwachung)
- StatusCake (Betriebszeit- und Leistungsüberwachung)
- ManageWP (Betriebszeit- und Leistungsüberwachung)
2. Einen Nutzen aus Werkzeugen wie New Relic ziehen
Werkzeuge wie New Relic sind nicht nur großartig, um die Betriebszeit und die Leistung zu überwachen, sie sind auch von unschätzbarem Wert, wenn man sich auf die Fehlersuche begibt, wo das Leistungsproblem seinen Ursprung hat. Kinsta hat eine New-Relic-Integration, die es den Benutzern ermöglicht, ihre eigenen Lizenzschlüssel zu verwenden. Dies ist zwar nicht in unserem Hosting enthalten, aber unser Support-Team kann dies auf unserer Seite aktivieren und bei Bedarf helfen, Probleme für dich aufzuspüren. Oder du kannst es mit einem kostenlosen Plugin wie Query Monitor ausprobieren.
Es gibt ein paar Orte in New Relic, die helfen können, Leistungsprobleme schnell einzugrenzen. Der erste ist der Reiter „WordPress → Plugins and Themes“. Auf meiner Woorkup-Seite, die ich heute als Fallstudie benutze, konnte ich sofort erkennen, dass das Problem, auf das ich gestoßen bin, höchstwahrscheinlich von dem „gp-premium“-Plugin herrührt, das ich laufen habe. Aber warum? Nun, dazu kommen wir gleich.
Anmerkung: Der obige Abschnitt in New Relic ist nicht immer 100% genau. In diesem Fall war er es. Aber es ist immer empfehlenswert, zumindest dort zuerst nachzusehen.
Nachdem ich also gesehen habe, dass ich ein gutes Gefühl oder eine Ahnung hatte, dass es etwas in meinem „gp-premium“ Plugin ist (welches eine Erweiterung meines GeneratePress WordPress Themes ist). Nachdem ich das wusste, bin ich dann zum Tab „Transactions“ übergegangen. Wir können sofort sehen, dass die Anzahl der admin-ajax.php-Transaktionen durch die Decke ging!
Für diejenigen unter euch, die kein New Relic haben, solltet ihr euch unbedingt unser großartiges Tutorial ansehen, wie man hohen Admin-ajax-Verbrauch auf eurer WordPress-Seite diagnostiziert. Ich konnte auch ständige Admin-ajax Anfragen in meinen WordPress Logs sehen. Du kannst auch unser eingebautes Kinsta APM-Tool nutzen.
Der nächste Schritt war, sich die admin-ajax.php-Übertragungen und Datenbankabfragen genauer anzusehen, die die meiste Zeit in Anspruch nehmen. Du kannst auf die Tabs „Trace Details“ oder „Database queries“ klicken.
Manchmal ist die Abfrage selbst ein Indikator dafür, wo das Problem liegt, aber in diesem Fall war es das nicht. Etwas anderes fiel aber sofort auf, und das war der /gp-premium/
Ordner. Erinnere dich daran, dass wir oben gesehen haben, dass „gp-premium“ angeblich das Plugin war, welches das Problem verursacht hat. Wenn du es normalerweise sowohl in der Plugin/Theme-Sektion als auch in der Trace-Sektion siehst, ist das ein guter Indikator dafür, dass dies ein guter Ort ist, um anzufangen.
…s/gp-premium/library/image-processing-queue/includes/wp-background-process.php
Der nächste Schritt war, zu Google zu gehen! Ja, Google kann in solchen Fällen tatsächlich recht hilfreich sein.
Also suchte ich nach „Image Processing Queue“. Das allererste Ergebnis, das herauskam, war das Image Processing Queue-Plugin von Delicious Brain. Beim Lesen der Beschreibung konnte ich sehen, dass dieses für die Bildbearbeitung für WordPress-Themes verwendet wurde. Im Wesentlichen werden die Bildgrößen in aller Ruhe im Hintergrund mit WP Queue generiert.
Eine schnelle Suche desselben Begriffs zusammen mit „GeneratePress“ führte zu ihrem letzten Changelog. Tada! Ja, der Bildumwandler wurde kürzlich in GeneratePress von Aqua Resizer zu Image Processing Queue umgestellt. Das war ungefähr zu der Zeit, als ich mein Theme aktualisiert hatte, und sonst hatte sich auf meiner Seite nicht viel geändert. Deshalb sind Changelogs so wichtig! Sie können wie Brotkrumen zur Fehlerbehebung sein.
Das Rätselhafte war, dass ich andere Seiten hatte, auf denen GeneratePress lief, die dieses Problem nicht hatten. Obwohl ich also vielleicht eine gute Ahnung hatte, was vor sich ging, war ich mir immer noch nicht 100% sicher. Also war der nächste Schritt, meine Staging-Umgebung auf Vordermann zu bringen, um mit dem Fehlerbeheben bei WordPress zu beginnen.
3. Staging nutzen – es ist aus einem Grund da
Um ehrlich zu sein, weiß ich nicht, was ich ohne Staging-Umgebungen machen würde. Wenn es darum geht, Probleme wie diese zu lösen, sind sie sehr nützlich. Zum Glück hat Kinsta einfach zu bedienende Staging-Umgebungen. Also bin ich in das MyKinsta-Dashboard gegangen und habe eine Kopie meiner Produktionsstätte ins Staging geschoben. Wenn dein WordPress-Host keine Staging-Umgebungen anbietet, könntest du auch ein Plugin wie WP Staging verwenden, obwohl das nicht so einfach ist.
Nachdem ich meine Dev-Seite zum Laufen gebracht hatte, war die erste Aktion, alle meine Plugins massenweise zu deaktivieren. Ich habe bemerkt, dass eine Menge Leute dazu neigen, diesen einfachen Schritt zu vernachlässigen. Es ist fast so, als würde ein Neustart deines Computers ein Problem nicht beheben. Ich habe früher im Computer-Support gearbeitet, also lassen wir uns nicht auf diese Dikussion ein. 🐰
Das Wichtigste ist immer zuerst alle deine Plugins zu deaktivieren. Dies ist bei weitem einer der einfachsten Wege, um Probleme einzugrenzen. Gehe einfach zu Plugins, wähle alle aus und wähle „Deactivate“ von den Hauptoptionen.
Nachdem ich dies getan hatte, fielen die Antwortzeiten in New Relic auf meiner Seite sofort wieder auf normal zurück. Also wusste ich, dass es ein Plugin war, welches das Problem verursacht hat. Und aufgrund der Tatsache, dass ich oben bereits einige Fehlerbehebungen durchgeführt hatte, hatte ich eine Ahnung, dass es immer noch das „gp-premium“-Plugin war.
Also habe ich das „gp-premium“-Plugin reaktiviert, um zu überprüfen, ob ich das Problem reproduzieren konnte. Und ja, die Ladezeiten (Webtransaktionszeiten) gingen sofort wieder hoch.
Großartig! Also kann ich zu 100% bestätigen, dass es das Plugin war. Aber was jetzt? Das hilft mir nicht, mein Problem zu beheben. Nun, aufgrund der Tatsache, dass es aus der Bildbearbeitungs-Warteschlange zu kommen schien, war der nächste Hinweis, CRON-Jobs und Transients zu überprüfen. Wann immer du Warteschlangen jeglicher Art hast, überprüfe immer diese Bereiche. Tatsächlich empfehle ich immer, sie zu überprüfen. Autoloaded-Data ist ein weiterer üblicher Übeltäter.
Vorgeschlagene Lektüre: Wie man den von WordPress verpassten Terminplan-Fehler behebt (2 Methoden).
Transients sind eine einfache Form des WordPress-Caching mit angehängten Ablaufzeiten. Um meine Transienten schnell ansehen zu können, habe ich das kostenlose Transients-Manager-Plugin von Pippin Williamson installiert. Beim Start fiel mir sofort wieder etwas auf und das war ein transientes Element namens wp_image_processing_queue_process_lock
„. Außerdem war er so eingestellt, dass es in einer Minute abläuft und immer wieder neue auftauchen.
Obwohl das Plugin selbst eine Möglichkeit hat, Transienten zu löschen, hat es nicht funktioniert. Also war es an der Zeit, in der Datenbank nachzusehen. Also loggte ich mich in phpmyadmin ein. Transienten werden in der wp_options
-Tabelle gespeichert, also habe ich eine schnelle Abfrage über den „Search“-Tab gemacht, um alle Zeilen zu finden, die diesen Optionsnamen enthalten.
SELECT * FROM wp_options WHERE option_name LIKE '%wp_image_processing%'
Huch! Es stellte sich heraus, dass ich 695.846 Zeilen mit %wp_image_processing%
hatte. 😲
Hier kommt Staging ins Spiel. Da es nicht schaden konnte, Dinge zu zerstören oder zu testen, habe ich alle Zeilen, die dies enthielten, manuell gelöscht. Ich habe die folgende Abfrage aus dem „SQL“-Tab ausgeführt, um alle Zeilen zu löschen, die diesen Optionsnamen enthalten:
DELETE FROM wp_options WHERE option_name LIKE '%wp_image_processing%'
Und wie durch Zauberei gingen die Antwortzeiten für meine Seite sofort nach dem Löschen der Zeilen wieder auf normal zurück. 👏
Also, wie ich schon sagte, ist dies nicht auf meinen anderen Seiten passiert, die GeneratePress benutzen. Sie hatten auch nicht diese zusätzlichen vorübergehenden Zeilen in der Datenbank. Vielleicht wurde beim Upgrade etwas nicht so gelöscht, wie es eigentlich sollte. Es scheint also nicht die Schuld des Entwicklers zu sein, sondern wahrscheinlich einfach eine Beschädigung des transienten Caches.
Dies könnte mit jedem Plugin oder Theme passiert sein. GeneratePress ist in der Tat eines meiner Lieblings-WordPress-Produkte aller Zeiten. Schon erschrocken? Nun, das sind einige der Freuden, die WordPress begleiten!
Wenn du keinen der obigen Punkte verstanden hast, dann empfehle ich dir dringend, dir den Rest der unten stehenden Schritte anzuschauen, wenn es um die Behebung von Problemen wie diesen geht.
4. Investiere in Premium WordPress Hosting
Probleme wie die oben genannten sind genau der Grund, warum es wichtig ist, in hochwertig verwaltete WordPress Host wie Kinsta zu investieren.
Im Gegensatz zu dem, was manche Leute euch glauben machen wollen, gibt es keine Plattform oder Host, die fehlerhaften Code auf magische Art und Weise reparieren kann. Auch wenn meine Woorkup-Seite bei Kinsta gehostet wird, können kleine Dinge wie ein schlechtes Plugin-Update, oder in diesem Fall, beschädigte Transienten, WordPress in die Knie zwingen! Dies ist ein Grund, warum wir automatische Backups, Staging-Umgebungen und eine New-Relic-Integration haben. Diese Funktionen und Werkzeuge helfen dabei, deine Seite zu schützen und Probleme schnell zu beheben.
Hier kann auch unser erfahrenes Support-Team bei Kinsta helfen, falls du auf Probleme wie das oben beschriebene stoßen solltest. Unser Support-Team beschäftigt sich jeden Tag mit individuellen und komplexen Problemen wie diesen. Und auch wenn wir schlechte Codes nicht für dich beheben können, können wir dir in der Regel zumindest helfen, dir die richtige Richtung zu weisen. Dazu könnte ein ähnlicher Prozess gehören, z.B. New Relic zu aktivieren, es eine Weile laufen zu lassen und dann unser Team für einen Moment zu den WordPress-Detektiven werden zu lassen.
Wenn du kein Kinsta-Kunde bist, empfehlen wir dir, dass du dich bei jedem Host deiner Wahl vergewissern solltest, dass sein Support-Team erstklassig ist! Wir nehmen dies so ernst, dass wir weniger als 1% der Bewerber einstellen, die sich um einen Platz in unserem Team bewerben.
Und natürlich kommt es auf die Infrastruktur an, wenn es um die Leistung geht und nicht darum, unter der Last zu zerbrechen. Hier sind ein paar Möglichkeiten, wie Kinsta dir hilft, deine Seite schnell zu betreiben, damit du keine Performance-Probleme bekommst:
- Wir verwenden isolierte LXC-Softwarecontainer, was bedeutet, dass keine Ressourcen geteilt werden.
- Unsere Kunden können ohne Aufpreis aus 37 Rechenzentren rund um den Globus wählen. Dies verringert die Verzögerungen, egal wo du dich befindest.
- Wir nutzen das Premium-Tier-Netzwerk der Google Cloud Platform (kein Standard-Tier). Dies garantiert blitzschnelle Netzwerkgeschwindigkeiten.
- Wir implementieren immer die neuesten und besten Versionen von PHP. Wir waren der erste Managed Host, der PHP 7.2 eingesetzt hat, welches 3x schneller als PHP 5.6 ist. Wir haben auch PHP 7.3 verfügbar, welches im Durchschnitt 9% schneller ist als PHP 7.2. PHP 8.1 ist jetzt auch verfügbar. Schaut euch unsere PHP-Benchmarks
- Wir haben uns mit einem CDN-Provider zusammengetan, der von Grund auf mit dem Fokus auf Hochleistung aufgebaut wurde.
Du kannst dir all die anderen Möglichkeiten ansehen, warum Kinsta anders ist.
5. Brauchst du noch mehr Hilfe? Es gibt Wartungsfirmen dafür
In den letzten fünf Jahren ist eine neue Art von Unternehmen in der Branche entstanden: WordPress Wartungsfirmen. Diese Firmen bieten etwas andere Dienstleistungen an als wir bei Kinsta und können in manchen Fällen all eure lästigen WordPress-Aufgaben übernehmen. Hier sind nur ein paar Beispiele:
- Einrichtung der Google Search Console
- Integration von Google Analytics
- Wöchentliche Keyword-Ranking-Berichte + Analyseberichte
- App zur Analyse von sozialen Medien
- Handy + Tablet-Optimierung
- Plugin-Entwicklung
- Unbegrenzte Bearbeitungen (das ist richtig, einige erledigen sogar kleine Aufgaben wie das Aktualisieren deines Logos, das Hinzufügen eines WooCommerce-Produkts usw.)
Und ja, viele von ihnen bieten tägliche oder wöchentliche Betriebszeit- und Leistungsüberwachung. Unten sind einige WordPress-Wartungsfirmen, die du dir ansehen solltest. Hinweis: Wir nehmen unsere Empfehlungen sehr ernst!
SkyrocketWP
SkyrocketWP bietet WordPress-Wartungsservice, Support und eine Hosting-Lösung, die für den Umgang mit WordPress gebaut wurde, für Leute, die lieber ihr Geschäft ausbauen möchten. Wir haben sogar eine Fallstudie mit ihnen gemacht, schau dir das mal an!
WP-Tonic
WP-Tonic bietet einen echten Boutique-Concierge-Support- und Wartungsservice für vielbeschäftigte Geschäftsinhaber. Du hast keine Zeit, deine WordPress-Probleme zu lösen? Dann lass WP-Tonic das für dich erledigen. Sie betreiben auch einen beliebten Podcast, in dem sie die Besitzer und Entwickler von WordPress-Geschäften interviewen, um einen Einblick in das Geschehen in der Branche zu bekommen. Sieh dir auch unser Interview mit ihrem Gründer an.
WP Buffs
WP Buffs bietet WordPress-Betreuungspläne für seriöse Webseiten-Besitzer und White-Label-Agentur-Partner an. Wie sie auf ihrer Seite sagen: „Sag Hallo zu deinem neuen WP CTO!“ Übrigens: WP Buffs wird voller Stolz von Kinsta gehostet.
6. Hab keine Angst, wenn sich Fragen an den Entwickler aufwerfen
Nachdem du eingegrenzt hast, was die Ursache für dein WordPress Performance-Problem sein könnte, scheue dich nicht, das Problem beim Entwickler anzusprechen! Oftmals sind die Entwickler mehr als glücklich zu helfen und wollen sogar wissen, was passiert, wenn etwas kaputt geht, damit sie Fehlerbehebungen für alle herausgeben können.
Ich habe mich mit Tom, dem Entwickler von GeneratePress, in Verbindung gesetzt und er hat sofort geantwortet, wie er es immer tut. Wir schieben das Problem den korrupten Transienten zu, aber wie du sehen kannst, wird er tatsächlich die Warteschlangenmethode für Bilder ändern (teilweise aufgrund dessen). Dein Feedback als Benutzer kann also definitiv den Entwicklern helfen, Entscheidungen auf höherer Ebene zu treffen, was am besten in ihren Plugins oder Themes implementiert oder geändert werden sollte.
7. Du kannst jederzeit einen WP-Entwickler anheuern.
Im schlimmsten Fall kannst du jederzeit einen WordPress-Entwickler beauftragen, dein Problem zu beheben. Vielleicht hast du entdeckt, dass das Plugin, das du benutzt, einen schlechten Code hat und der Ersteller kann oder will ihn nicht beheben. Oder vielleicht benötigst du zusätzliche Performance-Optimierungen, die über die Möglichkeiten unseres Support-Teams hier bei Kinsta hinausgehen.
Der schwierige Teil beim Einstellen eines Entwicklers ist das Finden von jemanden, der seriös und hervorragend in dem ist, was er tut.
Wir empfehlen Codeable sehr, da sie dem gleichen Auswahlverfahren folgen, das wir auch für unser Team hier bei Kinsta verwenden. Ihre Entwickler werden alle vorab geprüft, bevor sie dem Service beitreten dürfen; die Portfolios und Lebensläufe werden von Codeable-Mitarbeiter persönlich überprüft. Sie haben über 25.000 Kunden und nur 300 WordPress-Experten. Nur 2% der Bewerber werden akzeptiert. Sie wollen nur die Besten der Besten, was dir als Kunde eine Menge Zeit und Frustration ersparen kann.
Schreibe einen Kommentar