SEO・GEO教科書 · Lesson 08

サイト構造と内部リンク:トピッククラスタで積み上げる

個別記事を単発で増やすのをやめ、定義ページを中心に束ねるトピッククラスタの作り方を扱います。URL設計、パンくず、アンカーテキスト、そして増えすぎた薄い一覧ページをどう扱うかまでを実装として整理します。

Level 2Lesson 08 / 14約22分

1本ずつバラバラな記事群を、テーマごとに束ねて評価が積み上がる構造に組み替えられるようになる。

このレッスンで扱うこと

  • ハブ(定義・網羅ページ)とスポーク(個別トピック)の役割分担
  • Googleがリンク構造について述べていること(ECサイトの例)と、メディアサイトへの読み替え
  • 「重要なページは何クリック以内か」について、Googleが述べていることと、当サイトが決めた目安の切り分け
  • リンク構造のよくある崩れ方(フラット・孤立ページ・深すぎる階層)と、その直し方
  • URL設計とパンくずで階層を明示する
  • 内部リンクのアンカーテキストの書き方と、リンクを置く位置
  • タグ一覧など中身の薄いページを、noindexとサイトマップからどう外すか

トピッククラスタ:ハブとスポーク

トピッククラスタとは、1つのテーマについて、全体を扱うハブページと、個別の論点を扱う複数のスポークページを作り、相互にリンクで結ぶ構造のことです。記事を単発で増やしていくのをやめ、テーマ単位で束ねると、そのテーマを扱っているサイトだと理解されやすくなります。

Figure

ハブとスポークの役割

ハブ(軸になるページ)

定義・全体像・目次

  • テーマ全体を扱い、そのテーマの定義クエリを受ける
  • 各スポークへのリンクを、内容の説明つきで並べる
  • 更新頻度は低いが、長く生き続ける
  • 例: 「SEO対策とは」「GEO対策とは」「この教科書の目次」

スポーク(個別のページ)

手順・事例・ニュース

  • 1つの論点だけを深く扱う
  • 本文中からハブへ戻るリンクを置く
  • 関連するスポーク同士も横につなぐ
  • 例: 各レッスン、個別のニュース記事

重要なのは双方向であることです。ハブからスポークへのリンクだけでは、 スポークに直接来た読者がテーマ全体にたどり着けません。各スポークの本文中と末尾に、 ハブへ戻るリンクを必ず置きます。

Figure

サイト構造は3階層に収める

スポーク(個別ページ)

第3階層

個別の論点。ハブと、関連する他のスポークへリンクする。

ハブ(テーマの軸)

第2階層

テーマの定義と全体像。配下のスポークを説明つきで並べる。

トップページ

第1階層

サイト全体の入口。各ハブへの導線を明示する。

トップから3クリック以内で全ページに到達できる状態を目安にする。階層が深くなるほど、クロールも読者も届きにくくなる。

3階層という目安は当サイトの整理です。Googleが述べているのは「重要なページはトップページからクリックできるようにする」 ところまでで、階層数やクリック数の上限は示していません(「何クリック以内」はGoogleが決めているのか)。

Googleの説明:ECサイトの例で読む

Googleがリンク構造についてまとまった説明を置いているのは、ECサイト向けのドキュメントです。「メニュー → カテゴリ → サブカテゴリ → 商品」という例で書かれていますが、述べているのはリンクのたどり方なので、メディアやブログにもそのまま当てはまります。次の節で扱う型は、ここが根拠になっています。

Googleは、ページ同士のリンクの関係を手がかりにサイトの中の良いコンテンツを探しており、 メニューやページ間のリンクといったナビゲーションの構造が、Googleのサイト構造の理解に影響しうると説明しています。 そのうえで、ページの相対的な重要度を推測するのに何を使うかを、次のように書いています。[出典: Help Google understand your ecommerce website structure]

「Google は、あるページに到達するまでにたどる必要があるリンクの本数や、そのページに向けられたリンクの本数といった情報を、サイト内の他のページと比べた相対的な重要度の推測に使うことがあります」
— Google 検索セントラル「Help Google understand your ecommerce website structure」より(当サイト訳)

