URL Inspection APIでGoogleインデックス状況を可視化

「週末なにする?そんな時は、アソビュー!」でおなじみの遊び予約サイト「アソビュー!」のSEOを担当している西本です。この記事はアソビュー! Advent Calendar 2024の10日目(A面)です。

今回はURL Inspection APIについてです。リリースされたのが2022年1月のため今更感はありますが。

僕は大規模サイトのテクニカルSEOが得意だと自称しています。重要な観点はいくつかあると思いますが、大規模サイト特有の難しさとして、膨大なページが存在することによりいかにGoogleに認識して欲しいページをGooglebotにクロールしてもらうか、Google検索結果に出て欲しいページをインデックスしてもらうか、の「クロール」と「インデックス」は重要な要素の1つだと考えています。
※このあたりの考え方はJADEさんが提唱されているDCIRのフレームワークが参考になると思います。

クロールやインデックスを改善しようと思う際、現状の課題の特定や施策実施後の効果検証のためには、指標として定義しモニタリング出来る状態を作る必要があると考えています。

クロールに関しては以前アクセスログを使って分析やモニタリングをする内容について記載しました。

tech.asoview.co.jp

今回はインデックスの分析やモニタリングを、URL Inspection APIを使って実現しよう、という内容です。

URL Inspection APIの対応方法

対応方法については別のブログ記事などでも紹介されていますし、公式のヘルプページもあるため、簡単に記載します。

(1)GCPでGoogle Search Console APIを有効にする

Googleアカウントにログインした状態でAPIライブラリにアクセスし、Google Search Console APIを検索し「有効」に設定します。

Search Console API

(2)GCPで認証情報を作成する

APIを有効化した後の画面で「認証情報の作成」に遷移、OAuth認証情報を作成します。作成した認証情報はAPIへのリクエスト時に使用するため、JSON形式でダウンロードしておきます。

(3)URL Inspection APIにリクエストを送る

事前準備で作成した認証情報を使って、APIからデータを取得します。OAuth2.0を使用した認証の詳細は公式リファレンスを参照頂ければと思いますが、分からなければ後述する連絡先からご連絡ください。

認証の対応が出来た後は公式リファレンスを参考に、URL Inspection APIにリクエストを送ります。※僕はPythonで実装しています。

リクエスト時に必要な情報は以下3点です。

APIからはJSON形式で取得結果が返ってきます。取得出来る情報の詳細は公式リファレンスを参照してください。

僕はURL Inspection APIから取得したデータをモニタリングするために、JSONで取得したデータをcsvに変換し、BigQueryにデータを格納し、Redashで可視化しています。上記一連の処理は全て自動化しているため、日々のモニタリングにおいてはRedash上に作成したダッシュボードを見るだけです。

尚、補足事項としては以下があります。

・取得件数の上限
1日に取得出来るURLは1プロパティあたり2000件の上限があります。そのため、取得する件数を増やしたい場合はサーチコンソールでプロパティを追加する必要があります。
アソビューの場合は主要機能毎にディレクトリが分かれているため、主要機能毎のプロパティをサーチコンソールで作成しています。ただ、APIから結果が返るまでに少し時間がかかるため、あまり取得件数を増やし過ぎても時間がかかり過ぎてしまうため、存在するページ数にあわせてよしなに件数を設定した方がよさそうです。

計測対象のURLの選定方法(Input)

定期的に計測していくにあたり、まず検討が必要な要素として、計測対象のURLをどう選定するか、があります。考えられる方法としては以下3案がありますが、それぞれメリット・デメリットがあるため、自社の状況に合わせた適切な方法を選択することになると思います。

(1)リスト化したURLからランダムに選定

計測対象のURLを事前にリスト化(固定)しておき、その中からランダムに選択する方法です。
▼メリット
・実装が簡単(※URLを事前に手作業で作成しておきファイルに持たせておくだけでいい)
・一覧ページであればURLが変わることが少ないため対応しやすい
▼デメリット
・掲載件数の減少によりnoindexになったURLを除外、掲載件数の増加によりindexになったURLを追加、など状況に合わせた動的な対応が出来ない
・ページの増減が度々発生する詳細ページでの対応が難しい

(2)sitemap.xmlに記載されたURLからランダムに選定

