Как создать автоматическое сообщение о проблемах на сайте WordPress

Автоматические уведомления о проблемах на сайте — важный инструмент для своевременного реагирования и поддержания стабильной работы WordPress-проекта. В этой статье разберём, как создать систему автоматического оповещения о критических ошибках, падении сервера или сбоях в работе плагинов, используя встроенные возможности WordPress и сторонние плагины.

Почему важно настроить автоматические сообщения о проблемах на WordPress

Уведомления позволяют администратору оперативно узнать о проблемах, избежать длительных простоев и снизить риск потери данных или клиентов. Особенно это актуально для сайтов с большим трафиком или интернет-магазинов, где каждая минута простоя ведёт к убыткам.

Без автоматических сообщений о сбоях администратор может узнать о проблеме слишком поздно, когда восстановление будет сложнее и дороже. Поэтому важно не только мониторить сайт, но и настроить систему своевременного оповещения.

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

Использование WP-Cron для проверки работоспособности сайта и отправки уведомлений

WP-Cron — встроенный планировщик задач WordPress, он позволяет запускать периодические проверки и выполнять нужные действия. Мы создадим функцию, которая будет проверять страницу сайта на наличие ошибки 500 (Internal Server Error) и отправлять email при обнаружении проблемы.

Пример функции проверки и отправки уведомления

function wptasks_check_site_health() {
    $response = wp_remote_get(home_url());
    if (is_wp_error($response)) {
        // Ошибка запроса — возможно, сайт недоступен
        wptasks_send_alert('Сайт недоступен: ошибка запроса.');
        return;
    }
    $code = wp_remote_retrieve_response_code($response);
    if ($code >= 500) {
        wptasks_send_alert('Сайт вернул ошибку сервера: ' . $code);
    }
}

function wptasks_send_alert($message) {
    $to = get_option('admin_email');
    $subject = 'Внимание! Проблема на сайте ' . home_url();
    $body = 'Обнаружена следующая проблема: ' . $message;
    wp_mail($to, $subject, $body);
}

// Регистрируем событие в WP-Cron
if (!wp_next_scheduled('wptasks_daily_site_check')) {
    wp_schedule_event(time(), 'hourly', 'wptasks_daily_site_check');
}

add_action('wptasks_daily_site_check', 'wptasks_check_site_health');

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

Использование плагинов для мониторинга и уведомлений

Если вы хотите более продвинутый и удобный функционал без написания кода, рассмотрите плагины:

  • WP Health Check — мониторит доступность сайта, базу данных, обновления, и отправляет уведомления.
    Скачать: https://ru.wordpress.org/plugins/wp-health-check/
  • ManageWP Worker — сервис удалённого мониторинга и управления сайтами WordPress, с уведомлениями о падениях.
    Подробнее: https://managewp.com/
  • Uptime Robot Integration — интеграция с сервисом Uptime Robot для мониторинга работоспособности сайта.

Все эти инструменты позволяют получать отчёты и уведомления по email, Slack, Telegram и другим каналам.

Пример настройки уведомлений с помощью WP Health Check

После установки и активации перейдите в Настройки → WP Health Check → Notifications. Здесь можно выбрать условия для отправки уведомлений — при падении сайта, проблемах с базой данных, обновлениях плагинов и т.д.

Также можно интегрировать уведомления с внешними сервисами, например, Slack, если вы используете его для командной работы.

Мониторинг ошибок PHP и логирование с уведомлениями

Для отслеживания ошибок PHP полезно включить логирование и настроить отправку уведомлений при появлении критических ошибок. В WordPress это можно сделать через файл wp-config.php и небольшой код.

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', false);

Ошибки будут записываться в файл wp-content/debug.log. Чтобы получать уведомления на email при ошибках, добавим следующий код в functions.php:

function wptasks_error_mail_handler($severity, $message, $file, $line) {
    $to = get_option('admin_email');
    $subject = 'Ошибка на сайте ' . home_url();
    $body = "Серьезность: $severity\nСообщение: $message\nФайл: $file\nСтрока: $line";
    wp_mail($to, $subject, $body);
    return false; // Позволяет обычной обработке ошибок продолжиться
}

set_error_handler('wptasks_error_mail_handler');
<

Этот обработчик отправит email при возникновении ошибок. Однако будьте осторожны с частыми уведомлениями — для продакшен-сайтов лучше настроить фильтрацию или агрегирование ошибок.

Практические советы по выбору и настройке уведомлений

Чтобы система уведомлений была эффективной и не раздражала спамом:

  • Определите критичные типы ошибок для оповещения (например, только ошибки сервера и базы данных).
  • Настройте частоту проверок — слишком частые проверки создают нагрузку, редкие — могут пропустить момент сбоя.
  • Используйте внешние сервисы мониторинга для дополнительной надежности.
  • Интегрируйте уведомления с мессенджерами или системами управления задачами, например, с помощью плагина WPRemark (подробнее на WPSHOP).
  • Регулярно проверяйте логи и обновляйте настройки уведомлений под изменяющуюся инфраструктуру сайта.

Заключение

Автоматические сообщения о проблемах — незаменимый инструмент для поддержания работоспособности и безопасности сайта на WordPress. Комбинация встроенных возможностей WP-Cron, логирования и сторонних плагинов позволяет построить надежную систему мониторинга и оповещений. Используйте предложенные примеры кода и плагины, чтобы настроить удобный и эффективный процесс уведомления о сбоях.

Автоматическое создание и управление подписчиками в WordPress: практические решения
09.03.2026
Как создать оценку производительности WordPress с помощью подробных методик
07.04.2026
Как автоматизировать создание и управление задачами в WordPress с помощью WPTasks
14.01.2026
Как использовать хуки WordPress для автоматизации задач
11.04.2026
Создание multisite с поддоменами в WordPress: технические особенности и примеры
01.01.2026