WP-Cron and the Heartbeat API

Measure scheduled jobs and periodic admin requests before changing their frequency or disabling them.

2 min read

  • 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

Next: Improving WordPress Admin Performance