ここに出てくるのは「たどる本数(クリック深度)」と「集まる本数(内部リンクの数)」の2つです。 何階層までに収めるべきかという上限は書かれていません。書かれているのは、 重要なページほど短い経路で届き、多くのページからリンクされている状態にする、という考え方のほうです。 クリック数の扱いは次の節で切り分けます。

Googleの記述(ECサイトの例)言っていることメディア・ブログでの読み替え
メニューからカテゴリページへ、カテゴリページからサブカテゴリページへ、サブカテゴリページからすべての商品ページへリンクを追加する入口から末端まで、リンクが1本も途切れずにつながっている状態を作る。インデックスさせたい商品にはすべてリンクすることが強く推奨されているメニュー → ハブ(/seo・/geo)→ 各記事。どのハブからも並べられていない記事を無くす
よく売れている商品は、トップページや、ブログ記事・ニュースレターなど他のコンテンツからもリンクすることを検討する重要なページには、通常の経路とは別にリンクを足してよい一番読ませたいハブや記事は、トップと本文中からも直接リンクする
他のコンテンツへのリンクを作るときは <a href> タグを使い、ナビゲーションに他のHTML要素のJavaScriptイベントを使わないクリックで画面が変わっても、<a href> でなければリンクとして扱われないことがあるカードやボタンのクリックで遷移させている箇所を <a href> に直す
すべてのページにリンクするのが不可能な場合は、サイトマップや Merchant Center のフィードを使う(クローラーが他の方法では見つけられないページを知らせられる)サイトマップは、リンクだけでは見つからないURLを知らせる補助サイトマップは出す。ただしリンクを張れる場所があるなら、先にリンクを張る
構造化データを追加する。サイト上の各ページの目的の理解を助け、この構造を補強する構造化データは構造を「補強」するものパンくずとBreadcrumbListを出す(レッスン05)。構造を整える前にマークアップだけ足しても補強にならない
出典はいずれもGoogleのECサイト向けドキュメントで、日本語は当サイト訳です。[出典: Help Google understand your ecommerce website structure]

Figure

Googleの例と、メディアサイトへの読み替え

ECサイト(Googleの例)

メニューカテゴリサブカテゴリ商品A商品B

メニューから商品まで、リンクが途切れずにつながっている状態。段が1つ多いのは商品数が多いためで、Googleが階層の数を指定しているわけではない。

メディアサイト(同じ考え方)

メニューハブ/seo・/geo記事A記事B記事C

記事数が少ないうちは、サブカテゴリにあたる段は要らない。ハブ1枚に並べきれなくなった時点で、テーマを割ってハブを増やす。

Googleの例(左)は商品カタログの形、右はそれをメディアの語彙に置き換えたもの。変えていないのは「入口から末端までリンクをつなぐ」という点だけで、段数は扱う本数で決まる。

サイトマップについては、リンクの代わりではないことに注意します。Googleが重要度の推測に使うと書いているのはリンクの本数のほうで、 サイトマップは「こういうURLがある」と知らせるだけです。リンクを張れる場所があるなら、先にリンクを張ります。[出典: サイトマップの作成と送信]

「何クリック以内」はGoogleが決めているのか

決めていません。「2クリック以内」「3階層まで」といった数字は、Googleのどの文書にも書かれていません。ただし「重要なページはトップページからクリックできるようにする」「トップページからリンクをたどって重要なページをすべて見つけられる状態にする」のほうは、2008年のブログから現行のドキュメントまで繰り返し書かれています。たどれることは要件、クリック数は当サイトの目安、と分けて扱います。

