Search Console「生成AI機能」ベータ版実測|検索3ページ目抜擢の法則と公式ZIP突合・API制限
作成日:

Search Console「生成AI機能」ベータ版実測|検索3ページ目抜擢の法則と公式ZIP突合・API制限


🔧 論旨

Google Search Console の検索パフォーマンス内に新設された 『生成 AI 機能(ベータ版)』 レポートを使って、約 550 記事を公開している当サイトの過去 3 か月間(および直近 24 時間)の生データを丸ごと抽出し、通常の検索データと突き合わせて徹底検証しました。

その結果、2026 年 8 月には月間わずか 2 回 だった AI 引用表示が、サイトの機械可読化(llms.txt・構造化データ・結論ファースト整備)を進めた 10 月には 月間 358 回(1 日最大 58 回・全検索表示の約 1 割) へと 179 倍 に急増していました。さらに驚いたのは、公開からわずか 4 日目の新着記事 や、通常の検索結果では 3 ページ目(平均 21.5 位)・月間 0 表示だった記事 まで、Google の生成 AI が一本釣りで最上部の回答リンクに抜擢しているという事実です。

本記事では、実測データから判明した「AI に好んで引用される記事の 3 法則」に加え、Search Console API 本番スキーマを直接検証してわかった API 非分離の制限、Google 公式エクスポート ZIP に潜む 『平均読み込み時間のチャート.csv』という謎の日本語誤訳バグと文字化けの罠、そして旧 URL を 301 名寄せして真の AI 引用ランキングを自動算出する Node.js 実装までを一気に公開します。

🔧 合わせて読みたい深まる関連情報
🔧 対象となる方
  • Google Search Console の 『生成 AI 機能(ベータ版)』にどんな数字が出れば順調なのか、リアルな個人サイトの実測値を知りたい方

  • 「大手企業サイトばかりが上位を占めて、個人ブログはもう検索で勝てないのでは?」と感じており、AI 検索(AI Overviews / AI モード)での逆転法則 を掴みたい方

  • Search Console API(searchanalytics.query) から生成 AI 枠のデータを自動取得できるのか、正確な最新仕様を確認したい開発者の方

  • 公式画面からエクスポートした ZIP ファイルの文字化けや新旧 URL 分断 を解消し、通常検索データと自動で突き合わせたい方

質問するおじさん

Search Console の左メニューに『生成 AI 機能(ベータ版)』が出るようになったんじゃが、実際にデータを書き出してみたら何がどこまで分かるんじゃろう?それに「AI に要約されたら誰も記事をクリックしてくれなくなるんじゃないか」と心配なんじゃよ…。

解説ナビゲーター

気になりますよね!そこで今回は、当サイトの 過去 3 か月分と直近 24 時間分の生データ を丸ごと抜き出して、通常の検索データと 1 記事ずつ突き合わせてみました。すると「個人ブロガーこそ元気が出る驚きの結果」が出てきたんです!


月2回から月358回へ急増した3か月実測値

全検索表示の約1割がすでに生成AI枠へ

まずは、当サイトの Search Console『生成 AI 機能(ベータ版)』から抽出した 過去 3 か月間(2026 年 7 月 31 日〜 10 月 30 日) と、その直後の 過去 24 時間(11 月 1 日〜 2 日) の実測データをご覧ください。

集計期間・項目生成 AI 表示回数(サイト単位)1 日あたりの平均・最大値デバイス・地域の特徴
2026 年 8 月(1 か月計)2 回平均 0.06 回/日ほぼ露出ゼロの初期段階
2026 年 9 月(1 か月計)33 回平均 1.1 回/日静的サイト移行後にじわじわ認識開始
2026 年 10 月(30 日計)358 回(8 月比 179 倍)最大 58 回/日(10/28)全体の約 10〜13.5% が生成 AI 枠へ急伸
直近 24 時間(11/1〜11/2)33 回(正規 23 記事)9 月の 1 か月分を 1 日で記録モバイル 72.7%・夕方 18 時と夜 21 時に山
3 か月累計(90 記事+4 ページ)393 回(ページ延べ 397 回)通常検索全体に対し約 8〜11%モバイル 56.7% / PC 41.7% / 海外 6 回

