Heartbeat API

[aioseo_eeat_author_tooltip]
[aioseo_eeat_reviewer_tooltip]
Vad är Heartbeat API?

Heartbeat API i WordPress fungerar som din webbplats puls: den skickar ett litet "Jag lever"-ping från din webbläsare till din server med några sekunders mellanrum. Denna automatiska förfrågnings-/svarscykel synkroniserar din webbplats data, inlägg och instrumentpanel, vilket ger uppdateringar i realtid och viktig funktionalitet för redaktörer, plugins och administratörer.

I den här ordlistan får du lära dig exakt hur WordPress Heartbeat API fungerar, varför det är viktigt och hur du övervakar, kontrollerar eller inaktiverar det om det skapar hög CPU-belastning på ditt webbhotell.

Varför är WordPress Heartbeat API viktigt?

Heartbeat API ligger till grund för många av WordPress mest användarvänliga funktioner genom att hålla din webbläsare och server i ständig kommunikation. Utan det skulle du förlora praktiska automatiska sparningar, gemensamma inläggslås och liveuppdateringar av instrumentpanelen.

  • Håller din inläggsredigerare säker: När du skriver eller redigerar ett inlägg i WordPress-redigeraren sparar Heartbeat automatiskt dina ändringar var 15–60:e sekund, så att du aldrig förlorar arbete om din webbläsare eller anslutning bryts.
  • Användarlåsning och aviseringar: Om två författare försöker redigera samma inlägg samtidigt skickar Heartbeat aviseringar ("Din teammedlem redigerar det här inlägget") och tillämpar en låsningsmekanism för att förhindra innehållskonflikter.
  • Widgetar för realtidsöversikter: E-handelsplugins som WooCommerce använder API:et för att uppdatera försäljningsdata i din översikt utan att hela sidan behöver laddas om.
  • Aviseringar om tidsgräns för session: Heartbeat kan varna dig om din inloggningssession har löpt ut och uppmana dig att logga in igen innan du förlorar osparade redigeringar.

Hur Heartbeat API fungerar: Grunderna

Heartbeat fungerar via små AJAX-anrop till din server, vilket låter WordPress koordinera data utan att sidan behöver uppdateras fullständigt. Dessa frekventa pings optimerar funktionalitet och säkerhet genom att säkerställa att redaktörer ser aktuell information och att sessionerna förblir giltiga.

  • Webbläsarsändningar admin-ajax.php Begäran: Med varje Heartbeat-tick skickar din webbläsare ett litet AJAX-anrop till /wp-admin/admin-ajax.php.
  • Server Processes Request: WordPress kör alla kopplade funktioner, hämtar ny data och skickar sedan tillbaka den som ett JSON-svar.
  • Webbläsaren tar emot och agerar: Webbläsarens JavaScript-händelser fångar upp svaret, uppdaterar användargränssnittet (t.ex. automatisk sparning, widgetuppdatering) och förbereder för nästa intervall.

js

// Exempel: Lyssna efter nästa hjärtslagstick i frontend-gränssnittet
jQuery(document).on('heartbeat-tick', function(event, data) {
console.log('Heartbeat response received:', data);
});

  • Standardintervall : Redigeringsskärm (15 sekunder) och instrumentpanel och andra administratörssidor (60 sekunder).

Kärnkrokar och kodexempel

Utvecklare använder Heartbeats inbyggda hooks för att lägga till anpassade funktioner eller justera dess beteende. Du kan skräddarsy API:et för att utbyta nödvändig data genom att använda dessa JavaScript- och PHP-händelser.

JavaScript-krokar

Nedan följer två primära JS-hooks som du kan koppla till för frontend-kontroll:

  • hjärtslag-sändning: Bifoga anpassade data före varje begäran.
  • hjärtslag-tick: Agera på den mottagna informationen efter att begäran är slutförd.

js

// Bifoga extra information om varje heartbeat-send-händelse
jQuery(document).on('heartbeat-send', function(e, data) {
data.customValue = jQuery('#my-field').val();
});

PHP-krokar

På serversidan låter dessa hookar dig modifiera eller reagera på Heartbeat-anrop:

  • hjärtslag_sänd: Ändra data som servern returnerar.
  • hjärtslag_mottaget: Agera när servern får en bock.

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;
}

Vanliga användningsfall för WordPress Heartbeat API

Heartbeats realtidsfunktioner driver många vardagliga funktioner i WordPress. Synkronisering av server och webbläsare säkerställer att dashboards och redigerare hålls uppdaterade utan manuella klick eller fullständiga omladdningar.

  • Automatisk sparning och revisioner: Heartbeat fungerar smidigt i inläggsredigeraren och skapar säkerhetskopior var 15:e sekund så att du kan återställa förlorat innehåll.
  • Försäljningsdata i realtid: Utvecklare av e-handelsplugins använder Heartbeat för att hämta färsk försäljningsstatistik och visa den direkt.
  • Meddelanden om sessionsutgång: När din inloggningssession närmar sig utgångsdatumet visar Heartbeat ett meddelande: "Klicka här för att förbli inloggad".
  • Samarbetsaviseringar: Du ser vem som redigerar vilket inlägg på webbplatser med flera redigerare, vilket förhindrar överskrivningskonflikter.

