So verwalten Sie die WordPress Heartbeat-API

Veröffentlicht: 2023-01-31

Die WordPress Heartbeat API gibt es seit fast einem Jahrzehnt. Es ermöglichte eine nahtlose Echtzeitkommunikation zwischen dem WordPress-Dashboard und dem Hostserver. Die Heartbeat-API ist in den WordPress-Kern integriert und bietet leistungsstarke Funktionen, die die Website-Administration erheblich verbessern können.

Diese Macht hat jedoch ihren Preis. Es ist die Anzahl der Serverressourcen, die erforderlich sind, um die Kommunikation reibungslos laufen zu lassen. Das Ausführen ressourcenintensiver Websites oder strenge Beschränkungen des Speichers und der CPU-Zeit durch Ihren Hosting-Provider kann zu einer spürbaren Leistungsminderung führen, bei der die Heartbeat-API eine Rolle spielen kann.

In diesem Leitfaden werden wir das Potenzial der WordPress Heartbeat-API und ihre Rolle im WordPress-Ökosystem aufdecken. Sie erfahren, wie die Heartbeat-API funktioniert. Sie erfahren auch, warum Sie möglicherweise erwägen sollten, die Aktivität auf Ihrer WordPress-Site einzuschränken. Dies wird Ihnen helfen, eine bessere Leistung zu erzielen, ohne Ihren Hosting-Plan aktualisieren zu müssen.

Was ist die WordPress Heartbeat-API?

Die WordPress Heartbeat-API ist eine in den WordPress-Kern integrierte Schnittstelle, die eine Echtzeitkommunikation zwischen dem Server und dem WordPress-Dashboard ermöglicht. Die Heartbeat-API wurde erstmals 2013 mit der Veröffentlichung von WordPress 3.6 eingeführt. Es lieferte wesentliche Verbesserungen für das Content-Management und andere Schlüsselbereiche der Website-Administration.

WordPress-Herzschlag-API

Warum ist die Heartbeat-API so wichtig?

Das WordPress-Dashboard ist größtenteils eine clientseitige Anwendung. Das bedeutet, dass der Großteil der Aktion im Browser des Benutzers stattfindet. Als Frontend-Anwendung hat der WordPress-Adminbereich keinen direkten Zugriff auf die WordPress-Datenbank, in der Website-Inhalte und andere wichtige Informationen gespeichert werden.

Um richtig zu funktionieren, muss das WordPress-Dashboard in der Lage sein, mit dem Server zu kommunizieren, um Daten zu senden und zu empfangen. Application Programming Interfaces (APIs) wie die WordPress Heartbeat API ermöglichen es, Updates in Echtzeit zu erhalten, ohne die ganze Seite neu laden zu müssen, um neue Informationen anzuzeigen.

Um ein nahtloses Benutzererlebnis zu bieten, sendet das WordPress-Dashboard hinter den Kulissen häufig genug Anfragen an den Server, um Aktualisierungsverzögerungen für die eingeloggten und auf der Website arbeitenden WordPress-Benutzer zu vermeiden. Die Heartbeat-API sendet alle 15 bis 120 Sekunden Anforderungen an den Server und API-Aufrufe.

Drei Schlüsselfunktionen WordPress Heartbeat API Powers

Die WordPress Heartbeat API unterstützt drei Hauptfunktionen, die die Verwaltung von Websites einfacher und bequemer machen. Diese Funktionen sind automatisches Speichern, Sperren von Inhalten und Dashboard-Benachrichtigungen in Echtzeit. Sie sind besonders wichtig für Community- oder gemeinsam bearbeitete Websites, bei denen mehrere Benutzer gleichzeitig angemeldet und aktiv sind.

1. Automatische Speicherungen und Revisionen