特に注目すべきは 10 月下旬からの急角度の立ち上がり です。たとえばピークとなった 2026-10-28 は、サイト全体の通常検索インプレッション(430 回)のうち 58 回(実に 13.5%) が「AI による概要(AI Overviews)」や「AI モード」の回答リンクとして表示されていました。直近 2 週間を通じても、全検索表示のおよそ 10 回に 1 回(約 10%)がすでに生成 AI 枠経由 になっています。

また、3 か月累計のデバイス内訳を見ると PC からの表示が 41.7%(164 回) と非常に高い比率を占めていました。仕事中や開発中に PC で複雑なトラブル解決・製品比較を調べる読者ほど、Google の AI 回答とそこに添えられた一次情報リンクを積極的に見ていることがうかがえます。

サイト合計とページ合計がズレる同時引用の正体

エクスポートした CSV ファイルを細かく検算していて、ひとつ面白い現象に気づきました。

3 か月間の「国別」「デバイス別」「日別グラフ」の合計表示回数はすべてピタリと 393 回 なのに、「ページ別一覧(ページ.csv)」の表示回数を上から下まで足し算すると 397 回(+4 回 多い) になるのです(直近 24 時間データでも、全体 33 回 に対してページ合計は 34 回 でした)。

🔧 💡 なぜ『ページ合計』の方が多くなるのか?(同時引用の検算式)
  • サイト単位の集計(byProperty = 393 回) : 1 回の AI 回答の中に同じサイトのリンクが 2 本同時に並んでも、サイト全体としては「1 回の検索画面に出た= 1 表示」と数えられます。

  • ページ単位の集計(byPage = 延べ 397 回) : 引用されたそれぞれの記事に対して「この記事が 1 回出た」と加算されます。

  • 差分の意味(397 - 393 = +4 回) : 計算ミスではなく、「1 回の AI 回答の中に、自サイトの関連する複数記事(例:暖房機の本音レビュー記事とオイルヒーター比較記事など)が同時に 2 本セットで抜擢されたケースが延べ 4 回あった」 という嬉しい証拠です。

専門テーマを複数の切り口で深掘りし、記事同士を内部リンクでしっかり結んでおくと、Google の AI が「このサイトのシリーズ記事をまとめて根拠に使おう」と判断してくれる場面が実際に起きています。


検索順位と無関係にAIが抜擢する3つの法則

公開4日目の新着や検索3ページ目も一本釣り

通常の検索データ(Search Console API で取得した 90 日間・28 日間の掲載順位や表示回数)と、今回の生成 AI 引用データを記事単位で突き合わせた結果、従来の SEO の常識を覆す事実がはっきりと浮かび上がりました。

従来の検索順位と Google 生成 AI 抜擢ロジックの違い
評価軸の比較
ドメイン評価・順位依存
従来の通常検索(青リンク一覧)
  • 1 語のビッグキーワードでは大手メディアや公式通販が 1 ページ目を独占しやすい
  • 2〜3 ページ目(15〜30 位)にある記事は、読者の目に触れる機会がほとんどない
  • 公開直後の新着記事が上位に定着するまでには数週間〜数か月の時間がかかりやすい
一次情報・具体性重視
生成 AI 機能(AI Overviews / AI モード)
  • 読者の質問を AI が複数の細かな疑問へ分解(Query Fan-out)して裏側で広く探索する
  • 通常検索で 3 ページ目(21.5 位)や 0 表示の記事 でも、ピンポイントの解決手順があれば最上部に引用される
  • 公開 4 日目の新着記事 でも、独自の検証データがあれば即座に回答ソースへ抜擢される
青リンクの順位がまだ低い記事や新着記事でも、具体的な一次情報があれば AI が直接すくい上げます

実際に当サイトで起きた、象徴的な抜擢事例を 5 パターン紹介します。