Prestandaöverväganden och hög CPU-användning

Även om Heartbeat är oumbärligt för uppdateringar i realtid, kan det bli en stor CPU-förbrukare på webbplatser som är upptagna med ström. Varje frekvent AJAX-förfrågan till admin-ajax.php använder bearbetningstid och minne, vilket kan pressa delade webbhotellskonton över deras resursgränser.

  • Förhöjd CPU-belastning: Frekventa Heartbeat API-anrop kan öka din servers CPU-användning avsevärt, särskilt på delade webbhotellsplaner, eftersom varje tick kräver PHP för att bearbeta en AJAX- förfrågan.
  • Långsammare sidrespons: Allt eftersom servern hanterar dessa förfrågningar mer kan laddningen av frontend-sidor och interaktionerna mellan administratör och instrumentpanel bli märkbart långsammare.
  • Risk för avstängning: Om volymen av admin-ajax.php förfrågningar pressar din webbplats förbi din värds CPU-gränser kan ditt konto begränsas eller stängas av tills användningen återgår till acceptabla nivåer.

Hur man övervakar Heartbeat-trafik?

Att observera hjärtslagsaktivitet kan hjälpa dig att diagnostisera prestandaflaskhalsar tidigt. Använd serverloggar och klientsidesverktyg för att spåra förfrågningsfrekvens och svarstider.

  • Serverloggar och statistik: Kontrollera CPU-användningstoppar i cPanel eller din webbhotellsdashboard, med fokus på /wp-admin/admin-ajax.php-poster.
  • Verktyg för webbläsarutveckling: I Chrome eller Firefox utvecklarverktyg → fliken Nätverk → filtrera "admin-ajax.php" → observera tickfrekvens och svarstid.
  • Plugin-lösningar: Installera prestanda-plugins (t.ex. Query Monitor) för att se Heartbeat-anrop, minnesanvändning och exekveringstid direkt i administratörspanelen.

Styra och begränsa Heartbeat API:et

Om Heartbeats standardrytm överväldigar din server kan du sakta ner eller inaktivera den selektivt. Detta låter dig balansera realtidsfunktioner med optimal prestanda och resurskontroll.

  • Via plugin: Installera Heartbeat Control eller använd WP Rockets inbyggda inställningar för att justera intervall eller stänga av Heartbeat på specifika skärmar.
  • Via kod

php

// Minska hjärtslagsfrekvensen till en gång var 60:e sekund
add_filter('heartbeat_settings', function($settings) {
$settings['interval'] = 60;
return $settings;
});
// Inaktivera helt och hållet på gränssnittet
add_action('init', function() {
if (!is_admin()) wp_deregister_script('heartbeat');
}, 1);

Risker med att inaktivera Heartbeat API

Att stänga av Heartbeat kan minska processorbelastningen, men det innebär en negativ inverkan på flera viktiga funktioner. Innan du inaktiverar det på hela webbplatsen, bör du förstå avvägningarna mellan användarupplevelse och säkerhet.

  • Inga automatiska sparningar i klassisk redigerare → manuellt klick på "Spara utkast" krävs för varje ändring.
  • Potentiell dataförlust om internetanslutningen bryts under publicering/uppdatering.
  • Dashboard-widgetar och plugins som förlitar sig på Heartbeat kommer att sluta fungera, vilket minskar antalet rapporter och funktioner i realtid.

Bästa praxis och felsökning

Istället för att helt avaktivera Heartbeat är det klokare att finjustera dess beteende. Genom att selektivt strypa eller logga Heartbeat bevarar du dess fördelar samtidigt som du upprätthåller serverns hälsa.

  • Gas, döda inte : Istället för att helt inaktivera det, öka intervallet från 15 till 30 eller 60 sekunder.
  • Testa i staging : Först, tillämpa intervalländringar eller avregistrering i en staging-miljö för att upptäcka problem.
  • Kombinera med cachning : Utnyttja objekt- eller sidcachning för att kompensera för extra serverbelastning från Heartbeat.
  • Aktivera loggning: Haka fast i hjärtslag_mottaget för att registrera tickar och felsöka oväntat beteende.

Sluttanke

WordPress Heartbeat API håller din webbplats levande och synkroniserad. Det sparar automatiskt utkast, visar realtidsdata och förhindrar redigeringskonflikter. För många förfrågningar kan öka CPU-användningen. Du kan sakta ner det eller inaktivera det vid behov. Testa ändringar på en staging-webbplats först. Med rätt balans ökar Heartbeat funktionaliteten utan att försämra prestandan.

För fler WordPress-termer och djupgående förklaringar, utforska Seahawk Media Glossary .

Relaterade inlägg

Vad är färgton

Vad är färgtoning?

Färg spelar en viktig roll i konst, design och vardagslivet. Den går utöver rött,

Vad är WordPress-redigeraren

Vad är WordPress-redigeraren

WordPress-redigeraren är det centrala navet för innehållsskapande och design inom en WordPress-plattform

Vad är huvudmenyn i WordPress

Vad är en primärmeny i WordPress?

Om du precis har börjat bygga en WordPress-webbplats har du förmodligen stött på termen "primärmeny"

Kom igång med Seahawk

Registrera dig i vår app för att se våra priser och få rabatter.