Automatisches Speichern und Überarbeiten sind eine der wichtigsten Funktionen der WordPress Heartbeat API. Immer wenn ein Benutzer im Block-Editor arbeitet, führt WordPress alle 60 Sekunden automatische Inhaltsspeicherungen durch. Dadurch wird sichergestellt, dass keine Änderungen ungespeichert bleiben. Durch das minütliche Senden von Anfragen an den Server speichert die WordPress Heartbeat API eine Arbeitskopie eines Beitrags oder einer Seite in ihrer Datenbank, die dort gespeichert wird, bis eine neue automatische Speicherung ausgeführt wird.

WordPress-Autosaves, die von der Heartbeat-API unterstützt werden, sind äußerst nützlich. Sie können Datenverlust im Falle eines Browserabsturzes oder Verbindungsproblemen verhindern. Automatische Speicherungen ersetzen keine vom Benutzer erstellten Revisionen und sammeln sich nicht in der Datenbank an.

2. Inhaltssperre

Das Sperren von Inhalten ist eine weitere Funktion, die die WordPress Heartbeat API ermöglicht, um WordPress-Websitebesitzern ein besseres Bearbeitungserlebnis zu bieten. Wenn ein Beitrag oder eine Seite gerade bearbeitet wird, sperrt WordPress sie, um zu verhindern, dass andere Benutzer Änderungen daran vornehmen. Die WordPress Heartbeat API sendet alle 15 Sekunden Anfragen an den Server. Es wird eine Benachrichtigung angezeigt, wenn ein anderer Benutzer den gesperrten Inhalt zur Bearbeitung öffnet.

3. Dashboard-Benachrichtigungen in Echtzeit

Die WordPress Heartbeat-API unterstützt Echtzeit-Dashboard-Benachrichtigungen, einschließlich der von Plugins gesendeten. Die Zuverlässigkeit der Client-Server-Kommunikation, die die Heartbeat-API bietet, hat Tausende von WordPress-Plugin-Entwicklern dazu veranlasst, sie in ihre Anwendungen zu integrieren.

Das Standardintervall für WordPress Heartbeat-API-Aufrufe im Admin-Bereich der Website beträgt 15 Sekunden. Plugin-Entwickler, die die API-Funktionalität nutzen möchten, können benutzerdefinierte Intervalle für den Datenaustausch zwischen der Client-Anwendung und dem Server konfigurieren.

Wie funktioniert die WordPress Heartbeat-API?

Die WordPress Heartbeat API verwendet AJAX – Asynchronous JavaScript And XML – um mit dem Server über das Admin-Dashboard zu kommunizieren. Die Anwendungsprogrammierschnittstelle sammelt Daten und sendet sie über ein sogenanntes jQuery-Ereignis. Ein Admin-Ajax-Handler empfängt die Daten und verarbeitet sie serverseitig, um anschließend eine Antwort im JSON-Format vorzubereiten und zurückzusenden.

Wenn das WordPress-Dashboard geladen wird, richtet der clientseitige Code ein Intervall ein, das auch als Tick bezeichnet wird und je nach Aufgabe alle 15 bis 120 Sekunden ausgeführt wird. Der Heartbeat-API-Code hat die Aufgabe, Daten auf der Clientseite zu sammeln und sie an den Server zu übermitteln, um Aktualisierungen zu erhalten.

Die Gesamtzahl der Heartbeat-API-Aufrufe hängt von der Anzahl der aktiven Benutzer ab, die gleichzeitig auf der Website arbeiten. Dies entspricht der Anzahl der geladenen WordPress-Dashboard-Instanzen. Das Öffnen des WordPress-Adminbereichs in mehreren Browserfenstern erzeugt die gleiche Anzahl von Heartbeat-API-Aufrufen, als ob mehrere Benutzer im Backend der Website angemeldet wären und gleichzeitig Aufgaben ausführen würden.

Warum WordPress Heartbeat-API-Aufrufe einschränken?

Das Begrenzen von WordPress Heartbeat-API-Aufrufen kann dazu beitragen, WordPress-Sites zu beschleunigen, denen nur ein sehr begrenzter Pool an Serverressourcen zugewiesen ist, insbesondere wenn es um CPU-Zeit geht. Obwohl die Heartbeat-API wahrscheinlich nicht das Hauptproblem hinter der schlechten Website-Performance ist, sollte sie definitiv berücksichtigt werden.