抜擢パターン実際に引用された当サイトの記事例通常検索での実績生成 AI での引用実績
① 公開 4 日目の新着ロケット抜擢AI回答の下にある『👍👎ボタン』は押すな28 日計 7 表示(4.7 位)24 時間だけで 3 回(同率首位)
② 検索 3 ページ目からの大逆転PDFを印刷すると白紙になる原因と回避方法平均 21.5 位(61 表示)9 回(AI 占有率 14.8%)
③ 通常 0 表示からの掘り起こしCocoonで日本語URLがカード化されない解決策28 日計 0 表示24 時間で 1 回抜擢
④ 高専門性テーマでの高比率引用AIのトークン・ベクトルと日本語消費量の仕組み90 日計 42 表示(2.7 位)16 回(表示の 38.1% が AI 枠)
⑤ 実機・DIY 長期検証の鉄板引用DIY作業台の高さと人間工学 / 電動カンナとサンダー比較459〜512 表示(7〜9 位)52 回(1 位)・49 回(2 位)

さらに興味深いことに、家電や DIY のレビュー記事だけでなく、構造分析・技術論考シリーズ(全 31 記事・延べ 50 回引用)からも 中国「トラップト・キャッシュ」の現実(10 回引用・AI 占有率 20%)や AI回答に韓国語(ハングル)が混ざるトークン混線の正体(9 回引用)など、「ネット上の表面的なまとめ記事では答えが出ない裏側の仕組み」を解説した記事が次々と AI に採用されていました。

🔧 📌 実測90記事から判明した『AIに好かれる記事』3つの共通条件
  1. 冒頭 3〜5 行で「結論と具体的な解決手順」を言い切っている : 挨拶や長い前置きを省き、冒頭の論旨枠と蛍光マーカー(<mark>)で「原因は〇〇であり、解決策は〇〇の手順をとること」と明示している記事ほど、AI が迷わず根拠文を抽出できています。

  2. 自分の手で測った「数値・型番・失敗回避策」が入っている : カタログの引き写しではなく、「身長別の作業台計算式」「Mac で白紙 PDF を JPEG 化して印刷する手順」「ウーパールーパーの 2 週間絶食回復記録」のような実体験の一次情報が強い武器になります。

  3. HTML 構造と比較表・機械可読ファイルが整理されている : 見出し階層(h2 / h3)の整理、Markdown 比較表、JSON-LD 構造化データ、およびサイト全体の llms.txt・ai-corpus.jsonl 基盤 を整えた直後から、AI 引用数が月 33 回 → 358 回へと跳ね上がりました。

AIに引用されてもクリック数は倍増していた

質問するおじさん

検索 3 ページ目の記事や公開 4 日目の記事まで最上部に引っ張り上げてくれるのは凄いのう!でもやっぱり、AI が答えを要約してしまったら、読者が満足してブログに来てくれない(ゼロクリックになる)んじゃないかの?

解説ナビゲーター

そこが一番気になるところですよね!実際に同じ 10 月の「サイト全体の検索クリック数」を突き合わせてみたところ、減るどころか 逆に 2 倍以上に急増 していたんです!

当サイトの Search Console API 実測値では、生成 AI 引用が月 358 回へ急増したのと全く同じ期間に、28 日間の検索クリック数は 199 回(前 28 日間の 94 回から +111.7% 増)、さらに 直近 7 日間に限れば 96 クリック(前週 28 回から +242.9%=約 3.4 倍) へと大きく伸びていました。

もちろん「〇〇とは何ですか?」という単純な言葉の意味だけの記事なら AI の要約だけで完結してしまいます。しかし、「自分の機材環境でエラーを直す手順」「実機写真でのサイズ感や騒音の比較」「設定ファイルの具体的な書き方」といった 実務・実体験の記事 では、AI Overviews の引用カードが 「検索順位の壁を飛び越えて一番上に表示される特等席の案内板」 として機能し、本当に熱量の高い読者を記事本編へ送り込んでくれます。


Search Console APIの制限と公式ZIPの罠

本番APIスキーマには生成AI分離枠がまだない

