WordPress Heartbeat API begrænsning handler om at reducere hyppigheden af baggrunds-anmodninger til admin-ajax.php i WordPress kontrolpanelet, så din servers CPU-forbrug falder. På især delt hosting, travle WooCommerce-butikker og blogs med mange skribenter kan Heartbeat API sende anmodninger hvert 15.-60. sekund, hvilket fører til unødvendigt CPU-brug, langsomt admin-panel og advarsler om ressourcebegrænsning. Løsningen er ikke at slukke API’en helt, men at øge intervallet til 60-120 sekunder afhængigt af side, kun holde den aktiv hvor det er nødvendigt, og måle effekten via dit hosting-panel.
I denne guide gennemgår vi, hvad Heartbeat API gør, hvornår den skaber problemer, hvilke indstillinger der er sikre, og hvordan du trin for trin begrænser CPU-forbruget på din danske WordPress-side. Målet er at bevare nyttige funktioner som autosave og session-kontrol uden at overbelaste serveren med unødvendig trafik. Hvis du oplever 508 Resource Limit, 503 Service Unavailable eller et sløvt admin-panel, er Heartbeat-indstillinger blandt de første optimeringer du bør tjekke.
Hvad er WordPress Heartbeat API?
WordPress Heartbeat API er en mekanisme, der holder browser og server i synk via regelmæssige anmodninger – typisk til /wp-admin/admin-ajax.php. Heartbeat bruges til autosave af indhold, advarsler hvis flere brugere redigerer samme post, session-kontrol og realtidsnotifikationer fra plugins.
Et enkelt eksempel: Når du redigerer et indlæg, sender WordPress med jævne mellemrum små requests til serveren for at undgå at dit arbejde går tabt. Disse requests er ikke tunge i sig selv, men hvis flere brugere og administratorer har admin-panelet åbent, kan antallet hurtigt eksplodere. 10 aktive sessions med 30 sekunders interval giver ca. 1200 Heartbeat requests i timen – og plugins kan lægge ekstra databehandling oveni, hvilket øger CPU-forbruget yderligere.
Heartbeat API er altså ikke i sig selv problematisk, men når den kører med for korte intervaller, på irrelevante sider eller sammen med tunge plugins, kan den skabe performanceproblemer. På en velkonfigureret side bør API’en være aktiv, men styret.
Hvorfor øger Heartbeat API CPU-forbruget?
CPU-forbrug er den processorkraft serveren bruger til at afvikle PHP-processer. WordPress er dynamisk, og hver request aktiverer tema, plugins, database og WordPress-kernen. Heartbeat-requests ser små ud, men udløser alligevel PHP-kode.
De mest almindelige årsager til øget CPU-brug fra Heartbeat er:
- For korte intervaller: Nogle admin-skærme har Heartbeat på helt ned til 15 sekunder, hvilket giver 240 requests i timen pr. bruger.
- Flere åbne tabs: Hvis en bruger har 4 WordPress-faner åbne, genereres Heartbeat-trafik fra hver tab.
- Tunge plugins: Sikkerhed, statistik, backup, page builders og WooCommerce kan lægge ekstra belastning på Heartbeat-data.
- Hosting med få ressourcer: På billige hostingpakker kan selv små background-requests fylde CPU-limiterne i spidsbelastning.
- Bottrafik og ægte brugere samtidig: Baggrundsanmodninger fra admin-panelet konkurrerer med frontend-trafik om de samme ressourcer.
Ser du gentagne admin-ajax.php-requests i din access-log, bør Heartbeat-trafikken analyseres. På Hostragons kan du følge CPU-forbruget grafisk og vælge en WordPress hosting løsning, der passer til din sides reelle behov.
Skal man slukke Heartbeat API helt?
Som udgangspunkt: Nej – det anbefales ikke for de fleste sites. At slukke Heartbeat API kan på kort sigt reducere CPU, men det ødelægger autosave, indholdslåsning, session-fornyelse og visse plugin-notifikationer. På blogs med flere skribenter kan det føre til tabt indhold, hvis to redigerer samme post.
Bedre er at lade API’en være aktiv i relevante områder, men øge intervallet. Fx 60 sekunder på post-editoren, 120 sekunder i admin, og slukket på frontend. WooCommerce-butikker bør teste ekstra grundigt på ordre- og lagerstyringssider.
Anbefalede Heartbeat-indstillinger (tabel)
| Scenario | Indstilling | Forventet effekt | Bemærk |
|---|---|---|---|
| Enkeltforfatter-blog | Admin 120 sek., editor 60 sek., frontend slukket | Antal admin-ajax requests falder mærkbart | Test om autosave virker tilstrækkeligt |
| Blog med flere skribenter | Editor 60 sek., admin 90-120 sek. | CPU falder, indholdslåsning fungerer | Hold øje med antal åbne tabs pr. bruger |
| WooCommerce shop | Admin 60-90 sek., frontend forsigtigt slukket | Admin-belastning falder | Test kurv, betaling og lager-plugins grundigt |
| Firmasite | Admin 120 sek., frontend slukket | Sikreste aflastning | Tjek kontaktformularer og sikkerhedsplugins |
| Site med ressource-advarsler | Start med 60 sek., test derefter 120 sek. | Pik-belastning på CPU kan falde | Mål effekten med log og hosting-grafer |
Tabellen er kun et udgangspunkt. Den bedste indstilling afhænger af antal brugere, plugin-struktur, temaets tyngde og hostingens ressourcer. Blind ændring kan skjule problemer uden at løse årsagen.
Hvordan begrænser man WordPress Heartbeat API?
Der er tre praktiske metoder til at begrænse Heartbeat API: brug et plugin, tilføj kode til functions.php, eller brug indstillinger i performance-plugins. Hvis du ikke er teknisk, er plugin-metoden mest sikker. Kan du kode, får du mere kontrol med en lille kodebit.
1. Plugin-metoden: Heartbeat Control
Den nemmeste løsning er at installere et plugin udviklet til Heartbeat management – fx WP Rocket’s Heartbeat Control eller tilsvarende. Du kan definere forskellige regler for admin, editor og frontend.
Sådan gør du:
- Gå til Plugins > Tilføj nyt i WordPress admin.
- Søg efter Heartbeat Control og vælg et opdateret, troværdigt plugin.
- Aktivér og gå til plugin-indstillingerne.
- Vælg 60 eller 120 sekunders interval for dashboard/admin.
- På post-editoren: vælg 60 sekunder i stedet for slukket.
- Sluk Heartbeat på frontend eller vælg længst muligt interval.
- Gem og følg CPU-grafen over 24 timer.
Fordelen er, at det hurtigt kan rulles tilbage. Oplever du problemer, kan du deaktivere plugin’et og vende tilbage til WordPress’ standardadfærd. Ulempen er, at du får ét plugin mere – hvis du vil holde plugin-antallet nede, er kode-metoden bedre.
2. Kode-metoden: functions.php
Vil du begrænse med kode, så tilføj den ikke til hovedtemaet, men helst til et child theme i functions.php eller lav et lille plugin. Så mister du ikke indstillingen ved tema-opdatering.
Eksempel: Sådan sætter du Heartbeat interval til 60 sekunder:
add_filter('heartbeat_settings', 'hostragons_heartbeat_interval'); function hostragons_heartbeat_interval($settings) { $settings['interval'] = 60; return $settings; }
Koden hæver intervallet fra fx 15 til 60 sekunder – det reducerer antal Heartbeat requests med ca. 75%. Eksempel: 5 admins går fra 1200 requests/timen til 300. Det reelle CPU-gain afhænger af hvor meget plugins lægger oveni.
Vil du være mere aggressiv, kan du slukke Heartbeat på frontend og lade den være aktiv i admin:
add_action('init', 'hostragons_disable_heartbeat_frontend', 1); function hostragons_disable_heartbeat_frontend() { if (!is_admin()) { wp_deregister_script('heartbeat'); } }
Dette slukker Heartbeat-scriptet på frontend. Test grundigt hvis du har medlemskab, live-notifikationer, kurv-opdateringer eller frontend-editor. Giver det problemer på WooCommerce’s checkout eller “Min konto”, er plugin-metoden sikrere.
3. Performance-plugin-metoden: WP Rocket m.fl.
Nogle cache- og performance-plugins har Heartbeat-kontrol indbygget. I WP Rocket kan du vælge intervaller for admin, editor og frontend. Brug denne metode hvis du allerede har et performance-plugin – så undgår du ekstra plugins.
Bruger du flere performance-plugins, så undgå at aktivere samme funktion flere steder – fx både Heartbeat Control og WP Rocket’s Heartbeat-indstilling – det kan give konflikter. Grundregel: Brug kun ét værktøj til hver opgave, mål effekten, og tilføj først nye ændringer når du har data.
Sådan finder du det rette Heartbeat-interval via måling
Professionel optimering kræver måling før og efter. Et hurtigere admin-panel er ikke nok – du bør kombinere CPU-grafer, antal PHP-processer, access-log og error-log.
Anbefalet testplan:
- Tag baseline-måling: Gem CPU- og RAM-grafer for 24 timer før ændring.
- Check access-log: Tjek hvor mange
admin-ajax.php-requests der kommer hver time. - Lav første ændring: Sæt Heartbeat til 60 sekunder, sluk på frontend.
- Vent 24-48 timer: Mål CPU under samme trafik.
- Prøv evt. 120 sekunder: På firmasites kan længere interval være OK.
- Test kritiske funktioner: Autosave, WooCommerce-kurv, ordre-flow, medlemskab osv.
Eksempel: Hvis dit WordPress admin-panel bruger 80-90% CPU, kan at hæve intervallet fra 15 til 60 sekunder reducere CPU-piks med 20-40%. Men hvis et backup-plugin kører fuld scanning hver time, løser Heartbeat-optimering ikke alt. Du bør kombinere med WordPress hastighedsoptimering og Hosting ressourceforbrug.
Er admin-ajax.php altid Heartbeat-relateret?

