Как отключить Heartbeat API в WordPress и снизить нагрузку на сайт

Если WordPress на слабом хостинге начинает заметно тормозить, Heartbeat API часто оказывается среди первых подозреваемых. Это не «ошибка» и не лишняя функция сама по себе: Heartbeat нужен для автосохранения, уведомлений, синхронизации состояния редактора и некоторых действий в админке. Проблема в том, что он регулярно отправляет AJAX-запросы на сервер, а на дешёвом shared-хостинге или при большом количестве открытых вкладок это превращается в лишнюю нагрузку.

Полностью отключать Heartbeat вслепую не стоит. Гораздо практичнее понять, где он действительно мешает, и ограничить его только там, где это безопасно: в админке, на экране редактирования записей или на фронтенде.

Где Heartbeat API создаёт нагрузку

Heartbeat работает через запросы к admin-ajax.php. По умолчанию WordPress периодически обращается к серверу, чтобы обновлять состояние интерфейса. На одном сайте это почти незаметно, но нагрузка растёт, если:

  • в админке одновременно открыто несколько вкладок;
  • редакторы долго держат открытой страницу редактирования записи или страницы;
  • на сайте много авторизованных пользователей, которые работают в панели;
  • хостинг ограничивает CPU и количество одновременных PHP-процессов;
  • на фронтенде подключены плагины, использующие Heartbeat для своих задач.

Чаще всего проблема проявляется не как один «тяжёлый» запрос, а как постоянный фон из мелких обращений, которые суммарно нагружают сервер. Поэтому отключение или замедление Heartbeat полезно именно на слабых конфигурациях.

Что лучше: отключить полностью или ограничить

Для большинства сайтов безопаснее не отключать Heartbeat целиком, а урезать его там, где он не нужен. Полное отключение может сломать автосохранение в редакторе, предупреждения о занятом посте и часть функций плагинов, которые рассчитывают на этот механизм.

ВариантКогда подходитЧто теряете
Отключить на фронтендеЕсли сайт в основном статичный и авторизованные пользователи не работают с интерфейсом на публичной частиФункции плагинов, завязанные на Heartbeat на фронтенде
Ограничить в админкеЕсли нужно снизить нагрузку, но сохранить автосохранение и базовые функции редактораМеньшую частоту обновлений
Отключить полностьюЕсли вы точно знаете, что ни тема, ни плагины не используют HeartbeatАвтосохранение, уведомления и совместную работу в редакторе

Если сайт рабочий и на нём регулярно редактируют контент, я бы начинал с ограничения, а не с полного отключения.

Как отключить Heartbeat API через код

Самый надёжный способ — добавить небольшой фрагмент в functions.php дочерней темы или в собственный мини-плагин. Если вы правите тему, делайте это в дочерней теме: обновление родительской темы не затрёт изменения.

Чтобы полностью отключить Heartbeat на всём сайте, используйте такой код:

add_action( 'init', function () {
	wp_deregister_script( 'heartbeat' );
} );

Этот вариант убирает скрипт Heartbeat из загрузки. Но он же отключает и полезные функции, поэтому применять его стоит только если вы уверены, что сайт не зависит от этого механизма.

Более безопасный вариант — ограничить частоту запросов. WordPress позволяет менять интервал через фильтр heartbeat_settings:

add_filter( 'heartbeat_settings', function ( $settings ) {
	$settings['interval'] = 60;
	return $settings;
} );

Здесь интервал задан в секундах. По умолчанию он обычно заметно меньше, поэтому увеличение до 60 секунд снижает количество запросов. Это не отключение, а именно уменьшение частоты. Для слабого хостинга такой подход часто даёт лучший баланс между экономией ресурсов и сохранением функций редактора.

Как отключить Heartbeat только в админке или только на фронтенде

Если нагрузка идёт в основном от публичной части сайта, имеет смысл убрать Heartbeat только там. Если же проблема возникает у редакторов в панели, ограничьте его в админке.

Для отключения на фронтенде подойдёт такой код:

add_action( 'init', function () {
	if ( ! is_admin() ) {
		wp_deregister_script( 'heartbeat' );
	}
} );