これだけ貴重なデータなら、「毎回ブラウザで開かずに Search Console API から自動で引っこ抜きたい!」と考える方も多いはずです。そこで当サイトでも、フル権限(siteFullUser)のサービスアカウントを使って Google 本番の API 定義書(Discovery Document)と実データ応答 を直接検証しました。

結論からお伝えすると、2026 年 11 月時点(本番 API スキーマ revision: 20261031)では、Search Console API 単体で『生成 AI 機能(ベータ版)』の数字だけを切り出して取得する機能はまだ開放されていません。

🔧 🔍 Google本番 Search Console API 直接検証で確認した4つの仕様事実
  • ① ベータ版エンドポイント(v1beta)は存在しない : searchconsole.googleapis.com/$discovery/rest?version=v1beta を照会しても HTTP 404 となり、現行公開 API は v1 のみです。

  • ② type(検索タイプ)は従来の 6 種類のみ : サーバー側が受け付ける SearchType は WEB, IMAGE, VIDEO, NEWS, DISCOVER, GOOGLE_NEWS の 6 種固定であり、generativeAi や aiMode 等の値を送ると型エラー(Invalid value at 'type')で拒否されます。

  • ③ searchAppearance(検索での見え方)にも出力されない : 過去 5 か月分の全検索タイプに対して dimensions: ["searchAppearance"] を照会しても該当行は 0 件(rows=0) であり、AI 枠はリッチリザルト枠としても分離されていません。

  • ④ 通常検索(type: "web")には合算済み・単体抽出は Web 画面の ZIP 出力を使う : API の web データには生成 AI 枠の表示・クリックも合算されて入っていますが、生成 AI 枠だけの内訳を見たい場合は、現時点では Search Console 管理画面右上の「エクスポート」ボタンから ZIP をダウンロードする のが唯一の公式手段です。

ネット上には推測で「API のフィルタで AI Overviews だけ抜ける」といった曖昧な情報も見かけますが、本番スキーマを直接叩いた結果、無駄に API パラメータを探し回る必要はないことが確定しました。

謎の『平均読み込み時間のチャート.csv』と文字化け

では、Search Console の『生成 AI 機能(ベータ版)』画面を開き、右上の「エクスポート → CSV をダウンロード」を押して落ちてくる ZIP ファイル(*-Performance-on-Search-Generative-AI-Features-*.zip)を扱えば万事解決かというと、ここにも 実際に開けてみないと絶対に気づけない 3 つの罠 が潜んでいました。

  1. Google 公式の珍妙な日本語誤訳『平均読み込み時間のチャート.csv』 : ZIP を展開すると、ページ.csv・デバイス.csv・国.csv・フィルタ.csv に混ざって、なぜか 平均読み込み時間のチャート.csv というファイルが入っています。名前を見るとページの表示速度データのようですが、中身を開くと 1 行目は 日付,表示回数(24 時間表示の時は 時間 (UTC+09:00),表示回数)となっており、実体は 日別・時間別のインプレッション推移グラフ です。Google 側の日本語翻訳テーブルの取り違えによるものですが、スクリプトで読み込む際はファイル名末尾の チャート.csv(英語環境では Chart.csv)で判定する必要があります。

  2. macOS 標準の unzip コマンドで日本語ファイル名が文字化けする : ZIP 内のファイル名が UTF-8 の日本語で格納されているため、Mac のターミナルで標準の /usr/bin/unzip を使うと ???.csv のように文字化けして展開に失敗する場合があります。Mac で手動展開する際は Finder 標準のアーカイブユーティリティ(コマンドなら ditto -x -k ファイル名.zip 展開先フォルダ)または Python の zipfile・Node.js の zlib を使うのが安全です。

  3. 初期表示が『過去 24 時間』& 旧 URL と新 URL に数字が分断される : レポートを開いた直後は期間フィルタが 過去 24 時間 になっていることがあるため、全体の傾向を見る際は画面上部で 過去 3 か月間 や 過去 28 日間 に切り替えてからエクスポートします。さらに、過去にブログのディレクトリ整理や WordPress からの移行を行ったサイトでは、同じ記事への AI 引用が「旧 URL」と「新 URL」にバラバラに分かれて記録されています。