Nej. admin-ajax.php bruges til mange forskellige funktioner i WordPress. Heartbeat API er kun én af dem. Forms, filtre, live search, sikkerhedsscanninger, WooCommerce-kurv og tema-features kan også generere requests til admin-ajax.php.
Du bør derfor ikke slukke Heartbeat alene fordi du ser admin-ajax.php-trafik. Tjek i browserens Network-tab om requesten har action=heartbeat i payload. Hvis ikke, kommer det fra et plugin eller tema.
Analyser også access-log på serveren – tjek IP, tidspunkter og referer. Hvis trafikken er fra bots, kan firewall, rate limiting eller bot-beskyttelse være mere relevant. For sikker forbindelse og SSL, bør du også holde SSL certifikat opdateret.
Typiske fejl ved Heartbeat-begrænsning
Når man hurtigt vil løse WordPress performance, kan man begå fejl, der påvirker sitets drift. Særligt på live-sites:
- Slukke API’en overalt: Autosave og indholdslåsning kan blive inaktive.
- Tilføje kode uden test på live-site: Syntax-fejl kan give “white screen of death”.
- Ikke teste WooCommerce betalingsflow: Kurv og ordre kan fejle uventet.
- Aktivere flere performance-plugins med samme funktion: Konflikter gør det svært at måle effekt.
- Tro CPU-problemet kun skyldes Heartbeat: Tunge queries, bottrafik eller cron-jobs kan være hovedårsagen.
- Ændre uden backup: En enkel fejl kan forlænge nedetid.
Tag altid backup af filer og database før ændring. Vil du styre domæne, hosting og site samlet, så prøv Domæneforespørgsel og Webhosting for nemmere administration.
Andre måder at reducere CPU-forbrug på WordPress
Heartbeat-optimering er effektiv, men CPU-optimering kræver flere tiltag:
Cache
Side-cache reducerer PHP- og database-load kraftigt for besøgende. På statiske sider betyder cache, at WordPress ikke skal afvikle hele kernen hver gang – den mest effektive CPU-besparelse.
Fjern unødvendige plugins
Selv inaktive plugins kan belaste databasen. Vurder ikke kun antal plugins, men hvor tunge de er. Særligt statistik, sikkerhed, page builders og backup bør løbende vurderes.
WP-Cron styring
WordPress cron kan trigges ved hvert besøg. På sites med meget trafik kan det øge CPU-brug. Brug system-cron til planlagt drift fremfor WordPress’ standard – det aflaster baggrundsload.
Database-optimering
Revisioner, midlertidige data, spam-kommentarer og gamle transients fylder i databasen. Regelmæssig oprydning gør queries hurtigere. På WooCommerce-sites er det ekstra vigtigt, når ordre- og session-tabeller vokser.
PHP-version og hosting-ressourcer
Ny PHP-version giver bedre performance. PHP 8.x med optimeret tema og plugins kan reducere CPU under samme trafik. Men software-optimering skal understøttes af god hosting – vokser dit site, overvej VPS server eller skalerbar WordPress hosting.
Sikker implementering: Anbefalet roadmap
Følg denne rækkefølge for at begrænse Heartbeat sikkert på live-sites:
- Tag først komplet backup.
- Log nuværende CPU, RAM og admin-ajax.php-trafik.
- Bekræft at Heartbeat giver de tunge requests.
- Sluk eller begræns Heartbeat på frontend.
- Gå ikke under 60 sekunder på editoren.
- Test 90-120 sekunders interval i admin.
- Test WooCommerce-funktioner, medlemskab og forms manuelt.
- Sammenlign ressourceforbrug over 24-48 timer.
- Er effekten utilstrækkelig, analyser plugin-, tema- og cron-belastning.
Sådan får du datadrevet optimering – ikke kun lavere CPU, men også stabil drift og god brugeroplevelse.
Konklusion: Begræns Heartbeat intelligent – sluk den ikke
WordPress Heartbeat API begrænsning er en praktisk CPU-optimering, der giver et hurtigere admin-panel og bedre udnyttelse af hosting-ressourcerne. Den bedste metode er at begrænse på frontend, holde intervallet sikkert på editoren (min. 60 sek.), og teste 60-120 sekunder i admin.
Hvis CPU-problemet fortsætter, er Heartbeat kun starten – cache, plugin-belastning, WP-Cron, database og hosting skal vurderes samlet. På Hostragons kan du vælge WordPress hosting for stabil drift og opgradere i takt med sidens behov.
Ofte stillede spørgsmål
Skal Heartbeat API slukkes helt?
Nej, ikke for de fleste. Autosave, indholdslåsning og session-kontrol påvirkes. Bedre er at slukke på frontend og sætte intervallet til 60-120 sekunder i admin og editor.
Hvor meget reducerer Heartbeat API CPU-forbrug?
Afhænger af site-struktur. At hæve intervallet fra 15 til 60 sekunder kan reducere Heartbeat requests med ca. 75%. Reelt CPU-gain afhænger af plugins, brugere og hosting.
Er høj admin-ajax.php-trafik altid Heartbeat?
Nej. Forms, WooCommerce, live search, sikkerhed og tema-features bruger også admin-ajax.php. Tjek Network-tab for action=heartbeat for at identificere kilden.
Er det sikkert at begrænse Heartbeat på WooCommerce?
Ja, men test ekstra. Kurv, betaling, ordre, lager og medlemskab bør tjekkes. Ofte er det bedst at øge intervallet fremfor at slukke helt.
Hvor lang tid bør man teste efter ændring?
Mindst 24-48 timer. Mål CPU-grafer, PHP-processer, admin-ajax.php-trafik og kritiske funktioner. Hvis trafikken varierer, kan længere test være nødvendigt.