静的サイトで記事ページが孤立する典型原因(ページネーション・JS 描画一覧・クエリ付き URL)

一言まとめ

サイトマップに載っていても、静的 HTML に `<a href>` が無ければ Google には孤立ページに見える。一覧のページネーションで古い記事が押し出される、アーカイブの記事リンクを JS で描画している、`?tag=` のクエリ URL が重複を生む、の 3 つが典型。アーカイブを静的に全記事リンク化し、記事末尾に関連記事を置くことで解消する。

作成 · 更新 · #seo#astro#internal-links#sitemap
目次 8 sections
  1. 01 症状の形
  2. 02 原因 1: ページネーションによる押し出し
  3. 03 原因 2: アーカイブ一覧を JS で描画している
  4. 04 原因 3: クエリ付き URL の重複
  5. 05 補強策
  6. 06 デプロイ後の確認
  7. 07 関連
  8. 08 更新履歴

調査時点: 2026-06。Astro 製ブログ(Cloudflare Pages 配信)での観察から一般化した内容。

症状の形#

  • サイトマップには全 URL があるのに、登録済みはトップと一覧の一部、記事はごく少数
  • URL 検査で「検出 - インデックス未登録」「参照元ページ: 検出されませんでした」「前回のクロール: 該当なし」
  • 手動でインデックス登録をリクエストしても、登録済み・未登録のどちらのリストにも現れない

原因 1: ページネーションによる押し出し#

トップ / は静的 HTML で記事へリンクしているが、一覧が /, /2/, /3/ とページネーションされていると、新記事が増えるたびに古い記事は後ろのページへ押し出され、最終的にどのページからもリンクされなくなる。「全記事への恒久的なリンクハブ」が別に必要になる。

原因 2: アーカイブ一覧を JS で描画している#

/archive/ のようなハブページで、記事一覧やタグ絞り込みをクライアント側 JavaScript で描画していると、静的 HTML にはタグ・カテゴリのリンクしか無く、記事への <a> が一本も出ない。Google から見ると中身の空いたアーカイブで、記事はリンクグラフ上で孤立する。

対処は、ビルド時(getCollection('posts') など)に全記事リンクを静的 HTML として出力し、JS は絞り込みの表示 / 非表示トグルだけを担当させる。document.write 等で後から差し込む構造は避ける。

検証はビルド成果物で行う。

Terminal window
grep -c '/posts/' dist/archive/index.html

全記事分の <a> が出ていること、JS 無効でも全記事に辿れることを確認する。

原因 3: クエリ付き URL の重複#

/archive/?tag=Go のような絞り込み URL がクロールされると、/archive/ の重複として「重複 - ユーザーが正規 URL を選択していません」に分類され、クロール枠を消費する。次のどちらかに統一する。

  • <meta name="robots" content="noindex, follow"> を付ける
  • <link rel="canonical" href="https://example.com/archive/"> を出す

いずれにしても、絞り込み結果を別 URL としてクロールさせない。

補強策#

優先対策
高アーカイブをビルド時に全記事リンク化する
中各記事末尾に関連記事(同タグ上位 3〜5 本)か最近の記事(直近 5 本)を静的に置く。パンくずも静的 <a> で
中被リンクを数本作る(X / Zenn へのクロス投稿、canonical はブログ側)
低@astrojs/sitemap の serialize で各エントリに lastmod を付け、サイトマップを再送信する
低全ページに自己参照 canonical(<link rel="canonical" href={Astro.url.href}> 相当、正規化した URL で)を出す
任意RSS に全記事が含まれているか確認し、フッターに「最近の投稿」を全ページ共通で静的に置く

デプロイ後の確認#

  1. ハブページ(/archive/)とトップを URL 検査から再リクエストし、リンクグラフを更新させる
  2. 1〜2 週間後に代表記事を再検査し、「参照元ページ」が「検出されませんでした」から実ページに変わったか見る
  3. 「検出 - 未登録」「クロール済み - 未登録」の記事数が時間とともに減ることを確認する

関連#

更新履歴#

  • 2026-06-16: 初版(ローカル調査ノート)
  • 2026-10-17: Wiki へ移植、概念ページとして再構成

同じトピック — SEO