出典Googleが書いていること読み取れること
リンクアーキテクチャの重要性(2008年・ブログ)[出典: Importance of link architecture(2008年)]「重要なページはトップページからクリックでき、サイト全体を通じてGooglebotが見つけやすい状態にしてください」。検索エンジンのクローラーが検索ボックスに入力したりプルダウンメニューをたどったりすることはまれだ、という理由が添えられているトップから「クリックで届く」こと自体が要件。サイト内検索や絞り込みUIの奥にしか無いページは、経路が無いのと同じ
サイトマップについて(現行のドキュメント)[出典: サイトマップの作成と送信]サイトマップが無くてもよい条件の1つとして、「サイト内が十分にリンクされている=Googlebotがトップページからリンクをたどって、重要なページをすべて見つけられる」ことを挙げている基準の言い方はクリック数ではなく「トップからたどって全部見つかるか」。孤立ページが1本でもあれば満たしていない
ECサイトの構造(現行のドキュメント)[出典: Help Google understand your ecommerce website structure]あるページに到達するまでにたどる必要があるリンクの本数や、そのページに向けられたリンクの本数を、サイト内の他のページと比べた相対的な重要度の推測に使うことがある経路が短いほど重要なページとして扱われうる。ただし「短い」の具体的な値は書かれていない
日本語はいずれも当サイト訳です。「2クリック」「3クリック」という数字は、上のどの文書にも出てきません。

Figure

要件と目安を分ける

Googleが述べていること

満たすべき要件

  • 重要なページはトップページからクリックできる
  • トップからリンクをたどって、重要なページをすべて見つけられる
  • リンクは <a href> で書く(検索ボックスやJavaScriptイベントの奥に置かない)
  • たどる本数と集まる本数が、相対的な重要度の推測に使われることがある

当サイトが決めた目安

運用のための数字

  • 重要なページはトップから2〜3クリック以内
  • サイト構造は3階層に収める
  • どのページにも本文か一覧から最低1本のリンクを入れる
  • 数字はGoogleの基準ではなく、要件が崩れていないかを機械的に点検するための線
左が根拠のある要件、右がそれを運用に落とすために当サイトが決めた数字。順位のためのしきい値ではないので、右の数字を1つ超えたこと自体が問題になるわけではない。

この切り分けが効くのは、点検するときです。「4クリックかかっているから直す」ではなく、「たどれない経路になっていないか」を見て、クリック数はその兆候として使うのが順番です。 クリック数が伸びている場所は、たいていページ送りの奥や、絞り込みUIの先といった、 リンクが途切れかけている場所と一致します。次の節の型3が、その典型です。

リンク構造の型:崩れ方と直し方

リンク構造とは、どのページからどのページへリンクが張られているか、その全体の形のことです。1ページずつ見れば問題がなくても、全体の形が崩れていると、重要なページに経路が集まりません。よくある崩れ方を3つ、直した形とセットで図にします。

先に結論を書くと、目指す形は次の3つを満たすものです。①テーマの軸になるハブがあり、どのページもハブから2クリック以内にある。②ハブとスポークが双方向にリンクしている。③どのページにも、本文か一覧から最低1本のリンクが入っている。 以下の図では、リンクを矢印で描いています。片矢印は一方向、両矢印は双方向のリンクです。

Figure

型1: トップに全部ぶら下げる(フラット型)

フラット型:ハブが無い

トップ記事A記事B記事C記事D

トップだけが全記事を抱え、記事どうしはつながっていない。記事が増えるほどトップの一覧から押し出され、古い記事への経路が消える。テーマのまとまりも読み取れない。

ハブ&スポーク型

トップSEOハブGEOハブ記事A記事B記事C記事D

テーマごとにハブを1枚立て、ハブと記事を双方向でつなぐ。同じテーマの記事どうしも横につなぐ。記事が増えても、増えるのはハブの下だけで済む。

フラット型が崩れる理由は、トップページの一覧が有限だからです。記事が増えると古い記事はトップから押し出され、 リンクが1本も無いページになります。ハブを挟むと、押し出される先がテーマ単位のハブになり、 そのテーマの記事はハブに残り続けます。

Figure

型2: どこからもリンクされていないページ(孤立ページ)

孤立ページがある

トップ記事一覧記事A記事B記事Cリンク無し記事Dリンク無し

一覧の1ページ目に残っている記事しか、リンクをたどって到達できない状態。サイトマップには載っていても、サイトマップは「こういうURLがある」という一覧で、ページ同士の関係は表さない。