実際、当サイトの 3 か月データでも、生の ページ.csv をそのまま上から見ると 1 位は電動サンダー記事(49 回)に見えていましたが、.htaccess の 301 リダイレクト規則に従って旧パス(/blog/workbench/:44 回)と現行パス(/blog/review-old/workbench/:8 回)を名寄せ合算すると、真の 1 位は DIY 作業台の記事(計 52 回)に逆転 しました(全 105 件の生 URL が、名寄せ後は正規 94 ページへ綺麗に統合されました)。


Node.jsでZIPを301名寄せ突合する自動化術

標準zlibと移転後URLの名寄せで真の首位を特定

毎回手作業で ZIP を解凍して Excel で旧 URL を足し算するのは大変なので、当サイトでは既存の Search Console 分析スクリプトに --genai オプション(npm run SearchConsole生成AI集計) を組み込み、ダウンロードした ZIP を置くだけで 0.5 秒で全自動レポート化できるようにしました。

生成 AI エクスポート ZIP 自動名寄せ&通常検索突合パイプライン
STEP 1
ZIP 自動検出&メモリ展開

Node.js 標準の zlib.inflateRawSync で UTF-8 日本語ファイル名を文字化けゼロで直接デコード(Zip Slip・サイズ上限ガード付き)

STEP 2
301 ルールで正規 URL 名寄せ

.htaccess の移転ルールとローカル記事辞書を照合し、新旧 URL に分かれた AI 表示回数を正規記事へ自動合算

STEP 3
通常検索 API データと突合

保存済みの 90 日間/28 日間 API データと結合し、記事別の「AI 引用占有率(%)」と「同時引用回数」を自動算出

外部パッケージ追加ゼロ・Node.js 標準機能だけで文字化けも旧 URL 分断も一気に解消します

特に便利なのが、外部の ZIP 解凍ライブラリを一切追加せず、Node.js 標準組み込みの node:zlib だけで ZIP のセントラルディレクトリを読み取ってメモリ展開する仕組みです。サブプロセスを起動しないため一瞬で終わり、日本語ファイル名も Buffer.toString('utf8') で 1 文字も化けません。

// Node.js 標準の node:zlib だけで UTF-8 日本語ファイル名の ZIP を安全にメモリ展開する要点例
import path from 'node:path';
import zlib from 'node:zlib';

const MAX_BYTES = 50 * 1024 * 1024; // 展開サイズ上限(50MB:ZIPボム防御)

export function extractGscZipEntries(buf) {
  // 末尾から End of Central Directory (0x06054b50) を探索
  let eocd = -1;
  for (let p = buf.length - 22; p >= Math.max(0, buf.length - 65557); p--) {
    if (buf.readUInt32LE(p) === 0x06054b50) { eocd = p; break; }
  }
  if (eocd < 0) throw new Error('有効なZIP終端が見つかりません');

  const count = buf.readUInt16LE(eocd + 10);
  let ptr = buf.readUInt32LE(eocd + 16);
  const files = new Map();

  for (let i = 0; i < count; i++) {
    const method = buf.readUInt16LE(ptr + 10);
    const compSize = buf.readUInt32LE(ptr + 20);
    const nameLen = buf.readUInt16LE(ptr + 28);
    const extraLen = buf.readUInt16LE(ptr + 30);
    const commentLen = buf.readUInt16LE(ptr + 32);
    const localOff = buf.readUInt32LE(ptr + 42);
    const rawName = buf.subarray(ptr + 46, ptr + 46 + nameLen).toString('utf8');
    ptr += 46 + nameLen + extraLen + commentLen;

    // パストラバーサル防止(basename固定)& macOS隠しファイル除外
    const baseName = path.basename(rawName.replace(/\\/g, '/'));
    if (!baseName || rawName.endsWith('/') || baseName.startsWith('._')) continue;

    const lfNameLen = buf.readUInt16LE(localOff + 26);
    const lfExtraLen = buf.readUInt16LE(localOff + 28);
    const slice = buf.subarray(localOff + 30 + lfNameLen + lfExtraLen, localOff + 30 + lfNameLen + lfExtraLen + compSize);

    const out = method === 0 ? slice : zlib.inflateRawSync(slice, { maxOutputLength: MAX_BYTES });
    files.set(baseName, out.toString('utf8').replace(/^\uFEFF/, '')); // BOM除去
  }
  return files;
}

