[PHP] Googleサーチコンソールで出力したCSVデータを集計する処理

Google Search Consoleで検索パフォーマンスを確認している方は多いと思いますが、この検索パフォーマンスをCSVにエクスポートして管理している方はどれくらいいるんだろう。

自分は、会社のサイトも、自分が管理するサイトも、集計用としてこの検索パフォーマンスデータを月ごとにCSVでダウンロードして、管理しています。

そして、このCSVを元に検索パフォーマンスのレポートを書いているのですが、Google Search Console上でのクエリに相当するリストを自前で作りたかったので、PHPで組んでみました。

需要があるかどうかわかりませんが、置いておきます。

ちなみに、簡易集計ツールということで、エラーチェックなどは行っていません。

// 簡易集計ツール
$csv_count = array();
$data = file( 'month.csv' );

for( $i = 0; $i < sizeof( $data ); $i++ ){
    $line = explode( ',', $data[$i] );
    $key = mb_convert_kana( $line[0], 'aKV', 'utf-8' );
    $key = preg_replace( '/( | )/', '|', $key );
    if( !array_key_exists( $key, $csv_count ) ) $csv_count[$key] = 0;
    $csv_count[$key] += $line[2];
}

arsort( $csv_count );

print "<table style='border: 0; font-size: 12px;'>\n";
foreach( $csv_count as $key => $val ){
    print "<tr>";
    print "<td style='padding: 5px; border: 0; background: #afa;'>{$key}</td>";
    print "<td style='padding: 5px; border: 0; background: #ddf;'>{$val}</td>";
    print "</tr>\n";
}
print "</table>\n";
exit;

ちょっとだけ解説

$data = file( 'month.csv' ); でCSVファイル名を指定しています。適宜書き換えてください。

集計結果は降順(数字が大きいものから表示)に並べ替えています。並べ替えが必要ない場合はarsort( $csv_count );をコメントアウトしてください。

$line[2]で表示回数を取得しています。クリック数を取得したい場合は$line[1]に変更してください。

$key = preg_replace("/( | )/", "|", $key );で検索の区切り文字である半角/全角スペースを「|」に置き換えています。画面表示上の区切り文字を変更したい場合は、「|」を適宜書き換えてください。

$lineの中身は以下の通り。
$line[0]:検索キーワード
$line[1]:クリック数
$line[2]:表示回数
$line[3]:CTR
$line[4]:掲載順位

コメント

タイトルとURLをコピーしました