Как создать автоматический отчет по ошибкам в WordPress

|

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

Почему важен автоматический отчет об ошибках в WordPress

В стандартной поставке WordPress ведется лог ошибок PHP, но он не всегда доступен и удобен для оперативного анализа. Автоматический отчет об ошибках позволяет:

Это особенно актуально для сайтов с большим трафиком и сложной инфраструктурой.

Использование плагина Error Log Monitor для отслеживания ошибок

Один из популярных и простых в использовании плагинов для мониторинга ошибок — Error Log Monitor. Он позволяет просматривать последние ошибки PHP прямо из админки и настраивать уведомления по email.

Основные возможности:

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

Пример настройки уведомлений Error Log Monitor

Перейдите в меню Настройки > Error Log Monitor и включите опцию отправки писем. Укажите почту администратора и настройте частоту отправки.

Если на вашем хостинге error_log не ведется в стандартном месте, укажите путь к файлу вручную.

Создание кастомного плагина для сбора и отправки отчетов об ошибках

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

Основной принцип — перехватывать ошибки с помощью функции set_error_handler, записывать их в отдельный файл и периодически отправлять отчет по email или в Slack.

Пример кода простого плагина для логирования ошибок и отправки отчета

<?php
/*
Plugin Name: WPReboot Error Reporter
Description: Логирование ошибок PHP и отправка отчета по email
Version: 1.0
Author: WPReboot
*/

register_activation_hook(__FILE__, 'wpreboot_error_reporter_activate');
register_deactivation_hook(__FILE__, 'wpreboot_error_reporter_deactivate');

function wpreboot_error_reporter_activate() {
    if (!wp_next_scheduled('wpreboot_send_error_report')) {
        wp_schedule_event(time(), 'hourly', 'wpreboot_send_error_report');
    }
}

function wpreboot_error_reporter_deactivate() {
    wp_clear_scheduled_hook('wpreboot_send_error_report');
}

// Путь к файлу логов
define('WPREBOOT_ERROR_LOG', WP_CONTENT_DIR . '/wpreboot-error.log');

// Обработчик ошибок
function wpreboot_error_handler($errno, $errstr, $errfile, $errline) {
    $date = date('Y-m-d H:i:s');
    $message = "[$date] Error: [$errno] $errstr in $errfile on line $errline\n";
    error_log($message, 3, WPREBOOT_ERROR_LOG);
    return false; // Передать обработку дальше
}
set_error_handler('wpreboot_error_handler');

// Функция отправки отчета
function wpreboot_send_error_report() {
    if (!file_exists(WPREBOOT_ERROR_LOG)) {
        return;
    }
    $content = file_get_contents(WPREBOOT_ERROR_LOG);
    if (empty($content)) {
        return;
    }
    $to = get_option('admin_email');
    $subject = 'Отчет об ошибках WordPress с сайта ' . get_bloginfo('name');
    $headers = array('Content-Type: text/plain; charset=UTF-8');

    wp_mail($to, $subject, $content, $headers);

    // Очистить лог после отправки
    file_put_contents(WPREBOOT_ERROR_LOG, '');
}
add_action('wpreboot_send_error_report', 'wpreboot_send_error_report');

Этот код создает плагин, который перехватывает ошибки PHP, записывает их в файл wpreboot-error.log в папке wp-content и раз в час отправляет отчет на email администратора.

Вы можете изменить периодичность, например, на ежедневную, используя wp_schedule_event(time(), 'daily', 'wpreboot_send_error_report');.

Интеграция с сервисом Clearfy Pro для расширенного мониторинга

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

Применение Clearfy Pro в связке с собственным плагином позволит:

Советы по работе с отчетами и устранению ошибок

После настройки автоматического сбора ошибок важно правильно использовать получаемые данные:

В случае, если вы хотите получать отчеты в мессенджеры, можно расширить плагин, добавив отправку webhook в Slack или Telegram, используя соответствующие API.

Пример отправки уведомления в Telegram через бот

function wpreboot_send_telegram_notification($message) {
    $bot_token = 'ВАШ_ТОКЕН_БОТА';
    $chat_id = 'ВАШ_CHAT_ID';
    $url = "https://api.telegram.org/bot$bot_token/sendMessage";

    $args = array(
        'body' => json_encode(array(
            'chat_id' => $chat_id,
            'text' => $message,
        )),
        'headers' => array('Content-Type' => 'application/json'),
    );

    wp_remote_post($url, $args);
}

// Вызов функции при отправке отчета
// wpreboot_send_telegram_notification($content);

Подставьте свои данные и интегрируйте отправку в функцию отчетности.

Заключение

Автоматический отчет об ошибках — ключевой инструмент для поддержки и развития сайта на WordPress. Используйте готовые решения вроде Error Log Monitor для быстрого старта и расширяйте функционал собственными плагинами под свои задачи. Интеграция с такими плагинами, как Clearfy Pro, поможет держать сайт в оптимальном состоянии и своевременно реагировать на проблемы.

Безопасное управление WordPress через SSH с помощью PHP: практическое руководство
04.01.2026
Как автоматически удалять неиспользуемые шорткоды в WordPress
16.02.2026
Как удалить и заблокировать неиспользуемые посты в WordPress: практическое руководство
12.12.2025
Как избежать ошибок 502 Bad Gateway в WordPress: практические решения
20.01.2026
Как сделать автоматический откат изменений при ошибках в WordPress
22.02.2026
×
WordPress
дай сайту суперсилу!

Скидки на топовые темы и плагины

Активировать суперсилу ⋙