Search Console APIを使うと、検索キーワードのクリック数や表示回数を取得できます。これを前期間と比較すると、急に伸びたキーワード、急に落ちたキーワードを検出できます。
比較するデータ
- 直近7日とその前の7日
- 直近28日とその前の28日
- queryごとのクリック差分
- queryごとの表示回数差分
- 平均掲載順位の変化
差分検出のPHP
function nines_detect_keyword_changes(array $current, array $previous): array
{
$previous_by_query = [];
foreach ($previous as $row) {
$previous_by_query[$row['query']] = $row;
}
$changes = [];
foreach ($current as $row) {
$query = $row['query'];
$old = $previous_by_query[$query] ?? [
'clicks' => 0,
'impressions' => 0,
'position' => null,
];
$click_diff = $row['clicks'] - $old['clicks'];
$impression_diff = $row['impressions'] - $old['impressions'];
$position_diff = is_null($old['position']) ? null : $old['position'] - $row['position'];
$changes[] = [
'query' => $query,
'click_diff' => $click_diff,
'impression_diff' => $impression_diff,
'position_diff' => $position_diff,
'status' => $click_diff >= 5 || $impression_diff >= 100 ? '急上昇' : '通常',
];
}
usort($changes, fn($a, $b) => $b['impression_diff'] <=> $a['impression_diff']);
return $changes;
}急上昇・急落の判定例
- 表示回数が100以上増えたら急上昇候補
- クリックが5以上増えたら急上昇候補
- 平均順位が5以上落ちたら急落候補
- 表示回数は増えたのにCTRが落ちたらタイトル改善候補
- 新規キーワードは関連記事追加候補
使い道
- 伸びている検索語句を見出しに追加する
- 順位が落ちた記事をリライト候補にする
- CTRが低い記事のタイトルを改善する
- 急上昇キーワードから新規記事を作る
参考資料
まとめ
急上昇・急落キーワードを検出できると、記事改善のタイミングを逃しにくくなります。Search Consoleのデータは少し遅れて反映されるので、毎日見つつ週単位で判断するのが現実的です。