Для отключения в админке логика обратная:

add_action( 'admin_enqueue_scripts', function () {
	wp_deregister_script( 'heartbeat' );
} );

Но здесь есть важная оговорка: полное отключение в админке может мешать автосохранению и работе редактора. На практике чаще используют не снятие скрипта, а увеличение интервала только в панели:

add_filter( 'heartbeat_settings', function ( $settings ) {
	if ( is_admin() ) {
		$settings['interval'] = 60;
	}
	return $settings;
} );

Такой вариант обычно безопаснее, чем жёсткое отключение. Он снижает количество запросов, но не ломает редактор так резко, как полное удаление скрипта.

Как проверить, что Heartbeat действительно отключён или замедлен

После изменения кода не ориентируйтесь только на ощущение, что «сайт стал быстрее». Лучше проверить фактами.

Самый простой способ — открыть инструменты разработчика в браузере и посмотреть сетевые запросы. На вкладке Network отфильтруйте запросы по admin-ajax.php. Если Heartbeat отключён, регулярные запросы исчезнут. Если вы только увеличили интервал, они станут реже.

Ещё один практичный способ — открыть редактор записи и оставить вкладку на несколько минут. Если Heartbeat работает, в Network будут появляться повторяющиеся AJAX-запросы с заданным интервалом. Если запросов нет, значит скрипт не загружается или отключён.

На серверной стороне полезно посмотреть логи хостинга или статистику нагрузки, если она доступна в панели. Heartbeat не всегда выделяется отдельно, но при высокой активности вы обычно увидите снижение числа обращений к admin-ajax.php.

Что может сломаться после отключения

Перед отключением важно понимать побочные эффекты. Heartbeat используется не только для «фоновой активности», но и для функций, которые пользователь замечает не сразу.

  • Автосохранение в редакторе может работать хуже или исчезнуть.
  • Предупреждения о том, что запись уже редактируется другим пользователем, могут не появляться.
  • Некоторые плагины используют Heartbeat для синхронизации состояния в админке или на фронтенде.
  • Если вы отключите скрипт глобально, часть интерфейса может вести себя нестабильно в старых или сильно кастомизированных установках.

Поэтому на живом проекте лучше сначала сделать резервную копию и проверить изменения на staging-копии, если она есть. Это особенно важно, если сайт активно редактируется несколькими людьми.

Когда Heartbeat лучше не трогать

Если сайт работает на нормальном сервере, а нагрузка умеренная, отключение Heartbeat может дать мало пользы и добавить рисков. Не трогайте его без необходимости, если:

  • редакторы часто работают одновременно в админке;
  • на сайте важны автосохранение и совместная работа;
  • вы используете плагины, которые явно завязаны на регулярные AJAX-обновления;
  • проблема нагрузки вызвана не Heartbeat, а тяжёлыми запросами темы, плагинов или медленной базой данных.

В таких случаях лучше сначала проверить реальную причину тормозов. Heartbeat часто виден в мониторинге как «шумный» механизм, но не всегда он главный источник нагрузки.

Если нужен более мягкий способ очистить сайт от лишней служебной активности и стандартных избыточных функций WordPress, иногда удобнее использовать Clearfy Pro. Но и в этом случае стоит проверять, какие именно опции вы включаете: для Heartbeat важен не сам плагин, а конкретная настройка, которую он меняет.

Если коротко: на слабом хостинге Heartbeat API имеет смысл не просто «отключить», а сначала ограничить. Для большинства сайтов достаточно увеличить интервал запросов или убрать Heartbeat только там, где он не нужен. Полное отключение оставляйте для случаев, когда вы точно понимаете, какие функции WordPress и плагинов при этом не понадобятся.

Как отключить Heartbeat API в WordPress и снизить нагрузку на сайт
29.10.2026
Как очистить базу данных WordPress от лишних автосохранений и ревизий
01.11.2026
Как отключить emoji в WordPress и убрать лишние запросы без поломки редактора
22.09.2026
Как настроить robots.txt в WordPress для SEO и технической оптимизации
20.10.2026
Как найти и удалить orphaned meta в WordPress
11.11.2026