アクセス解析ダッシュボードは、数字を並べるだけだと判断しづらくなります。Chart.jsでPVや検索クリックの推移をグラフ化すると、伸びている日、落ちた日、施策の効果が直感的に分かります。
HTML
<section class="analytics-chart">
<h2>アクセス推移</h2>
<canvas id="trafficChart" width="800" height="360"></canvas>
</section>Chart.jsを読み込む
add_action('wp_enqueue_scripts', function () {
if (!is_page('dashboard')) {
return;
}
wp_enqueue_script(
'chartjs',
'https://cdn.jsdelivr.net/npm/chart.js',
[],
null,
true
);
wp_enqueue_script(
'nines-dashboard-chart',
get_template_directory_uri() . '/js/dashboard-chart.js',
['chartjs'],
'1.0.0',
true
);
});グラフを描画するJavaScript
async function drawTrafficChart() {
const response = await fetch('/wp-json/nines/v1/analytics/daily');
const rows = await response.json();
const labels = rows.map((row) => row.date);
const pageviews = rows.map((row) => row.pageviews);
const clicks = rows.map((row) => row.clicks);
new Chart(document.querySelector('#trafficChart'), {
type: 'line',
data: {
labels,
datasets: [
{
label: 'PV',
data: pageviews,
borderColor: '#ff2f63',
backgroundColor: 'rgba(255, 47, 99, .12)',
tension: .35,
fill: true,
},
{
label: '検索クリック',
data: clicks,
borderColor: '#111111',
backgroundColor: 'rgba(17, 17, 17, .08)',
tension: .35,
},
],
},
options: {
responsive: true,
maintainAspectRatio: false,
plugins: {
legend: {
position: 'bottom',
},
},
},
});
}
drawTrafficChart();見やすくするコツ
- PVとクリックを同じグラフに重ねすぎない
- 凡例は下に置くとスマホで読みやすい
- 日別・週別を切り替えられるようにする
- 急上昇・急落日は背景色や注釈で目立たせる
- 数字カードとグラフを同じ期間で揃える
参考資料
まとめ
Chart.jsを使うと、WordPressのアクセス解析ダッシュボードをかなり見やすくできます。まずはPVと検索クリックの折れ線グラフを作り、そこから記事別・キーワード別のグラフへ広げるのがおすすめです。