Java:Search Console APIを使う、サービスアカウント編、その2



Java:Search Console APIを使う、サービスアカウント編の続きである。

サービスアカウントを使うことによってSearch Console APIにアクセスできるようになり、最小限のアクセスを行ったのだが、ここではより詳細を取得してみる。

ドキュメントは以下になる。

特にqueryのパラメータについては以下だ。

このAPIには、サイトリスト取得、サイトマップ入力、サイト削除等の機能があるのだが、特に大量のサイトを扱うのでも無い限り必要無い。以下ではqueryの機能について見ていく。

コードは前回のサンプルを前提として記述されている。

queryパラメータ

注意:行のソート順は、クリックカウントの降順になる。同じクリックカウントの行に対しては順序不定。

日付範囲

必須なのは開始・終了日付のみだ。これ以外はオプションであり、指定する必要はない。

開始日付<=終了日付であり、この日付は、PST(太平洋標準時、米西海岸標準時)だという。日本時間では無いことに注意。

以下のようにYYYY-MM-DD形式だ。

    req.setStartDate("2019-04-23");
    req.setEndDate("2019-04-23");

dimensions

ここで指定されたdimensionごとに結果がグループ化され、かつ結果の中にそのdimensionが現れる。

dimensionが何も指定されていなければ、結果は一つの行にまとめられる。

req.setDimensions(Arrays.asList(new String[] { 
      "page",
      "query" ,
    }));    

例えば、上のように記述すると、結果はウェブページ別、検索文字列別になる。

{"clicks":0.0,"ctr":0.0,"impressions":1.0,"keys":["https://www.gwtcenter.com/eclipse-sets-file-encoding","eclipse utf"],"position":19.0}
{"clicks":0.0,"ctr":0.0,"impressions":1.0,"keys":["https://www.gwtcenter.com/eclipse-sets-file-encoding","eclipse vm引数"],"position":31.0}
{"clicks":0.0,"ctr":0.0,"impressions":2.0,"keys":["https://www.gwtcenter.com/eclipse-sets-file-encoding","eclipse 文字コード"],"position":29.5}

可能な値は以下

  • “country”: 3文字で国名を表す。
  • “device”: 機器を表す。”desktop”, “mobile”, “tablet”のいずれかが現れる。
  • “page”: URI
  • “query”: 検索文字列

特別なdimensionとして以下がある。

  • “searchAppearance”: 他のdimensionと共に指定できない。

この意味が今ひとつ不明だが、指定すると以下のような行が現れる。

{"clicks":1.0,"ctr":0.043478260869565216,"impressions":23.0,"keys":["AMP_TOP_STORIES"],"position":7.695652173913044}
{"clicks":78.0,"ctr":0.08934707903780069,"impressions":873.0,"keys":["AMP_BLUE_LINK"],"position":9.306987399770906}

searchType

検索対象を指定する。デフォルトは”web”。

    req.setSearchType("web");

この他に”image”, “video”がある。

dimensionFilterGroups

指定したdimensionに対してフィルタリングするらしい、例えば”country”は”jpn”だけとか、”query”は”☓☓☓”など。

equalsだけではなくcontains、notEqual、notContainsもある。複数指定する場合は”and”のみの結合が可能。

今回の目的には不要なので詳細省略。

aggregationType

省略

rowLimit

取得する行数制限。1から25,000の範囲。デフォルトは1,000。

startRow

取得開始する行番号で0ベース。デフォルトは0。

queryの結果

結果は、JSON形式の行として返される。

{"clicks":6.0,"ctr":0.21428571428571427,"impressions":28.0,"keys":["https://www.gwtcenter.com/how-to-use-ultraviewer","ultraviewer"],"position":15.357142857142858}
  • clicks:クリック数
  • ctr:クリックスルー・レート(CTR)、0.0から1.0の値。この場合は検索結果に表示され、それがクリックされた率だろう。
  • impressions:インプレッション数、つまり検索結果に表示された回数。

したがって、「ctr = clicks / impressions」となっているはずだ。

  • position:平均検索結果順位。平均値なので整数ではない。

  • keys:dimensionsに指定した値が、その順序で現れる。