Jedes Mal, wenn die Heartbeat-API mit dem Server kommuniziert, wird eine POST-HTTP-Anforderung an die Datei admin-ajax.php in wp-admin gesendet. Da Heartbeat-API-Aufrufe alle 15 bis 120 Sekunden an den Server gesendet werden und die Anzahl zunimmt, wenn mehr als ein aktiver Administrator vorhanden ist, kann die API den Server überlasten, was zu einer hohen CPU- und Systemspeicherauslastung führt.

Einige Besitzer von WordPress-Websites können sogar die Heartbeat-API-Aktivität für einen laufenden DDOS-Angriff halten. WordPress Heartbeat-API-Anforderungen können nicht zwischengespeichert werden, sodass jeder Aufruf eine bestimmte Menge an Serverressourcen beansprucht. Wenn der Server seine Ressourcen aktiv nutzt, um API-Aufrufe zu verarbeiten, können Ihre Kunden beim Surfen auf Ihrer Website Verzögerungen beim Rendern von Inhalten feststellen.

Drei Dinge, die Sie beachten sollten, bevor Sie die Heartbeat-API deaktivieren

Das vollständige Deaktivieren der Heartbeat-API ist selten eine gute Idee. Das WordPress-Dashboard verliert größtenteils seine Fähigkeit, mit dem Server in Echtzeit zu kommunizieren. Wenn die Heartbeat-API deaktiviert ist, können Sie keine Benachrichtigungen mehr erhalten. Außerdem können Sie die Sperrung von Inhalten, automatische Speicherungen und Überarbeitungen nicht nutzen.

Die drei wichtigsten Dinge, die Sie beachten sollten, bevor Sie die Heartbeat-API deaktivieren oder ihre Aktivität einschränken, sind:

  • Gastgeber. Überprüfen Sie, wie viel CPU-Zeit und Systemspeicher Ihrer Website zugewiesen sind. Ist die Anzahl der Prozesse, die Ihre Website erstellen kann, begrenzt?
  • Zeitaufwand für die Verwaltung der Website. Wie viel Zeit verbringen Sie mit der Verwaltung und Veröffentlichung von Inhalten? Wie viele aktive Benutzer arbeiten häufig gleichzeitig im WordPress-Dashboard und in den Backend-Oberflächen?
  • Täglicher Verkehr empfangen. Wie viele Besucher pro Tag erhält Ihre WordPress-Website? Haben Sie Caching-Lösungen, um die Belastung des Servers zu verringern?

Abhängig vom Website-Typ und Ihrem aktuellen Hosting-Setup hat die Begrenzung der Anzahl der WordPress Heartbeat-API-Aufrufe unterschiedliche Auswirkungen auf die Gesamtleistung. Wenn Sie eine ressourcenintensive WordPress-Site mit mehreren Benutzern betreiben, die regelmäßige Wartungsarbeiten durchführen und Inhalte veröffentlichen, kann die Reduzierung der Anzahl der Heartbeat-API-Aufrufe sehr vorteilhaft sein. Es kann Ihnen auch dabei helfen, eine Erhöhung Ihrer Hosting-Kosten zu vermeiden, wenn Sie versuchen, zunehmendem Datenverkehr gerecht zu werden.

So verwalten Sie die WordPress Heartbeat-API mit einem Plugin

Der einfachste Weg, WordPress Heartbeat-API-Anfragen zu verwalten, ist die Verwendung eines dafür entwickelten WordPress-Plugins. Es gibt verschiedene Lösungen, die Sie nutzen können. Heartbeat Control, entwickelt von WP Rocket, ist eine der besten und beliebtesten.

Heartbeat-Steuerung

