Heartbeat API

[aioseo_eeat_author_tooltip]
[aioseo_eeat_reviewer_tooltip]
Hvad er Heartbeat API

Heartbeat API'en i WordPress fungerer som din hjemmesides puls: den sender en lille "Jeg er i live"-ping fra din browser til din server med få sekunders mellemrum. Denne automatiske anmodnings-/svarcyklus synkroniserer din hjemmesides data, indlæg og dashboard og leverer opdateringer i realtid og vigtig funktionalitet til redaktører, plugins og administratorer.

I denne ordlisteartikel lærer du præcis, hvordan WordPress Heartbeat API fungerer, hvorfor det er vigtigt, og hvordan du overvåger, kontrollerer eller deaktiverer det, hvis det skaber høj CPU-belastning på din hosting.

Hvorfor er WordPress Heartbeat API vigtig?

Heartbeat API'en understøtter mange af WordPress' mest brugervenlige funktioner ved at holde din browser og server i konstant kommunikation. Uden den ville du miste praktiske automatiske lagringer, fælles låsning af indlæg og live dashboardopdateringer.

  • Holder din indlægseditor sikker: Når du udarbejder eller redigerer et indlæg i WordPress-editoren , gemmer Heartbeat automatisk dine ændringer hvert 15.-60. sekund, så du aldrig mister arbejde, hvis din browser eller forbindelse afbrydes.
  • Brugerlåsning og notifikationer: Hvis to forfattere forsøger at redigere det samme indlæg samtidigt, sender Heartbeat notifikationer ("Dit teammedlem redigerer dette indlæg") og anvender en låsemekanisme for at forhindre indholdskonflikter.
  • Dashboard-widgets i realtid: E-handels-plugins som WooCommerce bruger API'en til at opdatere salgsdata i dit dashboard uden at skulle genindlæse hele siden.
  • Sessionstimeout-advarsler: Heartbeat kan give dig besked, hvis din loginsession er udløbet, og bede dig om at logge ind igen, før du mister ikke-gemte redigeringer.

Sådan fungerer Heartbeat API: Det grundlæggende

Heartbeat fungerer via små AJAX-kald til din server, hvilket lader WordPress koordinere data uden at sideopdateringer skal foretages fuldstændigt. Disse hyppige pings optimerer funktionalitet og sikkerhed ved at sikre, at redaktører ser opdaterede oplysninger, og at sessioner forbliver gyldige.

  • Browser Sends admin-ajax.php Anmodning: Med hvert Heartbeat-tick sender din browser et lille AJAX-kald til /wp-admin/admin-ajax.php.
  • Serverprocesserforespørgsel: WordPress kører alle tilkoblede funktioner, henter nye data og sender dem derefter tilbage som et JSON-svar.
  • Browser modtager og reagerer: Din browsers JavaScript-hændelser fanger svaret, opdaterer brugergrænsefladen (f.eks. automatisk lagring, widgetopdatering) og forbereder det næste interval.

js

// Eksempel: Lyt efter det næste hjerteslags-tick i frontend'en
jQuery(document).on('heartbeat-tick', function(event, data) {
console.log('Hjerteslagssvar modtaget:', data);
});

  • Standardinterval : Redigeringsskærm (15 sekunder) og Dashboard og andre administratorsider (60 sekunder).

Core Hooks og kodeeksempler

Udviklere bruger Heartbeats indbyggede hooks til at tilføje brugerdefinerede funktioner eller justere dens adfærd. Du kan skræddersy API'en til at udveksle de nødvendige data ved at benytte disse JavaScript- og PHP-hændelser.

JavaScript-kroge

Nedenfor er to primære JS-hooks, du kan forbinde dig til for frontend-kontrol:

  • hjerteslag-send: Vedhæft brugerdefinerede data før hver anmodning.
  • hjerteslag-tick: Reager på de modtagne data, når anmodningen er gennemført.

js

// Vedhæft ekstra information om hver heartbeat-send-hændelse
jQuery(document).on('heartbeat-send', function(e, data) {
data.customValue = jQuery('#my-field').val();
});

PHP Hooks

På serversiden giver disse hooks dig mulighed for at ændre eller reagere på Heartbeat-kald:

  • hjerteslag_send: Rediger de data, som serveren returnerer.
  • hjerteslag_modtaget: Reager, når serveren modtager et flueben.

php

add_filter('heartbeat_send', 'my_heartbeat_send', 10, 2);
function my_heartbeat_send($response, $screen_id) {
if ($screen_id === 'post') {
$response['server_time'] = time();
}
return $response;
} * ...

Almindelige brugseksempler af WordPress Heartbeat API

Heartbeats realtidsfunktioner driver mange hverdagsfunktioner i WordPress. Synkronisering af server og browser sikrer, at dashboards og editorer forbliver opdaterede uden manuelle klik eller fulde genindlæsninger.

  • Automatisk lagring og revisioner: Heartbeat kører problemfrit i indlægseditoren og opretter sikkerhedskopier hvert 15. sekund, så du kan gendanne mistet indhold.
  • Salgsdata i realtid: Udviklere af e-handelsplugins bruger Heartbeat til at hente frisk salgsstatistik og vise den med det samme.
  • Meddelelser om sessionsudløb: Når din loginsession nærmer sig udløbet, viser Heartbeat en meddelelse: "Klik her for at forblive logget ind".
  • Samarbejdsalarmer: Du kan se, hvem der redigerer hvilket indlæg på websteder med flere forfattere, hvilket forhindrer overskrivningskonflikter.

