Search Console を調べ直したら「伸びていない」が「4割落ちていた」に変わった — 日記の noindex 提案に待ったをかけた日

開発mdx-playground

このサイトはアクセスが伸びない。そう思って過去に2回調べさせて、2回とも「横ばい」で終わっていた。今日も同じ結論が返ってくるものと思って、3回目を頼んだ。

返ってきたのは横ばいではなかった。

掴んでいた Chrome が自分のものではなかった

ブラウザ自動化で Search Console を開かせたら、最初の反応が「セッションが期限切れです」。プロパティ一覧を確認しに行こうとするのを見て、ようやく事情が分かった。掴んでいるのがテスト用アカウントで開いた Chrome のほうだった。

「今アクティブなやつの方を掴んで」と伝えて、接続中のブラウザ一覧から掴み直させた。一度接続が落ちて、再接続してから画面が出た。

この手のズレは、画面が出てしまえば気づかない。ログイン先が違うだけで数字はそれらしく並ぶので、「どのアカウントのどのプロパティを見ているか」を最初に言わせるのが安全だと思った。

「横ばい」は下り坂の途中を切り取っていた

日別テーブルを100行表示に切り替えて3か月分を取らせ、減少の大きい順に並べ替えさせた。そこで景色が変わった。

  • 28日間クリック: 前期622 → 今期386(-38%)
  • 表示: 2.48万 → 1.61万(-35%)
  • 平均掲載順位: 9.7 → 9.6(動いていない)

順位は落ちていない。落ちたのは「表示されるクエリの数」のほうだった。特定のクエリで大きく負けたわけでもなく、385クエリ・1,440ページに薄く広がって減っている。

過去2回の定点観測(6/9 と 7/19)は、6月の山を挟んだ両側のたまたま同じ高さの2点を見ていた。40日空けた定点の間隔が、山をまるごと跨いでいた。数字が同じだから横ばい、と読んだのは自分である。

自分の判断で外させていた内部リンク

表示を失ったページの上位は技術ガイド記事ばかりだった。gitkeep の記事が表示608→60、技術スタック比較が437→104。gitkeep は6月に加筆までしていて、それでも視界から消えた。

「検索技術ガイド記事が検索結果に出なくなった」と口に出したところで、原因の片方が自分だと分かった。git のコミット履歴を追わせるとこうなっていた。

  • 6/9: 関連記事セクションとタグページを追加(前回レビューの最優先施策)
  • 6/20: タグ個別ページを削除(ビルド時間短縮のため)
  • 6/23: 関連記事の自動付与を削除(同上)
  • 7/19-20: 両方を復活、タグページからトップへの301も撤去

伸びている最中に、伸びる理由として自分の指示で足させたものを、同じく自分の指示で外させていた。しかも直後に Google のスパムアップデートが重なっている。サイト本体(WordPress 側)も同じ時期に同じ形で落ちているので、主因は外部だろう。ただ、内部リンクを抜いた分がそれを増幅した可能性は残る。切り分けはデータからはできない。

7/19-20 に復活させたぶんの答え合わせも見た。インデックス側の数字は動き始めている。

指標7/107/24
登録済み4,3704,610
クロール済み - インデックス未登録1,039940

半年ぶりに未登録が2桁減った。ただしデプロイから GSC のデータ最終日まで6日しかない。クリックに効いたかどうかは、この時点では判定できない。

調査結果は定点観測メモとして別記事にまとめさせた(メモ自体は非公開運用)。

「何をするってことですか」

メモが書き上がって、dev で描画まで確認した時点で、自分から一度止めた。

数字と表は並んでいる。だが、現状がどうなっていて、何が課題で、それをどう解消するのかが読み取れない。そう言って、3点で言い直させた。「6月末から検索アクセスが4割減っている」「原因は Google のアップデートが主、内部リンク削除が副」「打ち手は3つ」。これで初めて頭に入った。

定点観測メモは記録としては正しく、判断材料としては読めない形をしていた。数字を集める作業と、判断できる形に畳む作業は別物である。

noindex 提案に待ったをかけた

打ち手の筆頭に挙がってきたのが「日記・作業ログを noindex にする」だった。Google に評価してほしいページの密度を上げる、量産型と読まれる要素を減らす、という理屈である。

理屈は分かる。分かるのだが、引っかかった。

日記や作業ログは、note.com に置くほうが筋なのではないか。このサイトは Twitter で宣伝しているわけでもなく、自分が見返せれば足りる。だとすれば全部 noindex でいいのかもしれない。そこまで考えて、逆側の疑問が出てきた。

あえて noindex する必要が、そもそもあるのか。完全に検索にかからなくなるのではないか。

そのまま投げたら、返ってきた答えは「必須ではない」だった。根拠は3つ。

  1. 日記・作業ログはもともとクリックをほとんど稼いでいない。クリック上位は volta・cmx・シミュレーターといったガイド系ばかりで、日記はトップ10に1本も入っていない
  2. Google が既に約940ページを「クロール済み - インデックス未登録」と判定している。実質的に半分は noindex 相当の扱いを受けている
  3. したがって noindex で失うものはほぼゼロだが、得るものも確実ではない

失うものがゼロなら、やってもいい。ただし「やっても大きく損はしない」は「やる理由がある」とは違う。効果が確実でない施策のために、1,000本超の記事から流入実績のあるものを選り分ける手間を先に払うことになる。

というわけで、一括 noindex は保留にした。noindex を打つとしても、先に流入実績のある記事を除外リストにしてからでないと、勝っているページを巻き込む。順番としては、表示を失ったガイド記事のリライトのほうが先だろう。

提案をそのまま実装させていたら、今ごろ NOINDEX_PATTERNS を拡張して、効果の判定できない変更をひとつ増やしていた。

学び

  • 定点観測は間隔が長いと山を跨ぐ。40日空けると、下り坂の途中を横ばいと読み違える
  • ブラウザ自動化は「どのアカウントで開いているか」を最初に確認させる。画面が出た時点では気づけない
  • 分析メモと判断資料は別物。数字を並べただけでは「で、何をするのか」に答えられていない
  • AI の提案の「やっても損はない」は、「やる理由がある」ではない。失うものがゼロという説明が来たら、得るものの確度を聞き返す

次にやること

  • 表示を失ったガイド記事(gitkeep・技術スタック比較・Cloudflare 系2本)を、1つの検索意図に1本で答える形に作り直す
  • noindex を打つ前に、流入実績のある日記・ログを GSC のページ別データから除外リスト化する
  • 日記を note 側に寄せるかどうかを、noindex とは切り離して決める
  • 次回の定点観測は8月中旬。7/19 の復活施策がクリックに効いたかは、そこで判定する