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

otklyuchit heartbeat wordpress cover Без рубрики
Пошагово: диагностика в Network, плагин Heartbeat Controller или Control, Frontend off, Dashboard 60 с, редактор с autosave. Таблица рисков полного отключения.

Админка WordPress зависает, хостинг пишет про перегрузку admin-ajax.php, а вы боитесь вырубить автосохранение. Марина, владелица салона, держала открытыми консоль, заказы и редактор — CPU на хостинге уперся в лимит. После полного отключения Heartbeat она потеряла час работы над текстом. Компромисс простой: убрать пульс на фронте, замедлить консоль до 60 секунд, в редакторе оставить автосохранение. За 15-20 минут через плагин настроите это без правки кода.

Heartbeat — фоновый пульс между браузером и WordPress: каждые 15-60 секунд идёт POST на admin-ajax.php. Одна вкладка редактора даёт до ~240 таких запросов в час. Безопасная схема 2026: Frontend — выключить, Dashboard — 60 секунд, Post Editor — оставить (или 30-60 секунд). Полное отключение ломает автосохранение и блокировку поста.

Три вкладки wp-admin, открытые весь день, — и сервер дышит в затылок, хотя вы просто правите текст. Посетители на главной этого не видят: тесты скорости фронта Heartbeat не показывают. Нагрузка сидит в фоне админки и бьёт по лимитам shared-хостинга. Ниже — диагностика, настройка плагином и проверка, что всё сработало.

Проверьте в браузере, грузит ли Heartbeat ваш admin-ajax

Чеклист и ноутбук с Network: диагностика Heartbeat в admin-ajax

Главная боль — тормозит консоль, хостер ругается, а вы не знаете, виноват ли Heartbeat или другой плагин. Используйте вкладку Network в браузере: диагностика занимает пять минут и не требует кода.

  1. Войдите в wp-admin и откройте любую страницу консоли — например, список записей.
  2. Нажмите F12 (инструменты разработчика) → вкладка Network (Сеть).
  3. В поле фильтра введите admin-ajax — останутся только запросы к этому файлу.
  4. Найдите строку, где в параметрах есть action=heartbeat. Посмотрите интервал между такими запросами.
  5. Если запросы идут примерно каждые 15 секунд — Heartbeat работает в штатном режиме WordPress.
  6. Откройте вторую вкладку с редактором поста и снова посмотрите Network: нагрузка умножается на число вкладок.

На практике владельцы видят десятки POST в минуту и думают, что сайт взломали. Чаще это не атака, а фоновый пульс плюс лишние вкладки админки. WordPress через час без движения мыши и клавиатуры приостанавливает Heartbeat — но до этого интервал остаётся частым.

Поймите, зачем WordPress шлёт пульс и куда бьёт нагрузка

Схема пульса WordPress: браузер, admin-ajax, нагрузка на сервер

Heartbeat API (встроенный механизм с версии WordPress 3.6) — короткий обмен данными между браузером и сервером. Каждый тик — POST на admin-ajax.php, ответ в формате JSON. Интервал по умолчанию — от 15 до 120 секунд: в редакторе поста чаще, в консоли реже.

Зачем это нужно: автосохранение черновика, предупреждение, что пост уже редактирует другой пользователь, обновление виджетов на главной консоли. Типичная ошибка — считать Heartbeat поломкой и вырубать везде. Тогда пропадает автосохранение — ровно то, что случилось с Мариной.

Каждый такой запрос нельзя отдать из кеша: сервер каждый раз запускает PHP. На дешёвом хостинге три вкладки админки с интервалом 15 секунд дают заметный след в логах CPU, хотя визитов на сайте не прибавилось.

Выберите плагин: Heartbeat Control или Heartbeat Controller

Две карточки плагинов Heartbeat Control и Controller на столе

Если не хотите править functions.php, хватит одного плагина из каталога WordPress. Оба управляют тремя зонами: Dashboard (консоль), Post Editor (редактор), Frontend (сайт для гостей).

Критерий Heartbeat Control Heartbeat Controller
Установки 80 000+ (wordpress.org, 2026) Меньше, но проще интерфейс на русском
Интерфейс Settings → Heartbeat Control Настройки → Heartbeat Controller
Режимы Disable / Modify frequency по зонам Allow / Disallow / Modify frequency
Минимальный интервал 15 секунд в редакторе по умолчанию Не ниже 15 секунд (ограничение плагина)
Кому подходит Нужен проверенный годами вариант Нужен простой UI и русская страница плагина

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

Настройте три зоны: фронт, консоль, редактор

Боль «не хочу лезть в код» закрывается одной установкой. Сделайте настройку за один заход — схема без саботажа автосохранения:

