Search Console と Cloudflare の数字を自動で集める仕組み(概要)
複数のサイトの検索とアクセスの数字を、毎日自動で集めてパソコンに保存する仕組みを作った話です。なぜ作ったのか、どんな流れで動いているのか、作るときに気をつけたことを、コードの細かい話を省いて紹介します。
なぜ自動で集めることにしたか
私は6つほどのサイトを運営しています。最初は、Search Console と Cloudflare Web Analytics の画面を、サイトごとに開いて数字を見ていました。サイトが増えると、これだけでかなりの時間がかかるようになりました。
もう1つの理由は、Cloudflare Web Analytics の詳しいデータが、執筆時点では短い期間しか残らないことです。記事ごとの読まれ方を、数か月の単位で比べたいと思っても、画面では見られません。そこで、数字を毎日取り出して、自分のパソコンに残しておく小さなアプリを作りました。
用語の説明
- API(エーピーアイ):プログラムから、サービスのデータを取り出したり操作したりするための窓口
- GraphQL(グラフキューエル):API の形式の1つ。欲しいデータの項目を指定して取り出せる。Cloudflare の解析データはこの形式で取り出せる
- Search Console API:Search Console の数字(表示回数・クリック数など)をプログラムから取り出すための API
- API トークン:API を使うための合い言葉のような文字列。パスワードと同じように大切に扱う
仕組みの全体の流れ
作ったアプリは、次のような流れで動いています。
- 毎日1回、アプリが起動する
- Cloudflare の GraphQL API から、サイトごと・ページごとのアクセスの数字を取り出す
- Search Console API から、ページごと・検索の言葉ごとの表示回数とクリック数を取り出す
- 取り出した数字を、日付を付けてパソコンの中に保存する
- 保存した数字を、記事ごとに並べて比べられる画面で見る
Cloudflare 側で用意したもの
Cloudflare のデータを取り出すには、API トークンが必要です。ダッシュボードで作成し、権限は解析のデータを読むことだけに絞りました。何でもできる権限のトークンを作ると、万が一漏れたときの影響が大きくなるためです。
Search Console 側で用意したもの
Search Console API を使うには、Google Cloud でプロジェクトを作り、API を有効にして、認証の設定をする必要があります。執筆時点では、この準備に一番手間がかかりました。手順は Google の公式ドキュメントに沿って進めました。
また、Search Console の数字は、その日のうちには出そろいません。数日遅れて出そろうことがあるため、取り出すときは、数日前までの日付を対象にするなどの工夫が必要です。
作るときに気をつけたこと
- API トークンや認証のファイルを、公開するサイトのフォルダに入れない
- 取り出しに失敗しても、それまでのデータが消えないようにする
- 同じ日のデータを2回取り出しても、二重に数えないようにする
- サイトを追加したときに、設定を1か所足すだけで済むようにする
よくあるつまずき
- Cloudflare の数字と Search Console の数字が合わず、どちらかが間違っていると考えてしまう。数え方が違うので、一致しないのが普通
- Search Console のプロパティの URL を、登録した形(末尾の「/」など)と違う書き方で指定して、データが取れない
- パソコンの起動時に自動で動かそうとして、セキュリティソフトに止められる
私の場合
このアプリは、AI(Claude)に相談しながら作りました。全体の設計や、どの数字を残すかは自分で決め、コードの下書きを AI に手伝ってもらい、動かして確認しながら直しました。
起動の方法では少しつまずきました。最初は、Windows のスタートアップのフォルダにバッチファイルを置いて、パソコンを起動したときに動かそうとしました。ところが、私のパソコンではセキュリティソフトにそのバッチファイルを止められてしまいました。そのため、起動の方法は別のやり方を検討しています。
次にやること
まずは画面で数字を見る習慣をつけ、「毎回同じ手順で見ている」と感じてから、自動化を考えるのがおすすめです。何を比べたいのかが決まっていれば、残すべき数字もはっきりします。
※API の仕様や使い方、データの保存期間は執筆時点のものです。使う前に Cloudflare と Google の公式ドキュメントをご確認ください。