- Article
- Intermediate
- 2 minutes read
- Reviewed August 4, 2026
- WordPress performance
WP-Cron and the Heartbeat API support important WordPress background and near-real-time behavior.
Both can create server requests, but disabling them indiscriminately can break scheduled publishing, autosaves, session management and plugin workflows.
WP-Cron
WP-Cron schedules time-based events.
Default WordPress normally checks due events when requests reach the site. Low traffic can delay jobs, while busy sites can trigger frequent checks.
Plugins use cron for:
- Scheduled publishing.
- cleanup.
- email queues.
- imports and exports.
- synchronization.
- reports.
- updates.
- background processing.
Diagnose Cron Load
Review:
- Registered events.
- recurrence intervals.
- duration.
- overlap.
- failures.
- retries.
- queue size.
- database work.
- external API calls.
Remove orphaned jobs only after identifying their owner.
System Scheduler
A server scheduler can invoke WordPress cron at a controlled interval.
Test the replacement before disabling request-driven WP-Cron with DISABLE_WP_CRON.
Heartbeat API
Heartbeat provides periodic AJAX polling, commonly every 15 to 120 seconds depending on context.
It supports autosave, post locking, session information and plugin features.
Optimize Heartbeat Carefully
Determine which screen creates the traffic and which feature uses it.
Possible actions include reducing custom payloads, limiting plugin callbacks, changing frequency within supported ranges or disabling a specific extension's use.
Do not disable Heartbeat globally without testing editors, sessions and locks.
Frequently Asked Questions
Is WP-Cron a real operating-system cron service?
No. It is a WordPress scheduling system that is normally triggered through requests.
Is Heartbeat always a performance problem?
No. Its impact depends on frequency, active callbacks, number of users and server cost.
Continue Learning
Previous: How Themes Affect Performance