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

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

Почему важен автоматический отчет по производительности WordPress

Ручное тестирование сайта — процесс трудоемкий и не всегда регулярный. Автоматические отчеты помогают:

  • Отслеживать скорость загрузки страниц;
  • Мониторить использование ресурсов сервера;
  • Выявлять ошибки и предупреждения в логах;
  • Получать данные о нагрузке и трафике;
  • Анализировать влияние обновлений плагинов и тем на производительность.

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

Использование плагина Query Monitor для сбора данных

Плагин Query Monitor — один из самых мощных инструментов для диагностики производительности. Он показывает:

  • Время выполнения запросов к базе данных;
  • Ошибки PHP и предупреждения;
  • Время загрузки скриптов и стилей;
  • Информацию о хуках и действиях.

Однако по умолчанию Query Monitor выводит данные в админ-панели, что неудобно для автоматизации отчетов. Для этого можно использовать дополнительные расширения или написать свой код.

Пример кода для выгрузки данных Query Monitor в лог

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

add_action('shutdown', 'wplog_save_query_monitor_report');
function wplog_save_query_monitor_report() {
    if (!is_admin()) return; // Только для админки

    if (!class_exists('QM_Collectors')) return;

    $collectors = QM_Collectors::get_instance();
    $db_queries = $collectors->db->get_queries();
    
    $report = "Отчет производительности - " . date('Y-m-d H:i:s') . "\n";
    $report .= "Количество запросов к БД: " . count($db_queries) . "\n";

    $total_time = 0;
    foreach ($db_queries as $query) {
        $total_time += $query['time'];
    }
    $report .= "Общее время запросов: " . round($total_time, 4) . " сек.\n";

    file_put_contents(WP_CONTENT_DIR . '/performance_reports.txt', $report, FILE_APPEND);
}

Этот код добавляет в конец файла performance_reports.txt информацию о количестве и суммарном времени SQL-запросов при каждом заходе в админку. По аналогии можно расширить отчет, добавив другие данные Query Monitor.

Автоматизация отчетности с помощью Cron и WP Expert Review

Для более продвинутых отчетов можно использовать плагин WP Expert Review, который позволяет создавать автоматические отчеты и отправлять их на почту или в другие системы.

Настройка автоматизации через Cron в WordPress:

add_action('wplog_daily_performance_report', 'wplog_send_performance_report');

function wplog_send_performance_report() {
    // Здесь собираем данные производительности
    $message = 'Производительность сайта за последние 24 часа...';
    wp_mail('admin@example.com', 'Ежедневный отчет по производительности', $message);
}

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

Этот пример показывает, как запланировать ежедневную отправку отчета. В функцию wplog_send_performance_report можно интегрировать сбор данных из Query Monitor или других источников.

Мониторинг основных метрик с помощью WP-CLI

Если у вас есть доступ к серверу и вы используете WP-CLI, можно написать скрипт, который собирает данные и формирует отчет в удобном виде.

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

wp wplog-report generate

// В файле команды PHP реализуем:
function wplog_cli_report() {
    $post_count = wp_count_posts()->publish;
    global $wpdb;
    $size = $wpdb->get_var("SELECT ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) FROM information_schema.tables WHERE table_schema = '{$wpdb->dbname}';");
    echo "Опубликованных постов: {$post_count}\n";
    echo "Размер базы данных: {$size} МБ\n";
}

Запуская такую команду по cron, можно получать актуальную статистику и включать ее в отчеты.

Оптимизация на основе собранных данных

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

  • Если время выполнения SQL-запросов высокое — проверьте индексы и оптимизируйте запросы;
  • Большое количество запросов — возможно избыточное использование плагинов или неправильное кэширование;
  • Ошибки PHP — обязательно исправляйте, чтобы избежать сбоев;
  • Большой размер базы данных — регулярно очищайте неиспользуемые ревизии и спам-комментарии;
  • Высокая нагрузка — рассмотрите использование CDN, кэширования и обновление хостинга.

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

Выводы и рекомендации

Создание автоматического отчета по производительности WordPress — несложная задача, которая при правильном подходе значительно облегчает поддержку сайта. Используйте сочетание готовых плагинов, собственных скриптов и cron-задач, чтобы получать детальные и своевременные данные.

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

Настройка автопубликации постов в WordPress
30.12.2025
Автоматическое создание отзывов в WordPress с помощью WPExpert Review
16.03.2026
Как автоматически установить и настроить подключение к внешнему API в WordPress
04.04.2026
Как изменить главный заголовок страницы в WordPress без плагинов
20.12.2025
Как удалить категорию в WordPress с помощью кода
17.12.2025