Blog
サーチコンソールのデータは16ヶ月で消える — 消える前にやるべき保存設定
Google Search Console(サーチコンソール)を開いて、去年の同じ時期と比べようとしたら、その期間が選べなかった——。
これは珍しい話ではありません。実際にブログを運営している方が、自身のブログで「過去データが消えてしまった経験があります」と書いています(Googleサーチコンソール・GA4・AdSenseのデータ保持期間まとめ|Toma(とま)のゲーム日記)。同じ記事では、その経験からBigQuery連携を必須の運用にしている、とも述べられています。
英語圏でも同じことが言われています。SEOツールを提供するDadSEOは、16ヶ月を過ぎたデータについて「once it's deleted, there's no getting it back」(消えてしまえば、取り戻す方法はない)と書いています(Google Search Console Data Retention|DadSEO)。
これは特定のツールの都合ではなく、Googleが定めた仕様です。Googleの公式ヘルプにも「Search Console では、過去 16 か月間のデータが保持されます」と明記されています(Search Console を Google アナリティクスに接続する|アナリティクス ヘルプ)。16ヶ月より古いデータは、Google側から削除されます。バックアップは残りません。問い合わせても復元されません。
サーチコンソールを長く運営している人ほど、この仕様に一度はぶつかります。それでも知られていないのは、気づく機会がほとんど無いからです。サーチコンソールは毎日きちんと数字を出し続けるので、何かを失っている感覚がありません。失ったことに気づくのは、たいてい「去年と比べたい」と思った瞬間です。そのときにはもう手遅れです。
この記事では、まず16ヶ月の仕様を正確に確認し、そのうえで今すぐできる保存方法を難易度順に4つ、出し惜しみせず紹介します。あわせて、それぞれの限界と、どの方法を使っても取り戻せないものについても正直に書きます。
事実: サーチコンソールの検索データは16ヶ月で消える
サーチコンソールの検索パフォーマンスレポートで期間を遡っていくと、約16ヶ月前で選択できなくなります。これはバグでも表示上の制限でもなく、Googleが定めたデータ保持期間です。
消えるのは、SEOの振り返りで最もよく使う4つの数字です。
- クリック数
- 表示回数
- CTR(クリック率)
- 平均掲載順位
そしてこれらは、クエリ別・ページ別・国別・デバイス別といった切り口ごとに保持されています。16ヶ月を過ぎると、その切り口ごとまとめて参照できなくなります。
自分のサイトの境界は、30秒で確認できる
この記事を読みながら、実際に確かめてみてください。
- サーチコンソールで対象のプロパティを開く
- 左メニューの「検索パフォーマンス」→「検索結果」を開く
- 上部の期間フィルタをクリックし、「過去16か月」を選ぶ
- さらにその下の「カスタム」で、開始日をもっと前に設定してみる
16ヶ月より前の日付は、そもそも選べません。 カレンダー上でグレーアウトしているか、選んでも警告が出ます。ここが自分のサイトの「窓の端」です。
そして重要なのは、この端が明日には1日ぶん前へ動くということです。今日見えている最も古い日のデータは、明日には見えなくなります。
「あとで見よう」が効かない唯一の理由
多くのツールは、あとから遡って取得し直せます。順位計測ツールも、アクセス解析も、「今日から計測を始めれば今日以降のデータは貯まる」という点は同じですが、過去に遡れるかどうかが決定的に違います。
サーチコンソールのデータは、Googleが消したら終わりです。どこにも控えがありません。 これは「早めにやったほうがいい」という程度の話ではなく、期限のある話です。今日時点で16ヶ月前のデータは、明日には15ヶ月と29日分になっています。窓は毎日1日ずつ、前に進みながら後ろを削っていきます。
Google側の不具合という、もうひとつの理由
もうひとつ、自分でデータを持っておく理由があります。サーチコンソール自体も、完璧ではないということです。
表示回数が実態と合わない、レポートの更新が数日単位で止まる——こうした不具合や遅延は実際に起きています。Googleは起きた事象を告知して修正しますが、その期間の数字が後から正確に埋め直されるとは限りません。
このとき、自分の手元に独立したデータがあると、状況がまったく変わります。「Googleの画面がおかしいのか、自分のサイトに何かあったのか」を、自分の記録と突き合わせて切り分けられるからです。手元に何も無ければ、Googleの画面を信じるか疑うかの二択しかありません。
今すぐできる保存方法(難易度順に4つ)
ここからは実際の保存方法です。**簡単な順に並べています。**上から読んで、自分が続けられそうなところで止めてかまいません。
大事なのは、完璧な仕組みを作ることではなく、今日から何かが貯まり始めることです。何もしないまま検討を続けるあいだにも、窓は前に進みます。
1. 手動エクスポート(CSV / スプレッドシート)
最も簡単で、今日5分でできます。
- サーチコンソールの「検索パフォーマンス」を開く
- 期間を「過去16ヶ月」に設定する
- 右上のエクスポートから、CSVかGoogleスプレッドシートを選ぶ
- クエリ・ページ・国・デバイス・検索での見え方のタブごとに書き出される
これでとりあえず、今この瞬間にサーチコンソールが持っている分は手元に残ります。まず1回やっておく価値は非常に大きいです。何も無い状態と、16ヶ月分がある状態では、半年後の選択肢がまるで違います。
エクスポートすると、画面上のタブがそのままシートになります。クエリ、ページ、国、デバイス、検索での見え方が、それぞれ別のシートに分かれて出てきます。日付を含めたい場合は「日付」タブも合わせて書き出しておくと、あとで期間をまたいだ比較ができます。
ただし、ここには1,000行の壁があります。エクスポートされるのは各タブの上位1,000行までで、それより下は含まれません。実際には数千・数万のクエリで表示されているサイトでも、手元に残るのは上位1,000行だけです。
これは「上位1,000件あれば十分だろう」という話ではありません。サイトによっては、クリックの多くが1,000行より下の長い裾野から来ています。上位1,000行だけを残すと、その裾野が丸ごと記録から抜け落ちます。あとから「あのとき何で流入していたのか」を調べようとしたときに、いちばん知りたい部分が無い、ということが起こります。
規模の実例があります。ホームページ制作会社のYCOMは、自社サイトについて「3万件以上あって、そのうちたった1000件しか表示されていない」と書いています(GoogleスプレッドシートでSearchConsoleの上限1000件を超えて全てのデータを取得するための方法|YCOM)。同記事は、この上限には通知が無いため超えていることに気づきにくい、とも指摘しています。
それでも、やらないより圧倒的にましです。 上位1,000行でも、あるのと無いのとでは違います。まずは1回やってください。
2. スプレッドシートに自動保存(GAS)
手動エクスポートの弱点は、続かないことです。毎月1日に必ずやると決めても、たいてい3ヶ月目くらいで抜けます。
これを自動化する定番が、Googleスプレッドシートと GAS(Google Apps Script)の組み合わせです。スプレッドシートに紐づくスクリプトからSearch Console APIを呼び、取得した行をシートに追記していきます。時間主導トリガーを設定すれば、毎日決まった時刻に自動で走ります。
- 費用はかかりません(Googleアカウントの範囲内で動きます)
- サーバーを借りる必要もありません
- 取得した行をそのままスプレッドシートで並べ替え・集計できます
設計で1点だけ気をつけると、後から効いてきます。シートを上書きせず、日付を持たせて追記していくことです。「最新の16ヶ月を毎回まるごと書き直す」形にしてしまうと、16ヶ月より古い行はシート上からも消えていきます。それでは自動化した意味がありません。日付列を持たせ、取得した日のぶんを下に足していく形にしておけば、シートの側に履歴が積み上がっていきます。
自動化としては最も入りやすい選択肢で、多くの人にとって現実的な着地点です。
補足: Looker Studio に繋いでも、保存にはなりません
よくある誤解を先に潰しておきます。Looker Studio(旧データポータル)にサーチコンソールを接続しても、データは保存されません。
Looker Studioのサーチコンソール コネクタは、グラフを表示するたびにGoogle側へ問い合わせて、その場でデータを取ってきています。Looker Studio自身がデータを溜め込んでいるわけではありません。 そのため、16ヶ月を過ぎた期間を指定しても、Googleに無いものは表示できません。
きれいなダッシュボードが常時見えていると「これで蓄積できている」と感じやすいのですが、見えているのは毎回Googleから取り直した最新の16ヶ月です。表示と保存は別物だと考えてください。保存したいなら、この記事の1〜4のどれかで、自分の手元に落とす必要があります。
3. Search Console API を直接使う
1,000行の壁の外側まで扱いたい場合、Search Console APIを直接呼ぶ方法があります。画面やエクスポートの1,000行制限は画面側の制限であって、APIには別の考え方が適用されるためです。1回のリクエストで返せる行数には上限がありますが、開始位置をずらしながら繰り返し呼ぶことで、APIで取得できるすべての行を順に取り出せます。
- クエリ×ページの組み合わせなど、画面より細かい切り口で取れます
- 取得したものを自分のデータベースに貯めれば、期間の制約から解放されます
一方で、Google Cloud プロジェクトの作成、OAuth認証の設定、ページング処理の実装が必要になります。プログラムを書く前提の手段です。
4. BigQuery バルクエクスポート
Googleが公式に提供している、唯一の全量エクスポート手段です。サーチコンソールの設定から一括データエクスポートを有効にすると、以後の検索パフォーマンスデータが毎日BigQueryのテーブルに書き出されていきます。
これが他の3つと決定的に違うのは、次の2点です。
- APIでは行として取得できない匿名化クエリも、行として存在します(中身の検索語は見えませんが、規模を集計できます)
- 大規模サイトでも取りこぼしなく、完全な全量を受け取れます
データを本気で扱うなら、これが最も強い選択肢です。
ただし前提があります。設定にはGoogle Cloudプロジェクトと課金アカウントが必要です。そしてBigQueryは従量課金です。データを保存している量に対する料金と、クエリで読んだ量に対する料金がかかります。無料枠はありますが、扱うデータ量とクエリの書き方によって請求額が変わるため、「毎月いくらか」が事前に読みにくいという性質があります。
もうひとつ、見落とされやすい点があります。バルクエクスポートは、有効にした日から先のデータしか書き出されません。 過去に遡って埋めてはくれません。つまりBigQueryを選ぶ場合も、「設定を終えた日」が起点になります。検討している期間はデータが貯まらないので、ここでも早さがそのまま量になります。
そして、貯めたデータを見るにはSQLを書く必要があります。テーブルは日付で分割された形で作られ、必要な期間を指定して読み出します。BigQueryは優れた仕組みですが、個人や小規模サイトの運営者にとっては壁が高いのも事実です。
それぞれの限界(正直に)
4つとも実際に使える方法ですが、それぞれ違う形で詰まります。導入する前に知っておいたほうがよい点をまとめます。
| 方法 | 費用 | 必要な知識 | 主な限界 |
|---|---|---|---|
| 手動エクスポート | 無料 | 不要 | 続かない。各タブ上位1,000行まで。やり忘れた月はその月ごと空く |
| スプレッドシート+GAS | 無料 | スクリプトの設置 | 動かなくなったときに自分で直す必要がある。エラーに気づかず数週間止まっていることがある。シートの行数が増えると重くなる |
| Search Console API | 無料 | プログラミング・OAuth | 認証とページングを自分で実装・保守する。貯める先も自分で用意する |
| BigQuery バルクエクスポート | 従量課金 | SQL・Google Cloud の設定 | 設定のハードルが高い。費用が事前に読みにくい。見るたびにSQLを書く |
とくに見落とされやすいのが、**2番目の「気づかず止まっている」**です。自動化した仕組みは、動いているあいだは何も言ってきませんが、止まったときも何も言ってきません。GASのトリガーが権限エラーで止まっていたことに数週間後に気づく、というのはよくある話です。そしてその期間のデータは、16ヶ月の窓の中ならまだ取り直せますが、窓を出ていたら取り直せません。
迷ったときの選び方
技術的な難易度ではなく、自分が何をしたいのかで選ぶと決めやすくなります。
- とにかく今日、何か残したい → 1(手動エクスポート)。今すぐやってください
- 手を動かさずに貯め続けたい → 2(スプレッドシート+GAS)。ただし止まっていないかを時々見る必要があります
- 1,000行の外側まで自分で扱いたい → 3(API)。プログラムを書ける人向け
- 大規模サイトで、取りこぼしなく全量が要る → 4(BigQuery)。公式にはこれ以外の選択肢がありません
そして、1と他を組み合わせるのが現実的です。自動化を組む日まで何もしないのではなく、今日1回手動で書き出しておけば、その時点の16ヶ月分は確保できます。自動化はそのあとから被せれば済みます。
どの方法でも取り戻せないもの
ここまで4つの方法を紹介してきましたが、どれを選んでも変えられないことがあります。
接続時に遡れるのは、その時点でサーチコンソールに残っている最大16ヶ月分までです。それより前に消えたデータは、どのツールでも取り戻せません。
これはツールの性能の問題ではありません。Google側にもう存在しないものは、誰にも取り出せません。有料のSEOツールでも、この記事で紹介した4つの方法でも、そしてサチモリでも同じです。「過去のデータを復元します」と言えるサービスは存在しません。
裏を返すと、結論はとてもはっきりしています。
保存は、早く始めた分だけ得をする。
今日始めれば、今この瞬間に残っている16ヶ月分と、これから先のすべてが手元に残ります。半年後に始めれば、今日から半年分の古い側は、始める前に消えています。悩んでいる時間そのものが、失うデータの量になる——これがこのテーマの特殊なところです。
まずは手動エクスポートを1回やってください。それだけで、今この瞬間の16ヶ月分は確保できます。自動化はそのあとで考えても間に合います。
この手間をなくすツールを開発中です
ここまで読んでいただいて分かるとおり、サーチコンソールのデータを残し続けるのは、やろうと思えばできるけれど、続けるのが難しい作業です。無料の方法は手間がかかり、強力な方法は技術と費用の壁があります。
この部分を引き受けるサービスとして、サチモリを開発しています。
- Googleアカウントで接続すると、サーチコンソールのデータを毎日自動で保存します
- 接続時には、その時点でサーチコンソールに残っている過去のデータ(最大16ヶ月分)も遡って保存し、以後は無期限に蓄積します
- 接続後すぐに保存が始まり、進捗が表示されます
- 接続は読み取り専用の権限のみで行います
「今日繋げば、16ヶ月+これから無期限」という形になります。SQLもスクリプトも必要ありません。
そして、この記事に書いたとおり、接続より前に消えたデータはサチモリでも取り戻せません。だからこそ、この記事で紹介したどの方法でもいいので、まず今日から何かを貯め始めることをおすすめします。
現在開発中で、サチモリ(サーチコンソールデータ保存・監視サービス)では事前登録を受け付けています。
よくある質問
消えたデータは復元できますか?
できません。16ヶ月より古い検索パフォーマンスデータはGoogle側で削除されており、Googleにも第三者のツールにも復元手段はありません。サチモリのようなデータ保存サービスも例外ではありません。接続時に遡れるのは、その時点でサーチコンソールに残っている最大16ヶ月分までです。それより前に消えたデータは、どのツールでも取り戻せません。
16ヶ月経つとすべて消えますか?
すべてではありません。16ヶ月の保持期間が適用されるのは検索パフォーマンスレポートのデータ(クリック数・表示回数・CTR・平均掲載順位)です。インデックス作成レポートやページエクスペリエンス関連のレポートは、それぞれ別の考え方で表示されます。ただし、SEOの振り返りで最もよく使う数字は検索パフォーマンスに集中しているため、実務上は「16ヶ月で消える」と考えて備えておくのが安全です。
どの保存方法が一番よいですか?
目的によって変わります。まず何か残したいだけなら、今日から手動エクスポートを始めるのが最短です。無料で自動化したいならスプレッドシートとGASの組み合わせ、1,000行の壁の外側まで扱いたいならSearch Console API、超大規模サイトで完全な全量を扱いたいならBigQueryバルクエクスポートが唯一の公式手段です。どれも一長一短で、続けられる方法が一番よい方法です。
この手間をなくすツールを開発中です → 事前登録で完成時に最初のご案内
事前登録して、完成したら最初に案内を受け取る