(ページの増減にあわせて自動で更新される)sitemap.xmlに記載されたURLからランダムに選択する方法です。
▼メリット
・掲載件数の増減にあわせて計測対象のURLを柔軟に変更出来る(※sitemap.xmlが自動更新される前提ですが)
・(1)ほどでは無いが比較的実装が簡単(※sitemap.xmlからURLを取得するだけ)
▼デメリット
・sitemap.xmlに記載されていないURLは計測対象に含められない

(3)自社データ基盤から計測対象のURLを生成しランダムに選定

保有している自社データから計測対象のURLを生成し、その中からランダムに選択する方法です。
▼メリット
・掲載件数の増減にあわせて計測対象のURLを柔軟に変更出来る
・sitemap.xmlの記載有無に関わらず、どんなURLでも計測対象に設定出来る
▼デメリット
・実装が難しい(※そもそもデータ基盤が整備されていないと対応出来ない)

実現出来るのであれば(3)が良さそうに思いますが、現実的には(2)で対応するのが妥当かな、と思います。 アソビューの場合で言うと、まずは(1)からスタートし、その後(2)に移行して今に至る、です。本当は(3)案で対応したいですが、なかなか時間が取れず…。

取得したデータの活用事例(Output)

URL Inspection APIから取得出来るデータは様々あり、分析したい内容や検証したい仮説に応じて様々活用が出来ると思います。※取得出来るデータの詳細は、公式のリファレンスを参照
現状アソビューで見ている内容としては以下の2点があります。

(1)主要機能毎のインデックス率

インデックスされたURL数 / 計測対象のURL数、で主要機能毎のインデックス率を可視化しています。実際のグラフは以下の通りです。

インデックス率
インデックス率

機能毎に存在するページ数が大きく異なるためインデックス率にも違いが出てきます。赤線で記載した機能は膨大なページ数が存在する一覧ページのためインデックス率も他と比べて低い状況です。時系列で見た時にインデックス率が改善しているのは、1.sitemap.xmlに記載されていた掲載件数0件の一覧URLを削除、2.詳細ページからのリンク導線を強化、を実施した施策の効果と考えています。

(2)クロール後の経過日数

APIで計測した日 - 最後にクロールされた日、で最後にクロールされた日からどの程度の日数が経過しているかを確認しています。この数値が少ないほど直近のページ内容をGoogleは評価に使っており、数値が多いほど古いページ内容をGoogleは評価に使っている、と考えられます。実際のグラフは以下の通りです。

経過日数
経過日数
(1)と同様に機能毎にページ数が異なるため傾向に違いが出ていますが、やはりページ数が多い赤線の機能は最新の情報が評価に使われていないと考えられます。ページの重要度に応じて設置するリンクの傾斜をかけるなど何かしら改善策を検討した方がいいかもな、と思ったりですが。

現状見れてはいないのですが、以下のような計測も検討してみてもいいかも、と思ったりです。なかなか時間が取れないですが。
・主要機能毎のクロール率 ※クロールされたURL数 / 計測対象のURL数
・canonicalの有効化率 ※googleCanonical と userCanonical が一致している割合
・リンクの有効度 ※referringUrls にどのページからのリンクが多く記載されているか

他にもこういうのを見た方がいいのでは、というアイデアがある方がいれば教えて欲しいです。XFacebookでお気軽にご連絡ください。情報交換の機会など頂ければ有難いです。

さいごに

僕はインハウスの立場でSEOを担当しているのですが、インハウスだとどうしても施策推進にリソースを多く充てることになり、分析やモニタリングにリソースを割くのがなかなか難しいと感じています(※言い訳ですが)。
また、僕は自分でプログラムが書けるのでAPIからのデータ取得やその後のモニタリングまで自分で対応出来るのですが、プログラムが書けるSEO担当者はそれほど多くなく、対応する場合はエンジニアリソースを調達する必要があるのですが、それはそれでなかなか難しかったりします。
そのような背景もありURL Inspection APIでインデックス率をモニタリングしたいが進められず困っている方がいれば、JADEさんの「Amethyst」の導入を検討するのもいいかもしれないです。

データドリブンなテックカンパニーである我らがアソビューでは一緒に事業をつくる仲間を絶賛募集中です。

www.asoview.co.jp