Googleのウェブマスターツールが、Search Consoleに名称変更となり、検索クエリを閲覧する画面も、「検索アナリティクス」といった形でリニューアルが行なわれました。
検索アナリティクスになり、検索クエリとそれに紐づくランディングページやデバイスなどが分かりやすくなったというメリットの反面、取得可能な検索クエリの個数が画面UI上では999件となり多くの検索クエリを見ることが難しくなった、という声も聞くようになりました。検索クエリの上限については、APIを利用すれば最大5,000件まで取得可能とかかれた情報もあるのですが、実際にどうAPIを利用したらいいか?が書かれた肝心の記事は出回っていないように思います。
そこで、Search Console APIの中の検索アナリティクスのデータを取得するAPIを利用したツールをこのブログ内に作成しました。
Search Console API - 検索アナリティクス
APIを利用してできること
APIを利用してできることは、今回作成したクエリデータの取得の他に、サイトの登録や削除、サイトマップの送信、クロールエラーの情報取得などができるようになります。これらの機能を利用すると、大規模サイトで多量のサイトを管理するときの、Search Consoleへの一括登録やサイトマップの一括送信、クロールエラーの監視といったことができるようになります。現状では、Fetch as Googleを利用したインデックスの送信は行えないようですが、今後機能追加されたときには、CMSなどとの連携も考えられます。
APIに関する情報
Search Console APIの開発者向けヘルプ・ドキュメントは、
Google Developers - Search Console API (Webmaster Tools API)
にあります。
ただ、プログラムを書くにはここにある情報だけでは不足します。自分もいろいろ試行錯誤しながら、約2日かけてツール開発を行いました。ライブラリ自体は、
- Python
- Go
- JavaScript
- .NET
- Objective-C
- PHP
- Java
にて提供されているものの、サンプルコードはPython版の簡素なものしか書かれていません。今回は、各利用ユーザーのトークン管理が面倒だったこともあり、JavaScript版のライブラリを利用しています。ただ、ライブラリを使って、クエリデータを取得しようとすると、Cross Origin関連のエラーが発生してしまい、先に進めなかったため、結局XMLHttpRequestオブジェクトを生成して、リクエスト部分から自分で実装してしまっています。
このあたりは、PythonやPHPといったサーバー側の言語を使うようにすれば、簡単に実装できたのかもしれません。
実装コードはもう少しリファクタリングを行ったのちに、どこかで共有できればと思います。
作成したツールの使い方
作成したツールは、
https://sem-technology.info/tools/search_console
からご利用いただけます。最初に「認証処理」のボタンをクリックして、認証を行います。認証完了後、該当アカウントに登録されているサイトの一覧を取得します。APIを経由して取得したサイトデータが「対象サイト」のコンボボックスに入ってきます。
検索条件は
検索項目 | 必須/任意 | 説明 |
---|---|---|
対象サイト | 必須 | 検索クエリを取得したいサイトを選択してください。選択肢のサイトは、認証後に |
データ取得期間 | 必須 | 取得データに含めたい期間を設定してください。 |
取得件数 | 任意 | 取得するデータの上限を設定します。1以上5,000以下の値が指定可能で、省略した場合はデフォルト値1,000が使われます。 |
検索タイプ | 任意 | Web、Image, Videoのどの検索タイプのデータを取得するかを指定します。デフォルトはWebとなっています。 |
ディメンション | 任意 | 検索データをどの単位で分割するかを設定します。項目を増やすと、データ行数が増えてしまい、最大行数5,000に収まらないこともあるので注意が必要です。 |
となっています。これらのうち、必要な項目を指定したら、「データ取得」ボタン、または「CSV出力」ボタンをクリックしてデータ取得を行います。データの取得処理は少し時間がかかる上に、読み込み中の表示を実装していないため、処理をしているのか不安に思うかもしれませんが、お待ち下さい。数十秒あれば読み込みは終わるはずですので、数分経っても変化がない場合は、再度画面をリロードして、やり直してみてください。それでもダメな場合は、お問い合わせフォームより、ご連絡ください。
現状の機能
現状の機能としては、画面UI上から行えない取得件数の上限変更が実装されているくらいで、それ以外にこのツールを利用するメリットはありません。とはいえ、いろいろなサイトで、APIを使えば1,000件以上の検索クエリ取得ができる、と書かれていながらも、手軽にAPIを利用する方法はどこにも書かれていないことから考えると、ニッチな機能ながらも、ニーズはあるかと思います。
なお、ツールの利用頻度の計測のため、Google認証を行ったタイミングと、データ出力ボタン(CSVボタン含む)がクリックされたタイミングで、Googleアナリティクスにイベントデータとして送信しています。認証に使われたアカウント情報や、データ取得の対象となっているWebサイトの情報についてはGoogleアナリティクス、自サイトを含むいかなる場所にも送信していません。
今後の機能追加(予定)
今の所、機能追加の予定はありませんが、利用者が多く、他の機能追加の要望が出てきたら、順次対応を検討したいと思っています。
とはいっても、現在のSearch Analytics APIの仕様を見る限りでは、追加できる機能としては、出力結果のフィルタリング機能くらいでしょうか。他には、ページ単位のフィルタリング機能を自動で利用して5,000件以上の全データを取得できたら、理想かと思います(その場合は, JavaScriptの処理では限界がありそうなので、サーバーサイドでの実装になりそうです)。