Installieren und aktivieren Sie das Heartbeat Control-Plugin über das WordPress-Dashboard. Navigieren Sie zu Einstellungen > Heartbeat Control , um die Konfiguration des Plugins zu öffnen. Mit Heartbeat Control können Sie die Aktivität der Heartbeat-API im Frontend der Website, im WordPress-Dashboard und im Block-Editor mit den folgenden Optionen verwalten:

  • Herzschlag zulassen. Wenn diese Option aktiviert ist, schränkt das Plugin die Heartbeat-API-Aufrufe in keiner Weise ein.
  • Herzschlag deaktivieren. Das Deaktivieren von Heartbeat blockiert alle API-Aufrufe in den ausgewählten Bereichen Ihrer WordPress-Website.
  • Herzschlag ändern. Sie können ein benutzerdefiniertes Intervall für WordPress Heartbeat-API-Aufrufe festlegen, das zwischen 15 und 300 Sekunden liegt.
Heartbeat-Steuerung

Meistens ist die Konfiguration eines größeren Intervalls für WordPress Heartbeat-API-Aufrufe die beste Vorgehensweise. Wenn Sie beispielsweise die Anzahl der API-Aufrufe in allen drei Bereichen Ihrer Website auf einen alle fünf Minuten beschränken, hat dies dieselbe Auswirkung auf die Gesamtleistung wie das vollständige Deaktivieren der Heartbeat-API.

Bitte beachte, dass die Begrenzung der Heartbeat-API-Aktivität im Blockeditor möglicherweise erfordert, dass du Revisionen häufiger speicherst, um zu vermeiden, dass Änderungen an den von dir bearbeiteten Inhalten verloren gehen. Wenn Sie sich nicht auf automatisches Speichern verlassen und keine Inhaltssperre benötigen, können Sie die WordPress Heartbeat-API in Gutenberg vollständig deaktivieren.

So beschränken Sie WordPress Heartbeat-API-Aufrufe ohne ein Plugin

Sie können WordPress Heartbeat-API-Aufrufe ohne ein Plugin einschränken, indem Sie WordPress-Hooks verwenden. Das Hinzufügen einiger Codezeilen zur Datei functions.php des aktiven Designs Ihrer Website kann Ihnen dabei helfen, die Heartbeat-API zu deaktivieren oder ein benutzerdefiniertes Intervall für API-Aufrufe festzulegen.

WordPress wird mit dem integrierten Theme-Editor geliefert, mit dem Sie functions.php über das Admin-Dashboard ändern können. Die meisten WordPress-Sicherheits-Plugins, wie z. B. iThemes Security Pro, deaktivieren diese Funktion jedoch, um Ihre Website zu schützen, falls sie kompromittiert wird.

Sie können die Datei über die Dateimanager-Oberfläche bearbeiten, die von Ihrem Hosting-Kontrollfeld bereitgestellt wird, oder indem Sie sich über FTP oder SSH mit Ihren Website-Dateien verbinden. Wenn Kadence WP Ihr bevorzugtes WordPress-Blockthema ist, finden Sie die Datei functions.php im Kadence-Ordner in Ihrem WordPress-Inhaltsverzeichnis.

Bitte beachten Sie, dass jeglicher Code, der der Datei functions.php hinzugefügt wird, höchstwahrscheinlich durch das nächste Update des Themes überschrieben wird. Daher ist es möglicherweise besser, die WordPress Heartbeat-API mit einem Plugin zu verwalten. Wenn Sie ein Child-Theme verwenden, können Sie dessen Datei functions.php ändern, ohne Gefahr zu laufen, dass sie überschrieben wird, wenn das Parent-Theme aktualisiert wird.

Vergessen Sie nicht, zuerst ein Backup Ihrer WordPress-Site zu speichern

Das Speichern von Backups ist ein wichtiger Bestandteil der Website-Administration. Auf diese Weise können Sie sich von Fehlern erholen und Ihre Website im Notfall schnell wiederherstellen. Stellen Sie sicher, dass Sie Ihre Website sichern, bevor Sie WordPress-Kern- oder Designdateien bearbeiten.

