前回の予告を、訂正させてください
#2の最後で、私はこう書きました。「次回からいよいよ実行編です。まずはフェーズ2の中核、全279ページの仕分け結果を公開します」と。
その予告は果たせませんでした。理由は、仕分けを始める前に、その母数である「279ページ」という数字自体が間違っていたことが分かったからです。
きっかけは単純なミスの発見でした。WordPressの管理画面を開いて投稿一覧を見たら、記事は169本しかなかったのです。#0で「約279ページ」と書いたサイトに、記事が169本。この110ページの差は何なのか。
そこから、SEOrium AIで現在公開されている全URLを収集し、1件ずつGoogleのインデックス状態を検査し直しました。結果として、#0と#1で公開した診断結果のうち、いくつかの数字と仮説を撤回することになります。順に書いていきます。
結論:3つの違う母数を、1つの数字として扱っていた
先に結論を書きます。私が犯していた間違いは、性質の異なる3つの数字を混同していたことでした。
| 母数 | 件数 | 中身 |
|---|---|---|
| 現在公開中の主要ページ | 162 | 公開投稿156+固定ページ5+トップページ |
| 現在のサイトマップURL | 170 | 上記+カテゴリーアーカイブ7+HTMLサイトマップ1 |
| GSCが認識している全URL | 256 | 上記+過去URL・削除済みURL・リダイレクト元・noindexページなど |
#0で「279ページ」と書いたのは、一番下の「Googleが過去を含めて知っているURLの総数」でした(その後の再確認では256件に減っています)。これは現在のサイトにあるページ数ではありません。
過去5年の間に削除した記事、URLを変えた記事、パラメータ付きのURL、Googleが一度見たきりのURL——そうしたものが積み上がった数字です。それを「今あるページの数」として扱い、「279ページを仕分ける」と宣言していたわけです。
仕分けようとしていたページの3〜4割は、そもそも存在していませんでした。
では、「279ページ」の中身は何だったのか
#2で「全279ページの仕分け結果を公開します」と予告した以上、まずこの数字の中身を明らかにしておきます。
現在の256件を、現行サイトマップに載っているものと載っていないものに分けると、こうなります。
| 区分 | 件数 |
|---|---|
| 現在のサイトマップにあるURL(Googleが認識しているもの) | 168 |
| サイトマップに存在しないURL | 88 |
| GSCが認識している全URL | 256 |
そして、サイトマップ外の88件をさらに分解すると次の通りです。
| 状態 | 件数 | 実体 |
|---|---|---|
| クロール済み-インデックス未登録 | 66 | 過去に存在した記事URLと推定 |
| noindexタグによる除外 | 7 | 意図的に検索対象外にしているページ |
| 登録済み | 6 | サイトマップ外だがインデックスされているURL |
| 検出-インデックス未登録 | 3 | Googleが存在を知っているだけのURL |
| リダイレクト | 3 | 転送元URL。実体としては現存しない |
| 404 | 2 | 削除済みで存在しない |
| 403 | 1 | アクセス制御下 |
| 合計 | 88 |
最大の塊は、サイトマップ外の「クロール済み-インデックス未登録」66件でした。これは、過去5年の運用の中で削除されたか、URLを変更されたか、あるいは何らかの理由でサイトマップから外れたURLを、Googleがまだ記憶している状態だと考えられます。
#0で私が「119ページがクロール済み-インデックス未登録」と書いて危機感を表明していたものの実態は、その大半が「今はもう存在しないページ」だったわけです。存在しないページの品質を改善する方法はありません。
なお、この内訳には2つの限界があります。正直に書いておきます。
限界① これは逆算による推計です
GSCの画面集計とURL検査APIの結果を突き合わせて算出した数字です。両者は取得経路も集計日時も違うため、完全に一致することを前提にできません。確定値にするには、GSCから全既知URLのリストをエクスポートして1件ずつ分類する必要があります(次回までに実施します)。
ただし、サイトマップ外の「登録済み6件」は、GSCの画面が示す登録済み136件と、こちらの検査による登録済み130件の差と一致しました。少なくとも計算の筋は通っています。
限界② 279から256へ23件減った理由は不明です
#0の診断時点(6月末)は279件、7月の再確認では256件でした。この23件がなぜ消えたのかは、現在のデータでは説明できません。Googleが古いURLの記憶を整理した可能性が考えられますが、推測でしかないので不明と書いておきます。 GSCの全既知URLは、こちらが何もしなくても変動する数字だという点も、今回の学びのひとつです。
やったこと:サイトマップの170URLを全件検査する
母数を正すために、SEOrium AIで次の順に処理しました。
- 公開中のXMLサイトマップから全URLを収集する(170件)
- 170URLすべてのHTML・本文・見出し・内部リンク・更新日を取得して構造化する
- 170URLを1件ずつ、GSCのURL検査APIにかけてインデックス状態を取得する
- 未登録だったURLについて、静的HTMLとJavaScript描画後のHTMLを比較する
- 取得できた証拠から、未登録の原因が成立するかを判定する
ポイントは3の部分です。GSCの画面に出てくる「ページのインデックス登録」レポートは、Googleが知っている全URL(256件)を母数とした集計です。一方、URL検査APIは、こちらが指定したURLを1件ずつ調べるものです。つまり、「今あるページだけ」を母数にした集計は、自分で作るしかない。
この作業を手作業でやると170回のURL検査になります。SEOrium AIに実行させた理由はここにあります。数百ページ規模のサイトで「現存URLだけのインデックス登録率」を継続的に追いたい場合、この処理を自動化できるかどうかが、そのまま運用の可否を分けます。
検査結果:未登録120件のうち、直すべきは38件だった
まず、GSCの画面が表示していた未登録120件の内訳です。
| 理由 | 件数 |
|---|---|
| クロール済み-インデックス未登録 | 95 |
| 検出-インデックス未登録 | 12 |
| noindexタグによる除外 | 7 |
| リダイレクト | 3 |
| 404(見つかりませんでした) | 2 |
| 403(アクセス拒否) | 1 |
404の2件とリダイレクト元の3件は、現存しないURLです。noindexの7件は、こちらが意図的に検索結果から外しているページです。この時点で13件は「改善すべき未登録」ではありません。
そして、現在のサイトマップ170URLだけを母数にした検査結果がこちらです。
| 状態 | 件数 | 構成比 |
|---|---|---|
| インデックス登録済み | 130 | 76.5% |
| クロール済み-インデックス未登録 | 29 | 17.1% |
| 検出-インデックス未登録 | 9 | 5.3% |
| Googleが未認識 | 2 | 1.2% |
現在生きているページのうち、実際に未登録なのは38件。登録率は76.5%です。
#0で公開した「52%が未登録」という数字を覚えている方は、印象がかなり違うはずです。私もそうでした。実態は「半分が未登録の壊滅的なサイト」ではなく、「4分の3は登録されているが、残り4分の1が引っかかっているサイト」だったのです。
誤解のないように書いておくと、GSCが間違った数字を出していたわけではありません。GSCは「Googleが知っている全URL」を正しく表示していました。その数字が何の母数なのかを、私が読み違えていただけです。
撤回します:「クロールできないリンク」は主因ではありませんでした
#1の技術診断で、Lighthouseが「リンクはクロールできません」と警告していることを報告し、こう書きました。これが未登録119ページの原因である可能性があり、最優先で調べる、と。
この仮説は、実測データによって否定されました。
根拠は3つあります。
① 未登録の大半は、Googleがすでにクロールしている
未登録120件のうち95件は「クロール済み-インデックス未登録」です。これは「Googleがページを取得した上で、載せる価値が低いと判断した」状態を指します。取得できていないのではなく、取得した上で見送られている。クロール不能を直接示す403・404は、合計3件しかありませんでした。
② 現存する170URLは、全件が正常に取得できた
最新のクロールで、170URLすべてがHTTP 200を返しました。到達できないページはゼロです。
③ JavaScript描画の問題も確認できなかった
「JINテーマのタブやカルーセルの中のリンクが、クローラーから見えていないのではないか」という仮説も立てていました。そこで未登録だった40URLについて、静的HTMLとJavaScript実行後のHTMLをPlaywrightで比較しました。結果は40件すべてで描画分析に成功し、JavaScript描画の不能が原因として成立したものはゼロ件でした。
技術的な問題を疑って、そこから手をつける。この判断自体は間違っていなかったと思っています。ただ、検証せずに「たぶんこれが原因だ」と信じたまま1ヶ月かけて修正していたら、その1ヶ月は丸ごと無駄になっていました。
では、本当の原因は何なのか
正直に書きます。まだ確定していません。
未登録40件について原因診断をかけた結果は次の通りです。
| 診断結果 | 件数 |
|---|---|
| 証拠付きで原因が成立 | 3 |
| 取得できた証拠では原因不成立 | 36 |
| 必須証拠が不足・再分析対象 | 1 |
証拠付きで原因を特定できたのは、40件中わずか3件でした。
- 特定商取引法の表記ページ:内部リンクが弱く、発見されにくい
- WordPress初期のサンプルページ:内容が薄い(そもそも公開する必要がない)
- 個別のサービス評判記事:情報の鮮度低下
残る36件は「原因不成立」です。これは「問題がない」という意味ではありません。robots.txtによるブロック、noindex、取得失敗、canonicalの競合、明確な重複、極端な文字数不足——そうした機械的に判定できる原因のどれにも当てはまらなかった、という意味です。
つまり、残り36件の未登録は、機械的なチェックで検出できる種類の問題ではなく、コンテンツそのものの中身に踏み込んで判断するしかない領域にあります。
一方で、確度の高い手がかりも見つかりました
原因は確定していませんが、170URLを構造化したことで、方向性を示すデータは出てきました。
手がかり① 情報鮮度は全体の問題
170URLのうち168URLが2020〜2021年更新のままでした。「5年放置」という言葉で漠然と語っていたものが、URL単位で確認できた形です。
手がかり② 記事のテーマによって登録率が大きく違う
URLのパターン別にインデックス登録率を出したところ、明確な差がありました。
| URLテーマ | 対象 | 登録済み | 登録率 |
|---|---|---|---|
| 評判・口コミ系 | 22 | 12 | 54.5% |
| テーマ解説系A | 47 | 43 | 91.5% |
| テーマ解説系B | 50 | 36 | 72.0% |
| その他 | 51 | 39 | 76.5% |
同じドメイン、同じテーマ、同じ時期に書いた記事なのに、評判・口コミ型の記事だけ登録率が54.5%と際立って低い。逆に、テーマを解説する記事は91.5%が登録されています。
これは#2で立てた「テンプレート型レビュー記事が構造的に無効化された」という見立てと整合します。ただし、これも現時点では相関であって、因果の証明ではありません。次のステップで、登録済みの12件と未登録の10件を突き合わせて、何が違うのかを比較します。
手がかり③ 内部リンクの穴が具体的に見えた
内部リンクのグラフを作った結果、他ページから1件もリンクされていないオーファンページ、リンクが極端に少ない弱導線ページが特定できました。件数としては多くありませんが、「検出-インデックス未登録」の9件については、内容ではなく導線の問題である可能性が高いという切り分けができます。
併せて発覚した、もっと痛い問題
ここまで書いてきたのはインデックスの話ですが、実はこの検証中に、それより深刻な問題が見つかりました。
GA4のデータと、サイトの記事が1件も紐付いていませんでした。
GA4との同期自体は成功していて、直近28日で1,234PV、セッション1,206、計測されたページパス128件というデータは取れています。しかし、そのデータをページ単位の記事情報と結合する処理が機能しておらず、照合結果は0件。
これが何を意味するか。「どの記事にアクセスが来ているか」をデータで判断できない状態ということです。この状態でリライトする記事を選ぶと、選定理由が「なんとなく重要そうだから」になります。#0で「検証を名乗る以上、計測は最初に固める」と書いておきながら、その計測基盤に穴が空いていたわけです。
これは今、最優先で修正しています。
教訓:「未登録◯◯ページ」という数字は、そのまま信じてはいけない
今回の遠回りから引き出せる、汎用的な学びを3つ書いておきます。
1. GSCの未登録件数は、まず母数を分解する
GSCの「ページのインデックス登録」レポートが表示する未登録件数には、削除済みURL、リダイレクト元、意図的なnoindexが混ざっています。「今あるページのうち、何件が未登録か」を知りたいなら、現在のサイトマップを母数にした集計を別に作る必要があります。 GSCの表示を「特定のサイトマップ」に切り替えるだけでも、見える景色がかなり変わります。
2. 「クロール済み-インデックス未登録」と「検出-インデックス未登録」は別物として扱う
前者は、Googleが中身を見た上で見送った状態。原因はコンテンツ側にあります。後者は、Googleが存在は知っているがまだ見ていない状態。原因は導線やクロール優先度にあります。同じ「未登録」でも、直す場所が違います。これを一括りにすると、内部リンクを直せば済む話にコンテンツ改修の工数を投じることになります。
3. 技術的な仮説ほど、検証してから着手する
「クロールできないリンクが原因」は、もっともらしい仮説でした。Lighthouseの警告という根拠もありました。それでも外れました。技術的な仮説は、修正コストが高いのに検証コストは低いという非対称性があります。先に検証する価値が高い領域です。
次にやること
母数が確定したので、ようやく実行に移せます。未登録等40件を、次のように分けて対応します。
| 対応 | 件数 | 内容 | | --------- | -: | --------------------------- | | 人間が判断 | 4 | そもそも検索対象にすべきかを決める(サンプルページ等) | | AI分析済み | 1 | 出た仮説を人が確認して処置を決める | | 個別にAI分析 | 10 | 流入があるページ・記事群の代表を優先 | | グループで比較分析 | 25 | 記事群ごとに登録済みと未登録を突き合わせる |
意図的に、40件を一括でリライトしません。 まず5〜10件だけ改善し、28日後にインデックス状態と検索実績を確認します。効果が確認できた手法だけを、残りに広げます。全件を一度に触ると、何が効いたのか永遠に分からなくなるからです。
そして着手前に、成功基準を宣言しておきます。改善した記事のうち半数以上がインデックス登録されれば、同じ手法を残り25件へ展開します。届かなければ手法を見直します。
併せて、今回推計で出したサイトマップ外88件についても確定作業を行います。GSCから全既知URLをエクスポートし、1件ずつ「過去URL」「意図的な除外」「復活させるべきURL」に分類します。この中に「本来生きているべきなのにサイトマップから落ちているURL」が混ざっていないかの確認が目的です。もし混ざっていれば、そこは手を入れる価値があります。
次回
次回は、この40件のうち優先10件をAIで個別分析にかけた結果と、実際の改善内容を公開します。「登録されている記事と、されていない記事は何が違ったのか」——今回積み残した本丸に、ようやく踏み込みます。
最後に、今回いちばん書きたかったことを。
自社ツールの分析結果に、自分が公開した診断レポートを否定されました。正直、気分のいいものではありません。ただ、思い込みで1ヶ月間違った工事をするより、3週間かけて母数を正した方が、間違いなく安い。SEOの施策で最も高くつくのは、検証されていない仮説を信じたまま動き続けることだと思います。
数字は、疑ってから使う。次回からは、正しい母数の上で進めます。
