Автоматическое отправление отчёта о состоянии сайта WordPress по email

Поддержание стабильной работы сайта на WordPress требует регулярного мониторинга его состояния. Особенно важно быстро получать информацию о важных параметрах: загрузке сервера, состоянии базы данных, обновлениях, ошибках и уровне безопасности. В этой статье разберём, как организовать автоматическую отправку отчётов о состоянии сайта WordPress на email с помощью кода и популярных плагинов, а также как кастомизировать такие отчёты под конкретные задачи.

Почему важно автоматизировать отчёты о состоянии сайта WordPress

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

  • Получать актуальные данные о производительности и безопасности;
  • Реагировать на ошибки и сбои моментально;
  • Контролировать обновления и статус плагинов, тем и ядра;
  • Отслеживать состояние базы данных и использование ресурсов сервера;
  • Прогнозировать возможные проблемы и предотвращать их.

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

Использование готовых плагинов для автоматических отчётов

Плагин WP Activity Log

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

Установка и настройка:

  • В админке перейдите в Плагины > Добавить новый, найдите WP Activity Log и установите;
  • Активируйте плагин и перейдите в Activity Log > Notifications для настройки отправки email;
  • Выберите частоту отправки, формат отчёта и адреса получателей.

Подробнее на wpshop.ru.

Плагин WP Crontrol для кастомных задач

WP Crontrol позволяет управлять WP-Cron задачами, создавать свои, в том числе отправку email с отчётами. Этот плагин подходит, если нужно строить сложные и кастомные отчёты.

Как создать собственную функцию для автоматической отправки отчёта по email

Если готовые решения не подходят, можно написать собственный код. Ниже пример функции, которая собирает информацию о состоянии сайта и отправляет отчёт на email с помощью WP-Cron.

function wptasks_send_site_status_report() {
    $admin_email = get_option('admin_email');
    $subject = 'Отчёт о состоянии сайта '. get_bloginfo('name');

    // Собираем информацию
    $php_version = phpversion();
    $wp_version = get_bloginfo('version');
    $sql_status = wptasks_check_database_status();
    $disk_usage = wptasks_get_disk_usage();

    $message = "Отчёт о состоянии сайта:\n";
    $message .= "PHP версия: $php_version\n";
    $message .= "Версия WordPress: $wp_version\n";
    $message .= "Статус базы данных: $sql_status\n";
    $message .= "Использование диска: $disk_usage\n";

    wp_mail($admin_email, $subject, $message);
}

// Проверка статуса базы данных
function wptasks_check_database_status() {
    global $wpdb;
    $result = $wpdb->get_results('SHOW TABLE STATUS');
    if ($result) {
        $repair_needed = false;
        foreach ($result as $table) {
            if ($table->Data_free > 0) {
                $repair_needed = true;
                break;
            }
        }
        return $repair_needed ? 'Требуется оптимизация' : 'OK';
    }
    return 'Ошибка проверки';
}

// Получение использования диска
function wptasks_get_disk_usage() {
    $total = disk_total_space(ABSPATH);
    $free = disk_free_space(ABSPATH);
    $used = $total - $free;
    $percent = round(($used / $total) * 100, 2);
    return "$percent% использовано";
}

// Регистрация крон-задачи
add_action('wptasks_daily_site_report', 'wptasks_send_site_status_report');

if (!wp_next_scheduled('wptasks_daily_site_report')) {
    wp_schedule_event(time(), 'daily', 'wptasks_daily_site_report');
}

Этот код:

  • Собирает базовую информацию о PHP, WP, базе данных и дисковом пространстве;
  • Отправляет отчёт на email администратора;
  • Регистрирует ежедневное событие WP-Cron для автоматической рассылки.

Вы можете расширить этот функционал, добавив проверку обновлений, загрузку CPU сервера, логи ошибок и другие метрики.

Как улучшить отчёт и интегрировать с WPTasks

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

Пример расширения функции для добавления задач WPTasks

function wptasks_get_tasks_summary() {
    // Предполагается, что WPTasks предоставляет функцию для получения задач
    if (function_exists('wptasks_get_all_tasks')) {
        $tasks = wptasks_get_all_tasks();
        $count = count($tasks);
        $pending = 0;
        foreach ($tasks as $task) {
            if ($task->status === 'pending') {
                $pending++;
            }
        }
        return "Всего задач: $count, Ожидают выполнения: $pending";
    }
    return 'Информация о задачах недоступна';
}

// Добавляем в основной отчёт
function wptasks_send_site_status_report() {
    $admin_email = get_option('admin_email');
    $subject = 'Отчёт о состоянии сайта '. get_bloginfo('name');

    $php_version = phpversion();
    $wp_version = get_bloginfo('version');
    $sql_status = wptasks_check_database_status();
    $disk_usage = wptasks_get_disk_usage();
    $tasks_summary = wptasks_get_tasks_summary();

    $message = "Отчёт о состоянии сайта:\n";
    $message .= "PHP версия: $php_version\n";
    $message .= "Версия WordPress: $wp_version\n";
    $message .= "Статус базы данных: $sql_status\n";
    $message .= "Использование диска: $disk_usage\n";
    $message .= "Статус задач: $tasks_summary\n";

    wp_mail($admin_email, $subject, $message);
}

Рекомендации по безопасности и производительности

Отправка отчётов по email требует учёта безопасности:

  • Не включайте в письма конфиденциальные данные;
  • Используйте надежные SMTP-сервисы, чтобы письма не попадали в спам;
  • Ограничьте частоту отправки, чтобы не перегружать сервер и почтовый ящик;
  • Проверяйте корректность работы WP-Cron, особенно на слабых хостингах;
  • Используйте кеширование и оптимизируйте запросы, чтобы отчёты не замедляли сайт.

Выводы

Автоматическая отправка отчётов о состоянии сайта WordPress — эффективный способ держать под контролем ключевые параметры и быстро реагировать на проблемы. Можно использовать готовые плагины, такие как WP Activity Log и WP Crontrol, либо написать собственное решение с помощью WP-Cron и wp_mail. Интеграция с WPTasks позволит добавить в отчёты статус задач, что особенно полезно для комплексного управления проектами.

Для скачивания и ознакомления с плагинами посетите wpshop.ru.

Как создать автоматический импорт данных из Google Forms в WordPress
17.03.2026
WooCommerce: автоматическое отключение оплаты при неподтверждении заказа
28.05.2026
Автоматическое удаление старых записей по метаключам в WordPress
24.03.2026
Как создать автоматический импорт данных из JSON в WordPress
14.04.2026
Как автоматизировать создание и управление проектами в WordPress
06.02.2026