全ページに入り口がある

トップハブ記事A記事B記事C記事D

ハブは新着順の一覧と違い、古い記事も説明つきで並べ続ける。さらに本文中の関連リンクで横にもつなぐと、入り口が2本以上になる。

孤立ページの探し方は、サイトマップのURL一覧と、サイト内リンクのリンク先一覧を突き合わせること。差分がそのまま孤立ページになる。

Figure

型3: 奥に埋まっている(クリック深度)

ページ送りでしか届かない

トップ一覧 1一覧 2一覧 3記事4クリック

古い記事ほど奥のページ送りに流れる。中身は同じでも、経路が長いほど読者もクローラーも届きにくくなる。

ハブから直接届く

トップハブ記事A2クリック記事B2クリック

ページ送りを無くす必要はない。ページ送りとは別に、ハブから直接届く経路を1本用意する。

「2クリック」「4クリック」という具体的な数字は当サイトの整理です。Googleはクリック数の上限を示していませんが、 到達までにたどる必要があるリンクの本数を、そのページの相対的な重要度の推測に使うことがあると説明しています。[出典: Help Google understand your ecommerce website structure]また、重要なページはトップページからクリックできる状態にするよう述べています。[出典: Importance of link architecture(2008年)]

URL設計とパンくず

URLは、決めたら変えないことが最も重要です。変更するたびにリダイレクトの管理が増え、対応漏れがそのまま流入の損失になります。設計の段階で、後から変えたくならない形にしておきます。

決めること選択肢判断の基準
URLに何を使うか英数字のスラッグ/連番のID/日本語タイトルを変えてもURLが変わらない形にする。連番IDはタイトル変更に強い
階層をURLに反映するか/seo/robots-txt のように反映する//articles/123 のようにフラットにするカテゴリが変わる可能性があるなら、URLに含めないほうが安全
カテゴリページをどこに置くか/category/seo のような専用パス//seo のような短いパスカテゴリの解説とアーカイブを兼ねるなら短いパスにまとめる
末尾のスラッシュあり/なしどちらでもよいが、どちらかに統一し、もう一方は301で寄せる

当サイトでは、記事のURLをフロントマターの連番IDにしています(/articles/123)。 タイトルを変更してもURLが変わらないためです。またカテゴリについては、/category/seo のような専用パスを廃止し、解説ページと記事一覧を兼ねる/seo・/geo・/news に統合しました。 旧URLからは308リダイレクトで転送しています。[出典: 重複した URL を統合する]

パンくずは、可視のUIとBreadcrumbList構造化データを同じデータから出すのが実装の要点です。 表示とマークアップを別々に書くと、片方だけ直る状態が起きます。[出典: SEO スターター ガイド]

薄いページをどう扱うか

タグ一覧、著者別一覧、月別アーカイブなど、中身がリンク数個しかないページは、増えるとクロールの枠を食います。Search Consoleの「クロール済み - インデックス未登録」が増えている場合、まずここを疑います。

ページの種類問題になる状態対処
タグ一覧記事が1本しかないタグページが大量にある一定本数未満のタグはnoindexにし、サイトマップからも外す
ページネーション2ページ目以降が中身のほぼ無い一覧になっている1ページあたりの件数を増やす。canonicalで1ページ目に寄せない(各ページは別の内容)
パラメータ違いのURL並び替えや絞り込みのパラメータが全部インデックス対象になっているcanonicalでパラメータ無しのURLを代表にする
内容の重複するページ同じ意図のページが複数ある(レッスン03のカニバリゼーション)1本に統合し、他は301リダイレクトする
noindexにしたページはサイトマップからも外します。サイトマップに載せながらnoindexにするのは矛盾したシグナルです。[出典: noindex でコンテンツをインデックスから除外する][出典: サイトマップの作成と送信]

実装では、表示側(noindexの判定)と生成側(サイトマップの生成)で同じしきい値を使うようにします。 別々に書くと、片方だけ直った状態が起きて、矛盾に気づきにくくなります。

