Отключение и настройка Heartbeat API в WordPress для снижения нагрузки на сайт

WordPress Heartbeat API — это встроенный механизм, который отвечает за обмен данными между браузером пользователя и сервером в режиме реального времени. Он используется для таких функций, как автосохранение постов, блокировка редактирования и обновление данных на странице админки. Однако, при высокой нагрузке или на слабых хостингах Heartbeat API может стать причиной чрезмерного потребления ресурсов сервера, что негативно скажется на производительности сайта.

Что такое Heartbeat API и зачем его контролировать

Heartbeat API запускается в админке WordPress и отправляет AJAX-запросы с определённой периодичностью (обычно раз в 15–60 секунд). Это позволяет WordPress автоматически сохранять изменения, уведомлять администраторов о совместном редактировании и обновлять некоторые данные в реальном времени.

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

Поэтому иногда необходимо ограничить частоту запросов или полностью отключить Heartbeat API на определённых страницах админки.

Когда стоит отключать Heartbeat API

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

Как отключить Heartbeat API с помощью плагинов

Самый простой способ контролировать Heartbeat API — использовать готовые плагины. Рассмотрим два популярных варианта.

1. Плагин Heartbeat Control

Heartbeat Control позволяет отключить или ограничить Heartbeat API на определённых страницах админки или на всём сайте.

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

Плюсы: нет необходимости писать код, быстрый результат, гибкая настройка.

2. Плагин Clearfy Pro

Если вы используете Clearfy Pro, в нём есть удобный модуль для управления Heartbeat API. Можно настроить частоту запросов или отключить их на отдельных страницах.

Clearfy Pro также предлагает комплекс оптимизаций, что полезно для комплексной работы с производительностью.

Отключение и настройка Heartbeat API через код

Если вы предпочитаете не использовать плагины, можно добавить в файл functions.php вашей темы или в кастомный плагин следующий код.

Отключение Heartbeat API полностью

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

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

Ограничение частоты Heartbeat API

Чтобы не отключать API полностью, а лишь увеличить интервал между запросами, можно использовать фильтр heartbeat_send и функцию wpabout_limit_heartbeat_frequency:

function wpabout_limit_heartbeat_frequency( $settings ) {
    // Устанавливаем интервал в секундах (например, 60)
    $settings['interval'] = 60;
    return $settings;
}
add_filter( 'heartbeat_send', 'wpabout_limit_heartbeat_frequency' );

Однако более правильный способ — использовать фильтр heartbeat_settings:

function wpabout_heartbeat_settings( $settings ) {
    $settings['interval'] = 60; // интервал в секундах
    return $settings;
}
add_filter('heartbeat_settings', 'wpabout_heartbeat_settings');

Этот код увеличит интервал между Heartbeat AJAX-запросами до 60 секунд, что снизит нагрузку, сохранив при этом базовый функционал.

Отключение Heartbeat на определённых страницах

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

function wpabout_disable_heartbeat_on_edit_pages() {
    global $pagenow;
    if ( $pagenow === 'post.php' || $pagenow === 'post-new.php' ) {
        wp_deregister_script('heartbeat');
    }
}
add_action('admin_enqueue_scripts', 'wpabout_disable_heartbeat_on_edit_pages');

Этот код отключит Heartbeat только на страницах создания и редактирования записей в админке.

Дополнительные советы по снижению нагрузки от Heartbeat API

Кроме отключения или ограничения Heartbeat API, рекомендуем также:

  • Использовать кэширование на уровне сервера и браузера;
  • Оптимизировать базу данных и минимизировать количество активных плагинов;
  • Мониторить нагрузку и использовать инструменты для профилирования запросов;
  • Регулярно обновлять WordPress, темы и плагины для совместимости и безопасности.

В итоге правильное управление Heartbeat API позволит сделать работу с админкой комфортнее и снизить нагрузку на сервер, что важно на слабых хостингах и при большом числе пользователей.

Если хотите быстро и удобно управлять Heartbeat API и другими оптимизациями, попробуйте Clearfy Pro — мощный инструмент для оптимизации WordPress от экспертов.

Как создать автоматические бэкапы в WordPress
30.11.2025
Автоматическое удаление неактивных пользователей в WordPress по времени
20.02.2026
Как использовать WP-Cron для автоматизации задач в WordPress
08.12.2025
Как изменить URL страницы в WordPress без перенаправления
30.11.2025
WooCommerce: как автоматически изменять стоимость товара при изменении количества
26.05.2026