WordPress-Überwachung
Überwachen Sie jede WordPress-Website, die Sie betreuen
Auf der Website wird nichts installiert. Uptimepage prüft jede WordPress-Website von außen, auf einer Seite, für die ihr Cache nicht einspringen kann, und meldet sich in Slack oder per E-Mail, wenn etwas sie lahmlegt, meist bevor der Inhaber der Website es bemerkt hat.
Prüfen Sie eine Seite, für die der Cache nicht einspringen kann
Die meisten WordPress-Websites haben einen Seitencache vor PHP, durch ein Plugin, den Hoster oder ein CDN. Das ist gut für Besucher und schlecht für die Überwachung: Der Cache kann die Startseite weiter ausliefern, während PHP abgestürzt und die Datenbank nicht erreichbar ist, sodass ein Check auf der Startseite den ganzen Ausfall über grün bleibt. Behalten Sie den Check auf der Startseite, denn sie ist das, was Besucher sehen, und fügen Sie einen auf einer Seite hinzu, die der Cache auslässt, etwa /wp-json/, den Index der REST API. Sie kann ohne PHP und Datenbank nicht antworten, und wenn sie ausfällt, ist WordPress ausgefallen. Sperrt ein Sicherheits-Plugin die REST API für Besucher, antwortet sie mit 401 oder 403, was trotzdem beweist, dass PHP und Datenbank funktionieren; stellen Sie den Check dann so ein, dass er diesen Code erwartet. Manche Cache-Plugins und Hoster cachen auch diese Seite. Ist das bei Ihnen so, nehmen Sie eine andere Seite, die Ihr Cache ausnimmt.
Ein 200 beweist nicht, dass es Ihre Website ist
Eine leere Seite kann mit 200 zurückkommen. Ebenso die Parkseite, die ein Registrar nach einer verpassten Verlängerung schaltet, oder eine gehackte Website, die auf eine fremde weiterleitet. Geben Sie dem Check einen Text mit, den nur Ihre echte Seite enthält, etwa den Namen der Website in der Fußzeile, und eine Antwort ohne diesen Text gilt als Ausfall, egal mit welchem Statuscode.
Updates laufen, wenn Sie nicht hinsehen
Seit WordPress 5.5 können sich Plugins und Themes selbst aktualisieren, und Hintergrund-Updates laufen zweimal am Tag, ob jemand zusieht oder nicht. Seit 6.6 nimmt WordPress ein Plugin-Update zurück, das einen fatalen Fehler auslöst. Ein Update, das eine Seite ohne fatalen Fehler kaputt macht, bleibt live, und dann sind es der Inhalts-Check oder ein Browser-Flow, die es bemerken. Bei einem Monitor, der aus mehreren Regionen geprüft wird, alarmiert ein Aussetzer, den nur eine einzige Region sieht, standardmäßig niemanden, sodass sich der Alarm, den Sie bekommen, auf die Website bezieht und nicht auf einen schlechten Netzwerkpfad. Wenn Sie von Hand aktualisieren, planen Sie vorher ein Wartungsfenster, und die Alarme für diese Website ruhen, bis es endet.
Ein Shop, der lädt, aber nicht verkaufen kann
In einem WooCommerce-Shop können Startseite und Produktseiten problemlos laden, während ein Update, ein Zahlungs-Plugin oder eine Theme-Änderung den Warenkorb oder die Kasse kaputt gemacht hat. Ein Browser-Flow-Check geht den Weg, den ein Käufer geht, bis zu alle fünf Minuten: Er öffnet ein Produkt, legt es in den Warenkorb, geht zur Kasse und prüft, ob der Button „Place order“ (Bestellung aufgeben) da ist. Wählen Sie ein Produkt mit ausgeschalteter Lagerverwaltung, denn der Block-Checkout reserviert den Bestand im Warenkorb bei jedem Laden für einige Minuten. Scheitert ein Schritt, nennt das Ergebnis diesen Schritt, sodass Sie wissen, dass es die Kasse ist und nicht die ganze Website. Wie viele Flow-Checks Sie bekommen, hängt vom Tarif ab.
WP-Cron wartet auf Besucher
Geplante Beiträge, Backup-Plugins und die Hintergrundjobs von WooCommerce warten alle auf WP-Cron, und WP-Cron startet nur, wenn ein Besuch WordPress lädt. Besuche, die der Seitencache beantwortet, laden es nie, also läuft WP-Cron auf einer gecachten Website nur bei den Besuchen, die am Cache vorbeigehen. Websites, die es mit DISABLE_WP_CRON abschalten, verlassen sich stattdessen auf einen System-Cron, und diese Zeile geht bei einem Serverumzug leicht verloren. So oder so meldet sich kein Fehler. Das erste Anzeichen ist ein Beitrag mit dem Hinweis „Missed schedule“ (verpasster Zeitplan) oder ein Backup-Ordner, der seit Wochen nicht mehr wächst. Ein Heartbeat-Check macht aus dieser Stille einen Alarm: Lassen Sie WP-Cron vom System-Cron ausführen, pingen Sie danach die Heartbeat-URL, und wenn die Pings ausbleiben, erfahren Sie es.
Zertifikate und Domains laufen leise ab
Die Erneuerung über Let's Encrypt bricht gern nach einer DNS-Änderung oder einem Serverumzug, und niemand merkt es, bis Browser eine Warnung zeigen. Domains von Kunden liegen oft im eigenen Registrar-Konto des Kunden, bezahlt mit einer Karte, die letztes Jahr abgelaufen ist. Ein TLS-Check warnt, bevor das Zertifikat abläuft. Setzen Sie die Warnschwelle ein paar Tage unter den Punkt, an dem Ihre Erneuerung greift, damit eine normale Erneuerung still bleibt und Sie nur eine fehlgeschlagene erreicht. Ein Domain-Ablauf-Check warnt 30 Tage, bevor die Registrierung endet, und das lässt Zeit, den Kunden anzurufen.
Statusseiten, die Ihre Kunden öffnen können
Ein Kunde kann eine Statusseite mit eigener Marke bekommen, auf der nur seine eigenen Websites stehen. Störungen erscheinen dort, sobald Checks fehlschlagen, und wenn ein Kunde fragt, was letzte Nacht passiert ist, schicken Sie einen Link.
Eine Kundenliste ohne ein Formular pro Website
Für die ersten paar Websites reicht das Formular. Für eine ganze Kundenliste legen der Terraform-Provider, die REST API und der MCP-Server die Monitore in einem Durchgang an, mit denselben Checks und Alarmkanälen auf jedem, und mit Terraform liegt die Liste in einer Datei, die Sie prüfen können.
Eine Crontab für den Benutzer, dem die Website gehört. Setzen Sie die Heartbeat-Periode auf das Cron-Intervall, hier 5 Minuten, mit 5 Minuten Kulanzzeit
# Zuerst in wp-config.php ergänzen: define( 'DISABLE_WP_CRON', true );
# Als Benutzer der Website ausführen, nicht als root: WP-CLI läuft nicht als root.
URL=https://app.uptimepage.dev/ping/your-token
*/5 * * * * cd /var/www/example.com && /usr/local/bin/wp cron event run --due-now --quiet; curl -fsS -o /dev/null "$URL/$?"
# Shared Hosting ohne WP-CLI: Tragen Sie stattdessen dies in das Cron-Feld des Hosters ein,
# im kürzesten Intervall, das der Hoster erlaubt, und passen Sie die Heartbeat-Periode daran an.
# curl -fsS -o /dev/null "https://example.com/wp-cron.php?doing_wp_cron" && curl -fsS -o /dev/null https://app.uptimepage.dev/ping/your-token
Häufige Fragen
Wie überwache ich eine WordPress-Website?
Muss ich ein WordPress-Plugin installieren?
Machen Checks alle 60 Sekunden die Website langsamer?
Ein Sicherheits-Plugin oder eine Firewall blockiert die Checks. Was nun?
Kann es eine WooCommerce-Kasse überwachen?
Kann ein Kunde eine eigene Statusseite bekommen?
Auf einen Blick
- Plugin-Installation keine, Checks laufen von außen
- Prüfintervall alle 60 s
- Alarmkanäle E-Mail, Slack, Telegram, Webhooks + mehr
- WP-Cron Heartbeat aus einem System-Cron
- Ablaufwarnungen SSL-Zertifikat und Domain
- Einstiegspreis kostenlos, ohne Karte
Links
In unter 5 Minuten startklar.
Funktionen · Preise · Notizen