BLOG
WordPressでGoogle AnalyticsとSearch Consoleのデータを1画面にまとめる方法
Google AnalyticsとSearch Consoleは、どちらもサイト改善に欠かせないデータですが、別々の画面で見ると判断が遅くなります。PVは伸びているのに検索クリックは少ない、検索表示は増えているのにCTRが低い、といったズレを1画面で見られると改善点が見つけやすくなります。
この記事では、WordPressでGoogle Analytics Data APIとSearch Console APIのデータをまとめ、運営者向けダッシュボードに表示する基本設計を作ります。
まとめるべき指標
- PV・セッション・アクティブユーザー
- 検索クリック・表示回数・CTR・平均掲載順位
- 記事URLごとの伸び率
- 改善候補の記事リスト
- 次に書くべき関連記事の候補
保存テーブルの例
APIから毎回取得するのではなく、まずDBに日次保存してから画面へ出す構成にすると安定します。
CREATE TABLE wp_nines_daily_metrics (
id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT,
metric_date DATE NOT NULL,
page_path VARCHAR(255) NOT NULL,
pageviews INT UNSIGNED NOT NULL DEFAULT 0,
sessions INT UNSIGNED NOT NULL DEFAULT 0,
clicks INT UNSIGNED NOT NULL DEFAULT 0,
impressions INT UNSIGNED NOT NULL DEFAULT 0,
avg_position DECIMAL(6,2) DEFAULT NULL,
created_at DATETIME NOT NULL,
PRIMARY KEY (id),
UNIQUE KEY metric_page_date (metric_date, page_path)
);REST APIでまとめて返す
フロント側はAnalyticsとSearch Consoleを意識せず、集計済みJSONだけを受け取る形にします。
add_action('rest_api_init', function () {
register_rest_route('nines/v1', '/analytics/summary', [
'methods' => 'GET',
'callback' => function () {
return rest_ensure_response([
'period' => 'last_28_days',
'totals' => [
'pageviews' => 12840,
'sessions' => 6720,
'clicks' => 438,
'impressions' => 19200,
'avg_position' => 12.4,
],
'top_pages' => [
['path' => '/blog/css-grid-minmax-complete-guide/', 'pageviews' => 420, 'clicks' => 38],
['path' => '/tool/simulator/', 'pageviews' => 380, 'clicks' => 21],
],
]);
},
'permission_callback' => function () {
return current_user_can('edit_posts');
},
]);
});画面設計のポイント
- 最上段に合計値をカードで表示する
- 中段にPVと検索クリックの推移を並べる
- 下段に伸びている記事と落ちている記事を出す
- 順位だけでなく表示回数とCTRも並べる
- 管理者だけ見られるページにする
関連リンク
- WordPressでGoogle Analytics Data APIを使ってPVを取得する方法
- WordPressでSearch Console APIを使って検索順位を取得する方法
- WordPressオリジナルテーマでダッシュボードを作る方法
まとめ
AnalyticsとSearch Consoleを1画面にまとめると、単なる数字確認ではなく、記事改善の判断画面になります。まずは日次保存、次にREST API、最後にダッシュボード表示の順で作ると迷いにくいです。