Для сайтов, ориентированных на аналитику и мониторинг эффективности, важным элементом является создание отчетов по KPI (ключевым показателям эффективности). В WordPress это можно реализовать как с помощью готовых плагинов, так и используя собственный код для гибкой настройки. В этой статье мы рассмотрим, как создать подробный отчет по KPI в WordPress, который будет понятен пользователям и удобен для администраторов сайта.
Что такое KPI и зачем он нужен на сайте WordPress
KPI — это метрики, которые помогают оценить эффективность различных процессов на сайте: посещаемость, конверсии, продажи, активность пользователей и другие важные показатели. Для сайтов с бизнес-целями или образовательных порталов отображение KPI в удобном виде помогает быстро принимать решения и анализировать динамику.
В WordPress можно внедрить систему сбора и визуализации KPI, используя как плагины, так и кастомные решения. Рассмотрим оба варианта.
Выбор плагина для создания отчетов по KPI в WordPress
Среди популярных решений для отображения и анализа KPI можно выделить следующие плагины:
- WP KPI Analytics — специализированный плагин для создания отчетов с графиками и таблицами. Позволяет собирать данные из разных источников и строить настраиваемые дашборды.
- WPDataTables — мощный плагин для создания таблиц и диаграмм на основе данных, импортируемых из CSV, Excel, Google Sheets или базы данных WordPress.
- Clearfy Pro — плагин с набором инструментов для оптимизации и аналитики, позволяющий расширять функционал сайта, включая создание отчетов.
Используя эти плагины, вы можете быстро настроить вывод информации по KPI, не углубляясь в программирование. Однако для полного контроля и уникального функционала можно написать собственное решение.
Создание кастомного отчета по KPI с помощью кода в WordPress
Для примера создадим простой отчет, который будет выводить количество опубликованных записей по категориям и отображать эту информацию в виде таблицы с процентным соотношением. Такой отчет поможет понять, на какие темы у сайта больше всего контента и активности.
Шаг 1. Создаем функцию подсчета записей по категориям
function wpkpi_get_posts_count_by_category() {
$categories = get_categories(array('hide_empty' => false));
$total_posts = wp_count_posts()->publish;
$result = array();
foreach ($categories as $cat) {
$count = $cat->count;
$percent = $total_posts ? round(($count / $total_posts) * 100, 2) : 0;
$result[] = array(
'name' => $cat->name,
'count' => $count,
'percent' => $percent
);
}
return $result;
}Эта функция возвращает массив с названием категории, количеством постов и процентом от общего количества публикаций.
Шаг 2. Создаем шорткод для вывода отчета
function wpkpi_display_kpi_report() {
$data = wpkpi_get_posts_count_by_category();
if (empty($data)) {
return '<p>Нет данных для отображения отчета.</p>';
}
$output = '<table border="1" cellpadding="5" cellspacing="0" style="border-collapse: collapse; width: 100%;">';
$output .= '<thead><tr><th>Категория</th><th>Количество постов</th><th>Процент от общего</th></tr></thead>';
$output .= '<tbody>';
foreach ($data as $row) {
$output .= '<tr>';
$output .= '<td>' . esc_html($row['name']) . '</td>';
$output .= '<td>' . esc_html($row['count']) . '</td>';
$output .= '<td>' . esc_html($row['percent']) . '%</td>';
$output .= '</tr>';
}
$output .= '</tbody></table>';
return $output;
}
add_shortcode('wpkpi_kpi_report', 'wpkpi_display_kpi_report');Теперь, вставив шорткод [wpkpi_kpi_report] в любой пост или страницу, вы отобразите таблицу с данными по KPI.
Добавление графиков с использованием Chart.js
Чтобы визуализировать данные, можно подключить библиотеку Chart.js, которая позволяет строить красивые интерактивные графики. Добавим пример круговой диаграммы с процентами по категориям.
Шаг 1. Подключаем Chart.js и скрипт вывода диаграммы
function wpkpi_enqueue_chart_scripts() {
wp_enqueue_script('chart-js', 'https://cdn.jsdelivr.net/npm/chart.js', array(), null, true);
wp_enqueue_script('wpkpi-chart', get_stylesheet_directory_uri() . '/js/wpkpi-chart.js', array('chart-js'), null, true);
wp_localize_script('wpkpi-chart', 'wpkpiData', array(
'categories' => wp_list_pluck(wpkpi_get_posts_count_by_category(), 'name'),
'counts' => wp_list_pluck(wpkpi_get_posts_count_by_category(), 'count'),
));
}
add_action('wp_enqueue_scripts', 'wpkpi_enqueue_chart_scripts');В файле wpkpi-chart.js разместим код для отрисовки диаграммы:
document.addEventListener('DOMContentLoaded', function () {
const ctx = document.getElementById('wpkpiChart').getContext('2d');
new Chart(ctx, {
type: 'doughnut',
data: {
labels: wpkpiData.categories,
datasets: [{
data: wpkpiData.counts,
backgroundColor: [
'#FF6384', '#36A2EB', '#FFCE56', '#4BC0C0', '#9966FF', '#FF9F40'
]
}]
},
options: {
responsive: true,
plugins: {
legend: {
position: 'bottom',
},
}
}
});
});Шаг 2. Выводим холст для диаграммы в шорткоде
function wpkpi_display_kpi_chart() {
return '<canvas id="wpkpiChart" width="400" height="400"></canvas>';
}
add_shortcode('wpkpi_kpi_chart', 'wpkpi_display_kpi_chart');Теперь добавьте шорткод [wpkpi_kpi_chart] в нужное место сайта — и вы получите наглядный график по категориям.
Интеграция с плагином Expert Review для сбора отзывов и KPI
Если на вашем сайте установлен плагин Expert Review, вы можете расширить отчет по KPI, добавив метрики по отзывам: средний рейтинг, количество отзывов по продуктам или статьям.
Для получения данных используйте API плагина или его функции, например:
$average_rating = expert_review_get_average_rating($post_id);
$reviews_count = expert_review_get_reviews_count($post_id);Эти данные можно добавить в наш отчет для более глубокого анализа и принятия решений.
Советы по оптимизации и безопасности KPI-отчетов
При создании отчетов важно учитывать производительность сайта. Используйте кэширование данных, чтобы не перегружать сервер при каждом запросе. Например, применяйте transient API WordPress:
function wpkpi_get_cached_posts_count_by_category() {
$cache_key = 'wpkpi_posts_count_kpi';
$data = get_transient($cache_key);
if ($data === false) {
$data = wpkpi_get_posts_count_by_category();
set_transient($cache_key, $data, 12 * HOUR_IN_SECONDS);
}
return $data;
}Также не забывайте об экранировании вывода для защиты от XSS и проверяйте права доступа к отчетам, если они содержат конфиденциальные данные.
Заключение
Создание подробных отчетов по KPI в WordPress — задача вполне решаемая с помощью комбинации готовых плагинов и собственного кода. Используйте шорткоды для удобства вывода, визуализацию через Chart.js для наглядности, а также оптимизируйте загрузку данных с помощью кэширования. Интеграция с плагинами, такими как Expert Review, позволяет сделать отчет еще более информативным и полезным для анализа.
Для расширения функционала и автоматизации процессов рекомендуем ознакомиться с возможностями плагинов Clearfy Pro и Expert Review.