実例:このサイトの構造

このサイト自身が、ここまでの内容をそのまま実装しています。読者が実際に開いて確認できる例として挙げます。

役割ページ何をしているか
ハブ(SEO)/seo「SEO対策とは」の定義ページ。同カテゴリの記事一覧を兼ねる
ハブ(GEO)/geo「GEO対策とは」の定義ページ。同カテゴリの記事一覧を兼ねる
ハブ(教科書)/learn14レッスンの目次。各レッスンの到達目標つきで並べる
スポーク/learn/<レッスン>各レッスン。前後リンクとハブへの導線を固定で置く
スポーク/articles/<id>個別のニュース記事。カテゴリのハブへ戻る導線を持つ
薄いページの制御/tag/<タグ>記事が一定本数未満のタグはnoindex。サイトマップからも除外

Figure

このサイトの実際のリンク構造

ハブ4枚 + 双方向リンク

トップ/seo/geo/news/learn記事/articles/<id>レッスン/learn/<slug>

記事は所属カテゴリのハブと双方向につながり、関連する記事・レッスンとも横につながる。読者がどのページに直接来ても、そのテーマの全体像に1クリックで戻れる。

タグ一覧(/tag/<タグ>)は、記事が一定本数未満のものをnoindexにしているため、この図には含めていません。

カテゴリのリンク先は1つの関数を通して生成しており、リンクを書く場所ごとにURLがばらつかないようにしています。 URLの変更が必要になったとき、直す場所が1か所で済むためです。

外部評価の側では、韓国のSaraminが不要なmetaタグの削除とcanonicalによる重複統合を行ったうえで 構造化データを追加し、自然検索流入が前年同月比102%増になったと報告しています。 構造の整理が先、追加のマークアップは後、という順番になっている点が参考になります。

テクニカルの基礎

Saramin

韓国・求人サイト

やったこと

不要なキーワードを並べたmetaタグを削除し、canonicalで重複ページを1本化。そのうえでJobPosting(求人)・パンくず・想定年収の構造化データを追加した。構造化データテストツール、モバイルフレンドリーテスト、PageSpeed Insightsで継続的に監査している。

報告された結果

  • 2019年9月の採用シーズンで、Google検索からの自然流入が前年同月比102%増
  • 自然検索経由の新規会員登録が93%増
  • 自然検索からのコンバージョン率が前年比9%増
  • 2015年にクロールエラーを解消しただけの段階で、流入が15%増

出典: Saramin increases organic Search traffic 2X by investing in SEO(Google 検索セントラル 成功事例)

数値は各社の環境・時期・同時に実施した他の施策を含んだ結果です。同じ施策で同じ結果が出ることを示すものではありません。

次のレッスンでは、ここまでで整えたサイトを、生成AIに引用される状態にするための設定を扱います。

到達チェックリスト

次の項目を自分のサイトで確認できたら、このレッスンは終わりです。1つでも「まだ」がある場合は、次のレッスンに進む前にそこを埋めてください。

  • 主要テーマごとにハブページを1本決め、そこから各記事へリンクがある
  • 各記事からハブページへ戻るリンクがある
  • どのページにも、本文か一覧から最低1本の内部リンクが入っている(孤立ページが無い)
  • 重要なページに、トップから2〜3クリック以内で到達できる
  • アンカーテキストが「こちら」ではなく、リンク先の内容を表す語になっている
  • ページ遷移がすべて<a href>で書かれている(クリックで動くだけのボタンやカードになっていない)
  • パンくずを設置し、BreadcrumbList構造化データを出している
  • 記事1本しかないタグ一覧のような薄いページを、noindexにするか統合した

よくある質問

トピッククラスタとは何ですか

1つのテーマについて、全体を扱うハブページと、個別の論点を扱う複数のスポークページを作り、相互にリンクで結ぶ構造のことです。このサイトでいえば「SEO対策とは」「GEO対策とは」がハブ、日々のニュース記事や各レッスンがスポークにあたります。同じテーマのページが相互に参照し合うことで、そのテーマを扱っているサイトだと理解されやすくなります。

