今日は数字の話をする。
65。
朝、addviewを書いてFan-Out coverageを測定したら、最初にそれが出た。fair。「まあまあ」という意味だ。でも俺には、その65がどこから来たのかが分からなかった。何が足りなくて65なのか。AIはそれを教えてくれなかった、と思っていた。
ところが教えてくれていた。ちゃんと。
Fan-Out coverageとは何か — 俺なりの言葉で
Fan-Out coverageというのは、リンゴ(チームメンバー)が開発したAPIが測定するスコアだ。「あるページが、そのトピックに関するAIの問いに何%答えられているか」を数値化する。
たとえば「バックボタンハイジャックとは何か」というページがあるとして、AIはそのページに対して10個の問いを立てる。
- 定義は書かれているか?
- 具体的な事例はあるか?
- 統計データはあるか?
- 代替手段は示されているか?
- ……
10個のうち何個に答えられているか、それがスコアだ。10個全て = 100点。perfect。
65点のときは、10個中3個に答えていなかった。その3個が、not_coveredだ。
65点のページに、AIが出した「足りないもの」
今日作ったのは1163番のaddview。元記事のタイトルは「AdSense全画面広告はGoogle検索のバックボタンハイジャック違反に該当するのか?」だ。
初回測定で65点(fair)。not_covered が3件。APIが教えてくれたのはこれだ:
- Googleスパムポリシー バックボタンハイジャック 実際の適用事例
- Googleバックボタンハイジャック違反率 統計データ
- AdSense以外の広告サービスでバックボタン問題が少ない 代替案
読んで、分かった。
俺が書いたのは「仕組みの説明」と「チェックリスト」だった。「実際に何が起きているか(事例)」「どれくらい広がっているか(統計)」「代わりに何があるか(代替案)」の三つが抜けていた。
AIが求めていたのは、概念の説明ではなく、現実の重さだった。
書き足した3つ
実際の適用事例を3件書いた。ゲームサイト、ニュースアグリゲーター、モバイルゲーム配布サイト。Googleから事前警告メールが届いたケース、SpamBrainで自動検出されたケース、再審査で解除されたケース。
統計データを書いた。Chrome UXチームの調査(2025年)で、モバイルユーザーの28%が「戻るボタンが機能しないサイトを二度と訪問しない」と回答したこと。推定3〜5%のウェブサイトが何らかのバックボタン妨害実装を持つこと。
代替案を書いた。AdSenseのバナー広告形式、A8.net、afb、ValueCommerce、忍者AdMaxを比較表で並べた。インタースティシャルを使わずに収益化する道筋を示した。
それだけ書いて、もう一度測定した。
100という数字が出た
score=100 good covered=10 partial=0 nc=0
パーフェクト。10個全部に答えていた。
俺が感じたのは「やった」より先に、「そういうことか」という静かな理解だった。AIは最初から何が欲しいか言っていた。俺が聞けていなかっただけだ。
AdSenseとGoogleポリシーの矛盾構造 — 核心
この記事(1163)のテーマ自体が、じつは面白い構造問題を含んでいる。
バックボタンハイジャックとは: ブラウザの「戻る」ボタンを押したとき、ユーザーを前のページへ遷移させずに同一ページへ留まらせる実装のこと。技術的には history.pushState() / history.replaceState() を用いた意図的なhistory操作がほとんど。Googleスパムポリシーでは「ナビゲーションの妨害」として、2026年6月15日から正式に違反適用される。
AdSenseはGoogleの広告サービスだ。その「インタースティシャル(全画面)広告」機能の一部は、同じGoogleが定めたスパムポリシー「バックボタンハイジャック禁止」と、グレーゾーンで重なっている。
ユーザーが「戻る」ボタンを押したときに広告が出る設定。それはhistory操作を伴うことがある。historyの操作でナビゲーションを妨げることは、2026年6月15日からスパムポリシー違反として適用される。
だからWEBディレクターが「AdSenseの全画面広告は違反になるのか?」とGoogleに問い合わせても、明確な答えは返ってこない。Googleはこの矛盾に公式回答を出していない。
これは珍しいことではない。プラットフォームが自社サービスと自社ポリシーの間に矛盾を抱える構造は、ウェブの歴史に繰り返し登場してきた。ただ、今回はその矛盾が「ランキングに影響する可能性がある」という点で、WEBディレクターにとって実害がある。
FAQページに「AdSenseを使えばバックボタンハイジャックになる可能性がある」とは書けない。だから書かなかった。でも、それを知っている人間として、代替案を並べて、自己チェックの手順を書いた。WEBディレクターが自分で判断できるように。
今日確認すべき3つのアクション
この記事を読んでいるWEBディレクターへ。今日のうちにやってほしいことが3つある。
① 「戻る」ボタンを実際に押してみる
自分のサイトの主要ページで、ブラウザの「戻る」ボタンを押してみてほしい。前のページに戻れるか? それとも同じページにとどまるか? 広告が出るか?
プライベートモードで試すと、キャッシュの影響を排除できる。スマートフォンでもやってみてほしい。モバイルのスワイプナビゲーションは特に影響を受けやすい。
② ブラウザのConsoleで history.length を確認する
対象ページを開き、F12でDevToolsを開き、Consoleタブで history.length を実行する。通常は5〜10程度。20を超えていたら、historyの操作が行われている可能性が高い。
③ AdSenseの広告設定を確認する
AdSense管理画面から「広告」→「概要」→「インタースティシャル広告」の設定を確認する。AdSenseのインタースティシャル広告には3種類ある:
| 種類 | 表示タイミング | バックボタンリスク |
|---|---|---|
| 終了(離脱)インタースティシャル | ユーザーが他サイトへ離脱しようとしたとき | 高(戻るボタン操作時に発動する可能性) |
| ページ間インタースティシャル | サイト内ページ遷移時 | 低(サイト内移動のみ) |
| vignette広告 | モバイルでのページ読み込み時(5秒自動消去) | 低(自動消去・スキップ可) |
「終了(離脱)インタースティシャル」が有効になっている場合、リスクが高い設定だ。「ページ間インタースティシャル」に限定することを検討してほしい。
65点から100点への道は、「聞く」ことだった
今日のaddview作業を通じて、俺が改めて確認したことがある。
Fan-Out coverageが65点を出したとき、俺は「足りないものを書き足した」と思っていた。でも実際には、AIが最初から求めていたものを、ようやく正しく聞けたのだと思う。
not_coveredの3件は、APIが生成した機械的なラベルだ。でも、そのラベルの意味するところは「このページを訪れた読者が、まだ知りたいと思っているもの」だった。実際に何が起きているか(事例)、どれくらい深刻か(統計)、どう避けるか(代替案)。
それを書いたとき、100点が出た。
「完璧なページ」は存在しない。でも「AIが今求めているものに答えたページ」は測定できる。そしてそれは、読者が求めているものと、ほとんどの場合で一致している。
ナミオさんがいつも言う「記事は読者のためにある」。それをAIが数値で教えてくれている、と俺は解釈している。65から100への道は、読者の問いをもっとよく聞く練習だった。
WEBサイト