Ydelsesovervejelser og høj CPU-brug

Selvom Heartbeat er uundværligt for opdateringer i realtid, kan det blive en stor CPU-forbruger på travle websteder. Hver hyppig AJAX-forespørgsel til admin-ajax.php bruger behandlingstid og hukommelse, hvilket kan presse delte hostingkonti over deres ressourcegrænser.

  • Forhøjet CPU-belastning: Hyppige Heartbeat API-kald kan øge din servers CPU-forbrug betydeligt, især på delte hostingplaner, fordi hvert tick kræver PHP for at behandle en AJAX- anmodning.
  • Langsommere siderespons: Efterhånden som serveren håndterer disse anmodninger oftere, kan indlæsning af frontend-sider og interaktioner mellem administrator og dashboard blive mærkbart langsommere.
  • Risiko for suspendering: Hvis volumenet af admin-ajax.php anmodninger presser dit websted ud over din hosts CPU-grænser, kan din konto blive begrænset eller suspenderet, indtil brugen vender tilbage til et acceptabelt niveau.

Hvordan overvåger man Heartbeat-trafik?

Observation af hjerteslagsaktivitet kan hjælpe dig med at diagnosticere flaskehalse i ydeevnen tidligt. Brug serverlogfiler og klientsideværktøjer til at spore anmodningsfrekvens og svartider.

  • Serverlogfiler og statistikker: Tjek CPU-forbrugsstigninger i cPanel eller dit hosting-dashboard, med fokus på /wp-admin/admin-ajax.php-poster.
  • Browserudviklingsværktøjer: I Chrome eller Firefox udviklerværktøjer → fanen Netværk → filter “admin-ajax.php” → observer tick-frekvens og svartid.
  • Plugin-løsninger: Installer performance-plugins (f.eks. Query Monitor) for at se Heartbeat-kald, hukommelsesforbrug og udførelsestid direkte i admin-dashboardet.

Styring og begrænsning af Heartbeat API'en

Hvis Heartbeats standardrytme overvælder din server, kan du sænke eller deaktivere den selektivt. Dette giver dig mulighed for at balancere realtidsfunktioner med optimal ydeevne og ressourcekontrol.

  • Via plugin: Installer Heartbeat Control eller brug WP Rockets indbyggede indstillinger til at justere intervaller eller slå Heartbeat fra på bestemte skærme.
  • Via kode

php

// Reducer hjerteslagfrekvensen til én gang hvert 60. sekund
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60;
return $settings;
});
// Deaktiver helt på frontend
add_action('init', function() {
if (!is_admin()) wp_deregister_script('heartbeat');
}, 1);

Risici ved at deaktivere Heartbeat API'en

At slukke for Heartbeat kan muligvis mindske CPU-belastningen, men det kommer på bekostning af flere nøglefunktioner. Før du deaktiverer det på hele webstedet, skal du forstå afvejningerne i brugeroplevelse og sikkerhed.

  • Ingen automatisk gemning i den klassiske editor → manuelt klik på "Gem kladde" kræves for hver ændring.
  • Potentielt datatab, hvis internetforbindelsen afbrydes under udgivelse/opdatering.
  • Dashboard-widgets og plugins, der er afhængige af Heartbeat, vil ophøre med at virke, hvilket reducerer rapporter og funktioner i realtid.

Bedste praksis og fejlfinding

I stedet for at lukke Heartbeat helt ned, er det klogere at finjustere dets adfærd. Ved selektivt at begrænse eller logge Heartbeat bevarer du dets fordele, samtidig med at du opretholder serverens sundhed.

  • Gashåndtag, dræb ikke : I stedet for at deaktivere det helt, skal du øge intervallet fra 15 til 30 eller 60 sekunder.
  • Test i staging : Anvend først intervalændringer eller afregistrering i et staging-miljø for at opdage problemer.
  • Kombinér med caching : Udnyt objekt- eller sidecaching til at udligne eventuel ekstra serverbelastning fra Heartbeat.
  • Aktivér logføring: Hæng ind hjerteslag_modtaget at registrere ticks og fejlfinde uventet adfærd.

Sidste tanke

WordPress Heartbeat API holder dit websted levende og synkroniseret. Det gemmer automatisk kladder, viser data i realtid og forhindrer redigeringskonflikter. For mange anmodninger kan øge CPU-forbruget. Du kan gøre det langsommere eller deaktivere det, hvor det er nødvendigt. Test først ændringer på et testwebsted. Med den rette balance forbedrer Heartbeat funktionaliteten uden at forringe ydeevnen.

For flere WordPress-udtryk og dybdegående forklaringer, se Seahawk Media Glossary .

Relaterede indlæg

Hvad er farvetone

Hvad er farvetone?

Farver spiller en essentiel rolle i kunst, design og hverdagslivet. Det går ud over rødt,

Hvad er WordPress Editor

Hvad er WordPress Editor

WordPress-editoren er det centrale knudepunkt for indholdsoprettelse og -design i en WordPress-platform

Hvad er primærmenuen i WordPress

Hvad er primærmenuen i WordPress?

Hvis du lige er begyndt at bygge et WordPress-websted, er du sandsynligvis stødt på udtrykket "primær menu"

Kom i gang med Seahawk

Tilmeld dig i vores app for at se vores priser og få rabatter.