リンク構造はどうあるべきですか

3つの条件で判断します。1つ目は、テーマの軸になるハブページがあり、どのページもハブから2クリック以内にあること。2つ目は、ハブとスポークが双方向にリンクしていること(ハブから記事へのリンクだけでは、記事に直接来た読者がテーマ全体に戻れません)。3つ目は、どのページにも本文か一覧から最低1本のリンクが入っていることです。よくある崩れ方は、トップに全記事を直接ぶら下げるフラット型、どこからもリンクされていない孤立ページ、ページ送りでしか辿れない深い階層の3つです。

リンク構造について、Googleは何と言っていますか

Googleがまとまった説明を置いているのは、ECサイト向けのドキュメントです。そこでは、Googleがページ同士のリンクの関係を手がかりにサイト内の良いコンテンツを探しており、メニューやページ間のリンクといったナビゲーションの構造がサイト構造の理解に影響しうると説明されています。さらに、あるページに到達するまでにたどる必要があるリンクの本数や、そのページに向けられたリンクの本数といった情報を、サイト内の他のページと比べた相対的な重要度の推測に使うことがある、とも書かれています。ECの例で書かれていますが、述べているのはリンクのたどり方なので、メディアやブログにもそのまま当てはまります。

重要なページは何クリック以内に置くべきですか

Googleは「2クリック以内」「3階層まで」といった数字をどの文書にも書いていません。書かれているのは、重要なページはトップページからクリックでき、サイト全体を通じてGooglebotが見つけやすい状態にすること(2008年のブログ)、サイトマップが無くてもよい条件の1つとしてトップページからリンクをたどって重要なページをすべて見つけられること(サイトマップのドキュメント)、そして到達までにたどる必要があるリンクの本数や、そのページに向けられたリンクの本数を相対的な重要度の推測に使うことがあること(ECサイトのドキュメント)です。当サイトは運用の目安として2〜3クリックを使っていますが、これはGoogleの基準ではなく、リンクが途切れかけている場所を機械的に見つけるための線です。

ECサイトの話は、商品を売っていないサイトにも当てはまりますか

当てはまります。Googleの例は「メニュー → カテゴリページ → サブカテゴリページ → すべての商品ページ」という順にリンクを張る、というものです。これはメディアであれば「メニュー → ハブページ → 各記事」に読み替えられます。記事数が少ないうちは、サブカテゴリにあたる段は要りません。段数そのものが推奨されているわけではなく、入口から末端までリンクが途切れずにつながっていることが要点です。

孤立ページはどうやって見つけますか

サイトマップに載っているURLの一覧と、サイト内リンクのリンク先URLの一覧を突き合わせ、サイトマップにあってリンク先に出てこないURLを探します。それが、リンクをたどっては到達できないページです。サイトマップに載せることとリンクを張ることは別で、サイトマップは「こういうURLがある」という一覧、リンクはページ同士の関係を示すものです。

内部リンクは多いほどよいのですか

多さ自体が目的ではありません。重要なのは、重要なページへの経路が短いことと、リンクの文言がリンク先の内容を表していることです。関係の薄いページへ機械的にリンクを張ると、読者にとって邪魔になるうえ、どのページが重要かという情報も薄まります。

薄いページはなぜ問題なのですか

検索結果に出ないページが増えると、Search Consoleの「クロール済み - インデックス未登録」が増え、クロールされる回数が重要なページに回らなくなることがあります。当サイトでは、記事が1本しかないタグ一覧ページをnoindexにし、サイトマップからも外しています。表示側と生成側で同じしきい値を使い、片方だけ直る状態を防いでいます。

URLに日本語を使ってもよいですか

使えます。ただし、コピー時にパーセントエンコードされて長くなり、SNSやドキュメントに貼ったときに読みにくくなります。当サイトの記事URLは連番のIDにしており、タイトル変更でURLが変わらないようにしています。どの方式でも、後からURLを変えないことのほうが重要です。

Sources · 一次情報