Workflow: установить плагин → Frontend Disallow → Dashboard Modify 60 с → Post Editor Allow (или 30-60 с) → проверить Network → закрыть лишние вкладки wp-admin

  1. Плагины → Добавить новый → найдите «Heartbeat Controller» или «Heartbeat Control» → Установить → Активировать.
  2. Откройте настройки плагина (Settings → Heartbeat Controller или Heartbeat Control).
  3. Frontend: уберите пульс для гостей — выберите Disallow / Disable.
  4. Dashboard: Modify frequency → 60 секунд. Если виджеты в реальном времени не критичны, можно Disallow.
  5. Post Editor: оставьте Allow или Modify 30-60 секунд — так живёт автосохранение.
  6. Сохраните настройки. Закройте лишние вкладки админки — каждая добавляет свои запросы.
  7. Снова откройте F12 → Network → admin-ajax: на фронте в инкогнито heartbeat не должно быть; в консоли интервал около 60 секунд.

В реальном проекте владелец салона после Frontend off и Dashboard 60 с увидел в письме хостинга спад POST на admin-ajax примерно на три четверти — при той же работе в редакторе.

Сравните: что сломается при полном отключении Heartbeat

Страх «сломаю сайт» часто толкает к крайности — вырубить всё. Вот что реально перестаёт работать:

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)
Если отключить Heartbeat… Что перестанет работать Рекомендация
Везде, включая редактор Автосохранение, блокировка поста при совместном редактировании Не делать
Только на Frontend Ничего критичного для гостей Делать
В Dashboard на 60 с Реже обновляются виджеты консоли Делать
В редакторе на 60 с вместо 15 с Автосохранение реже, но работает; нагрузка ниже Безопасный компромисс

Часто ломается привычка: совет «просто отключите Heartbeat» без зон. Избегайте полного off в редакторе — сначала фронт и консоль, редактор настраивайте последним и осторожно. После правок полезно свериться с настройкой кеширования WordPress.

Убедитесь, что автосохранение живо, а запросов стало меньше

Критерий успеха простой — используйте этот чеклист и проверьте результат руками, без доступа к серверу.

  • В Network на фронте сайта (инкогнито) запросов action=heartbeat нет.
  • В консоли wp-admin heartbeat реже одного раза в 60 секунд или отсутствует, если Dashboard выключен.
  • В редакторе поста напишите тестовый абзац, подождите минуту — в интерфейсе появится отметка автосохранения.
  • В логах хостинга (если есть доступ) меньше POST на admin-ajax.php за тот же период.
  • Консоль открывается быстрее, нет залипания при переключении между разделами.

Если после настройки в Network остаются другие action — не только heartbeat — ищите виновника среди плагинов (формы, слайдеры, виджеты). Heartbeat — частая, но не единственная причина нагрузки на admin-ajax.

Что делать, если админка всё ещё тяжёлая

Ограничение Heartbeat не заменяет слабый тариф и тяжёлые плагины. Закройте вкладки админки на ночь. Проверьте ревизии постов и лишние расширения — иногда помогает очистка ревизий WordPress. Если письма от хостинга продолжаются, нужен аудит плагинов или перенос на тариф с запасом CPU.

Код без плагина — для тех, кто уже правит дочернюю тему. Новичку достаточно плагина. Если нужен разбор сайта и нагрузки — напишите через форму на сайте (мессенджер, без звонка) или в Telegram-канал. Подробнее — на странице услуг, другие гайды — в статьях.

Материал проверен: Андрей Дикий (создаёт сайты и продвигает их статьями, SEO/GEO).
На что опирались: WordPress Plugin Handbook (Heartbeat API), плагины Heartbeat Control и Heartbeat Controller на wordpress.org, Kinsta и Pressable про admin-ajax, репозиторий wp-media/heartbeat-control на GitHub; частотность запросов — по Яндекс Вордстат на 2026-09-09 (точные показы не получены, MCP недоступен).

Частые вопросы

Можно ли полностью отключить Heartbeat в WordPress?

Технически да, но в редакторе пропадёт автосохранение и предупреждение о совместном редактировании. Отключайте на фронте и в консоли, в редакторе — оставьте или замедлите до 60 секунд.

Что сломается, если вырубить Heartbeat везде?

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

Чем ограничение интервала лучше полного отключения?

При 60 секундах вместо 15 нагрузка на admin-ajax падает примерно в четыре раза, а автосохранение остаётся. Полное отключение в редакторе экономит максимум, но цена — риск потери работы.

Какой плагин для Heartbeat выбрать новичку?

Heartbeat Controller — проще интерфейс и русская страница в каталоге. Heartbeat Control — больше установок и давняя история. Оба настраивают фронт, консоль и редактор без кода.

Безопасно ли отключать Heartbeat на фронте сайта?

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

Почему хостинг пишет про admin-ajax, если сайт быстрый?

Тесты скорости меряют фронт для гостей. Heartbeat бьёт по серверу из открытых вкладок wp-admin. Несколько вкладок с интервалом 15 секунд дают сотни запросов в час — лимит CPU на shared-хостинге может сработать раньше, чем вы увидите проблему в PageSpeed.

Нужно ли трогать Heartbeat, если админка не тормозит?

Если хостинг не ругается и вкладок админки мало — можно не трогать. Настройка нужна при письмах про CPU, лагах консоли или когда в Network видите частый heartbeat при одной-двух вкладках.

*Instagram,Facebook (принадлежит компании Meta, признанной экстремистской и запрещённой на территории РФ)
Новый маркетинг с искусственным интеллектом
Добавить комментарий