検索の順位を毎週残す:Search Consoleのデータを保存して比べる

この
- 画面で
見られるのは 16か月まで。 それより 前と 比べるなら、 自分で 保存する - 毎週、
同じ 曜日の 区切り・同じ 検索の 種類・ 確定した データだけで取る - 保存したら、
ページの 種類別と 検索語別に 集計して、 前の 週と 並べる
目次
Search Consoleの
最初に
なぜ、自分で残す?
Googleの
期間を
16 か月以上に 延長したいのであれば、 Search Analytics API や 一括 データ エクスポートを 使用して データを 取得し、 システムに 保存できます。
16か月を
も
残し方は、3つある
| 方法 | 向いているとき | 注意 |
|---|---|---|
| レポートの |
月に |
表は |
| APIの |
毎週、 |
上位の |
| BigQueryへの |
ページと |
設定した |
検索パフォーマンスの
BigQueryへの
APIで、何を指定する?
APIの
| 指定 | 決める値 | 理由 |
|---|---|---|
| startDate・ |
決めた |
週の |
| dimensions | page と |
ページと |
| type | web | 画像や |
| dataState | 指定しない | 確定した |
| rowLimit | 25,000 | 1回の |
日付は
dataStateは、allに
全部の行が返るとは限らない
同じstartRowを
検索語と
短いコードの例
Pythonで、
from google.oauth2 import service_account
from googleapiclient.discovery import build
import csv
creds = service_account.Credentials.from_service_account_file(
"example-key.json",
scopes=["https://www.googleapis.com/auth/webmasters.readonly"])
sc = build("searchconsole", "v1", credentials=creds)
body = {"startDate": "2026-10-15", "endDate": "2026-10-21",
"dimensions": ["page", "query"], "type": "web",
"rowLimit": 25000, "startRow": 0}
res = sc.searchanalytics().query(
siteUrl="sc-domain:example.com", body=body).execute()
with open("gsc_2026-10-15.csv", "w", newline="", encoding="utf-8") as f:
w = csv.writer(f)
w.writerow(["page", "query", "clicks", "impressions", "position"])
for r in res.get("rows", []):
w.writerow(r["keys"] + [r["clicks"], r["impressions"], r["position"]])
ファイル名に
週ごとの数字を、どう比べる?
保存した
私たちの
| 週 | 表示 | クリック |
|---|---|---|
| 2026-10-08〜10-14 | 4,395 | 132 |
| 2026-10-15〜10-21 | 13,612 | 289 |
1週間で
この
比べる
- 直した
日を 残す:テンプレートや タイトルを 直した 日を、 同じ 記録に 書く。 数字だけでは、 何が 効いたか 分からない - URLの
書き方を そろえる :同じ ページが http と https、 www あり・ なしで 別の 行に 出ることがある。 私たちの サイトでも 起き、 そろえないと 表示ページ率が 100%を 超えた
データを
仕様・出典の
よくある質問
Search Consoleのデータは、どれくらい前まで見られますか?
検索パフォーマンスの
毎週データを残すには、何を使えばいいですか?
手で
APIで取るとき、日付はどの時間帯ですか?
太平洋時間です。
APIで全部の検索語が取れますか?
全部とは
毎週の数字は、どう比べればいいですか?
同じ
あわせて読みたい
Search Consoleの
Search Consoleで
公開データで
2026年6〜8月に