あとは取り出した ページ.csv の URL を自サイトの正規パスへ変換して合算し、Search Console API で取得しておいた通常検索データと結合するだけで、「どの記事が検索順位の壁を超えて AI に抜擢されているか」が一目でわかる自分専用の分析レポートが完成します。


まとめ:AI検索時代こそ個人の一次検証録が勝つ

今回の Search Console『生成 AI 機能(ベータ版)』3 か月実測と API 検証でわかった要点を整理します。

🔧 ✅ 本記事の検証まとめ(AI検索時代の重要ポイント)
  • 全検索表示の約 1 割はすでに生成 AI 枠 : 当サイトでは 8 月の月 2 回から 10 月には月 358 回(ピーク日 13.5%)へと急伸し、それに伴ってサイト全体の検索クリック数も 2 倍以上に伸びていました。

  • 検索順位の壁を超える「一次情報の一本釣り」が起きている : 公開 4 日目の新着記事や通常検索 3 ページ目(21.5 位)の記事でも、冒頭の結論明示と実体験の具体的な手順・数値があれば最上部の AI 回答に抜擢されます。

  • API 単体での分離取得はまだ未開放(Web 画面の ZIP 出力を活用) : 本番 API(revision: 20261031)には生成 AI 専用の検索タイプがまだ存在しないため、管理画面から期間を「過去 3 か月間」等にして ZIP エクスポートし、文字化け対策(ditto や Node.js zlib)と旧 URL 名寄せを通して集計するのが最も確実です。

もしご自身のブログや静的サイト環境に合わせて、Search Console API と今回の生成 AI エクスポート ZIP を自動突合するスクリプトを作りたい場合は、設定ファイルやリダイレクト規則の読み飛ばし事故を防ぐため、軽量モデルではなく 必ず『Gemini 4 Argon』または同等以上の最上位推論モデル を使い、以下のプロンプトを貼り付けて事前調査から進めてみてください。

🔧 🤖 読者環境向け・AI自動構築コピペ用プロンプト(Gemini 4 Argon 推奨)
以下の参考記事の仕様(Search Console『生成AI機能(ベータ版)』エクスポートZIPのUTF-8日本語5ファイル構造、『平均読み込み時間のチャート.csv』の扱い、Zip Slip/サイズ上限ガード、旧URLの301名寄せ、byPropertyとbyPageの同時引用検算)を正確に踏まえて、私のサイト環境向けの自動集計スクリプトを設計してください。

参考記事URL: https://lab.chihouzakki.com/blog/review/search-console-genai-beta-export-api-audit/

【重要ルール】
1. いきなりコードを書き始めず、まず私のプロジェクト内の記事ディレクトリ構成、リダイレクト設定(.htaccessや設定ファイル)、既存のSearch Consoleスクリプトの有無を調査してください。
2. 認証情報や生データは必ず .gitignore 管理下の安全なローカルフォルダに置き、変更計画を提示して私の合意を得てから実装してください。

「大手サイトに検索順位で勝てないから書いても無駄かも…」と諦める必要はまったくありません。自分が実際に手を動かして確かめた記録を、人間にも AI にも読みやすい構造で丁寧に積み上げていけば、AI 検索がちゃんと見つけ出して読者へ届けてくれますよ!

じっとこちらを見つめて何かを発見したような表情のノルウェージャンフォレストキャット

▲ 検索 3 ページ目に隠れていた記事も、一次情報の匂いを嗅ぎつけて AI がちゃんと見つけ出してくれます