=== Heartbeat Control ===
Contributors: snehalpancholi
Tags: performance, heartbeat, admin-ajax, optimization, dashboard
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.1
Stable tag: 1.0.0
License: GPL-2.0+
License URI: https://www.gnu.org/licenses/gpl-2.0.html

Throttle or disable the WordPress Heartbeat API on the dashboard, post editor, and frontend to reduce admin-ajax.php load.

== Description ==

The WordPress Heartbeat API polls the server via `admin-ajax.php` at a default interval of 15–60 seconds. On busy sites this can generate hundreds of requests per hour per logged-in user, adding unnecessary PHP and database load.

**Heartbeat Control** gives you per-screen control:

* **Dashboard** — disable or throttle (set custom interval 15–300 s)
* **Post/Page Editor** — disable (throttled to 300 s for autosave safety) or set a custom interval
* **Frontend** — disable entirely (the Heartbeat is not needed on the frontend for most sites)

**Features:**

* Independent settings for each screen context
* Safe editor handling — never hard-kills autosave
* Clean settings UI under Settings → Heartbeat Control
* Auto-update via AddonLogic update server

== Installation ==

1. Upload the `heartbeat-control` folder to `/wp-content/plugins/`
2. Activate through **Plugins → Installed Plugins**
3. Go to **Settings → Heartbeat Control** to configure

== Frequently Asked Questions ==

= Is it safe to disable Heartbeat on the editor? =
Selecting "Disable" on the editor screen throttles the interval to 300 seconds rather than fully disabling it, protecting WordPress's autosave mechanism.

= Will disabling frontend Heartbeat affect anything? =
For most sites, no. Some plugins use Heartbeat on the frontend for live features (e.g., seat reservations). Check your plugins before disabling on the frontend.

= What interval should I set? =
60 seconds is a good balance for the dashboard. 120 seconds is fine for the editor if you rely on autosave.

== Changelog ==

= 1.0.0 =
* Initial release

== Upgrade Notice ==

= 1.0.0 =
Initial release.

== Screenshots ==

1. Settings page showing per-screen mode and interval controls.