Die Verwendung eines WordPress-Backup-Plugins hilft Ihnen, eine starke Backup-Strategie zu erstellen. Sie haben eine funktionierende Kopie Ihrer Website, wann immer Sie sie brauchen. Lassen Sie Ihre Website-Backups an einem entfernten Ort speichern und nutzen Sie benutzerdefinierte Backup-Zeitpläne und One-Click-Wiederherstellungen mit BackupBuddy.

Deaktivieren Sie die Heartbeat-API

Durch Hinzufügen der folgenden Aktion können Sie die Heartbeat-API stoppen und alle API-Aufrufe effektiv deaktivieren. Fügen Sie dazu das unten stehende Code-Snippet am Ende von functions.php hinzu.

function wb_stop_heartbeat() {
 wp_deregister_script('heartbeat');
}
add_action('init', 'wb_stop_heartbeat', 1);

Auf die gleiche Weise können Sie eine bestimmte Funktion in der WordPress Heartbeat-API deaktivieren.

function disable_autosave() {
 wp_deregister_script('autosave');
}
add_action('admin_init', 'disable_autosave');

Konfigurieren Sie ein benutzerdefiniertes Intervall für die Heartbeat-API-Aufrufe

Um WordPress Heartbeat-API-Aufrufe zu begrenzen, können Sie einen Filter angeben, der ein benutzerdefiniertes Intervall für die API-Anforderungen konfiguriert. Das folgende Code-Snippet beschränkt die Heartbeat-API-Aufrufe auf eine Anfrage pro Minute.

function wb_set_heartbeat_time_interval($settings) {
 $settings['interval']=60;
 return $settings;
}
add_filter('heartbeat_settings', 'wb_set_heartbeat_time_interval');

Konfigurieren Sie ein benutzerdefiniertes Intervall für WordPress Autosaves

Mit WordPress können Sie ein benutzerdefiniertes Intervall für automatisches Speichern konfigurieren, indem Sie die Konstante AUTOSAVE_INTERVAL neu definieren. Ähnlich wie bei anderen Konstanten kannst du ihr einen neuen Wert zuweisen, indem du die folgende Zeile zu deiner WordPress-Hauptkonfigurationsdatei hinzufügst:

define('AUTOSAVE_INTERVAL', 300);

Sie können dem Intervall einen größeren Wert zuweisen, z. B. 3600, was einer Stunde entspricht, um das automatische Speichern von WordPress vollständig zu deaktivieren. In wp-config.php konfigurierte WordPress-Konstanten werden während WordPress-Updates nicht geändert. Sie müssen sie später nicht neu definieren.

Einpacken

Die Heartbeat-API von WordPress ist eine der wichtigsten Funktionen, die in den WordPress-Kern integriert ist und die Client-Server-Kommunikation in Echtzeit mithilfe von AJAX-Aufrufen ermöglicht. Die Anwendungsprogrammierschnittstelle ermöglicht es WordPress, Daten zwischen dem Server und dem WordPress-Dashboard auszutauschen, um ein besseres Verwaltungserlebnis zu bieten.

Die Heartbeat-API sendet mehrmals pro Minute Anfragen an den Server. Dies kann zu einer erhöhten Belastung des Servers und einer verminderten Leistung führen. Sie können Heartbeat-API-Aufrufe einschränken, indem Sie ein Plugin verwenden, WordPress-Hooks hinzufügen oder WordPress-Konstanten definieren.

Eine solide Website-Performance ist von entscheidender Bedeutung, aber auch die Sicherheit. iThemes helfen dabei, alle Bereiche Ihrer WordPress-Website zu schützen, damit Ihr Unternehmen in jedem Fall online bleibt. Entdecken Sie, wie Sie Ihre Online-Präsenz mit iThemes Security Pro sichern können, einschließlich Multi-Faktor-Authentifizierung, Überwachung von Dateiänderungen und Schwachstellen-Scanning.