Google Search ConsoleとPythonの連携方法【コピペで動く!】

スポンサーリンク
Python

Google Search ConsoleとPython APIの連携方法を紹介します。

Google Search Consoleとは

ウェブサイトの情報を無料で確認できるツールとなります。Googleが自分(自社)のサイトどのように評価しているかが数値として確認出来たり、オーガニック検索などで、どのような検索キーワードで閲覧者がこのサイトに流入しているのかを確認出来たりします。

現在利用している多くの方は、それまでトラフィックが多かったブログ記事で急にトラフィックが落ち込んだ原因を調べたり、ウェブサイト全体で獲得しているインプレッション数を確認したりしているのではないでしょうか。

Google Analytics との違い

似たようなツールにGoogle Analyticsという物もあります。

Google Analytics : サイトアクセス後のデータを用いて、
サイトに訪問したユーザーが「どこからきて」「どのようなページを見て」「どれくらい滞在した」を確認するツール

Google Search Console : サイトアクセス前のデータを用いて、
検索結果に自分のサイトが「どのような検索ワードで」「どれくらい表示され」「どれくらいクリックされた」を確認するツール

となります。

Google Cloud Platformの設定

Google Cloud Platformの設定に関しては関係記事としてGoogle Analyticsでも取り上げています。

今回も同様に
1. 新規プロジェクトを作成
2. そのプロジェクトにGoogle Search Console APIを登録

3. サービスアカウントを作成でJSONファイルを作成し、ダウンロード
4. Google Search Console画面で環境設定
5. Ptyhonでのアクセス

という流れになります。

プロジェクトの作成

Google Cloud Platform
Google Cloud Platform lets you build, deploy, and scale applications, websites, and services on the same infrastructure as Google.

【サービスアカウント】で【サービスアカウントを作成】をクリックします

3か所入力がありますが、自分の分かりやすいものを入れておけばよいです。ただし、2番目のサービスアカウントのメールアドレスは後ほど使う事になります

【作成して続行】で、プロジェクトへのアクセスを許可を選びますが、

フルアクセスしたければ【オーナー】、ある程度制限したければ【参照者】ぐらいにして完了に進みます。

キー、鍵を追加を選択します。

JSONのカギを作成し、ダウンロードすることになります。このファイルは後ほど使います。

認証情報の取得ができる以下の画面になりますので、「メール」の部分を控えておきます。

以上がGoogle Cloud Platform側での設定です。

Google Search Console の設定

自分のGoogle Search Consoleを開き、画面左メニューの【設定】を選択し、【ユーザーの権限】を選びます。

右上の【ユーザーを追加】から先程確認したメールアドレスを入力します。権限は【フル】を選択します。

これで Google Search Console の設定は終了です。

Pythonでのコーディング

Pythonを自分の環境で使えるようにしておいてください。

また、必要であれば管理者権限でコマンドプロンプトを起動し、下記コマンドを実行してモジュールをインストールしてください。

pip install --upgrade google-api-python-client
pip install oauth2client

PythonのJupyter notebookで実行できますが、そのファイルと同じディレクトリ階層、もしくは相対的に分かる場所に先程のJSONファイルを置いてください。Google Colaboratoryでも動きます。

Google Colaboratoryの使い方についてはこちらを参考にしてください。

実際のコードは以下のようになります。

!pip install --upgrade google-api-python-client
!pip install oauth2client

Google Colaboratoryでも実行可能です。入力する変数としては

KEY_FILE_LOCATION には ‘生成したJsonファイル.json’ を指定します。
url には自身のサイトのURLを指定します。

注意点として、URLの指定ですが、単純にドメインを入れただけでは動かないことがあるようです。

url = ‘sc-domain:worth2know.com’

と【sc-domain:】という文字を入れてあげると動くことが私の環境では確認できています。

今回は検索期間も指定できるように  start_date   end_date  も指定します。

Webサービスでは検索件数が1000件となっていますが、最大で25000行まで設定できるようです。
今回の例では500行にしてあります。

from apiclient.discovery import build
from oauth2client.service_account import ServiceAccountCredentials

SCOPES = ['https://www.googleapis.com/auth/webmasters.readonly']

KEY_FILE_LOCATION = '生成したJsonファイル.json'
url = 'sc-domain:worth2know.com'
d_list = ['query', 'page']
start_date = '2021-09-01'
end_date = '2021-09-30'
row_limit = 500

credentials = ServiceAccountCredentials.from_json_keyfile_name(KEY_FILE_LOCATION, SCOPES)
webmasters = build('webmasters', 'v3', credentials=credentials)

print(webmasters.sites().list().execute())

実際のデータ抽出と、CSVファイルへの書き出し。

import pandas as pd
from googleapiclient.discovery import build
from google.oauth2 import service_account

body = {
    'startDate': start_date,
    'endDate': end_date,
    'dimensions': d_list,
    'rowLimit': row_limit
}
response = webmasters.searchanalytics().query(siteUrl=url, body=body).execute()
df = pd.io.json.json_normalize(response['rows'])
for i, d in enumerate(d_list):
    df[d] = df['keys'].apply(lambda x: x[i])
df.drop(columns='keys', inplace=True)
df.to_csv('{}.csv'.format(start_date), index=False)
display(df)

見ていただいて分かるように、上記の例では、
・クリック数
・インプレッション数
・クリック率
・対象期間の平均検索順位
・検索クエリ
・対象ページURL

などが取得できることが分かります。

CSVにも書き出すこともできますので、様々な視点から分析・改善などが可能になると思います。

より多くのことを知りたい場合はオリジナルのリファレンスガイドを参照ください。

404  |  Page Not Found  |  Google for Developers
Quickstart: Run a Search Console App in Python  |  Search Console API  |  Google for Developers

ーーー

参考にしたサイト

404 Not Found - Qiita - Qiita
【画像/コードで解説】PythonでGoogle Search Console APIを使う方法 - inasala note
Pythonを使ってGoogle Search Console APIでブログ・サイトの検索ワード・クエリを抽出する方法を紹介します。APIを使うことで、普段サチコの画面を見てやっているサイトのアクセス管理の自動化・効率化に繋げられます。
Pythonを使ってGoogle search console(サーチコンソール)のAPIを叩いてみた!|スタビジ
当サイト【スタビジ】の本記事では、Pythonを使ってGoogle search console(サーチコンソール)のAPIを利用してみます。PythonはAPIを利用するのに非常に便利です。Googleプロダクトは各種APIを提供していてAPIを使うことで様々なことができるので試してみましょう!
PythonのSearch Console APIを利用してクエリ情報を取得
公式のクイックスタートではAPIを利用して、Search Consoleのプロパティのリストを取得しています。私はクエリ、url、インプレッション、CTR、順位の取得までをやりたかったので実装してみました。取得したデータはDataFrame
指定されたページが見つかりませんでした | note.nkmk.me
指定されたページが見つかりませんでした

ーーー

SEO関係の記事を紹介します。

コメント

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