内部リンクの SEO 効果と貼り方
内部リンクとは、同じサイト内のページ同士をつなぐリンクです。役割は 3 つ。クローラーがページからページへ辿る「回遊経路」になり、ページが集めた評価(リンク資産)を渡し合い、読者を次のページへ導いて離脱を抑えます。ポイントは、内容を表す具体的なアンカーテキストを、href を持つ a 要素で貼ることです。
内部リンクとは何ですか?
内部リンクは、同じドメイン内のページ同士をつなぐリンクです。外部サイトへ向かう外部リンクと対になる言葉で、パンくず・グローバルナビ・関連記事・本文中のリンクがすべて含まれます。検索エンジンはこのリンクを辿ってサイト内を巡回し、どのページが重要かを推測します。読者にとっては次に読むべきページへの案内板です。
Web は、ページとページを結ぶリンクでできています。そのうち同じサイト内で完結するリンクが内部リンクです。 普段は意識しませんが、実は多くの場所に存在します。
- グローバルナビ — ヘッダーやフッターの、全ページ共通のメニュー
- パンくず — 「ホーム / 解説 / この記事」のような階層リンク
- 関連記事・一覧 — 記事末尾やカテゴリページからのリンク
- 本文中リンク — 文章の途中で関連ページを指すリンク
これらは読者の案内板であると同時に、検索エンジンがサイト内を巡回するための線路でもあります。 どこにどう線路を敷くかが、そのままクロールとインデックスの効率を左右します。
内部リンクにはどんな SEO 効果がありますか?
効果は主に 3 つです。第一にクローラーがリンクを辿ってページを発見・巡回する「回遊経路」になること。第二に、あるページが集めた評価(リンク資産)をリンク先へ受け渡し、重要なページを押し上げること。第三に、読者を関連ページへ導いて離脱を抑え、サイト全体の滞在を深めることです。この 3 つは互いに補強し合います。
内部リンクの効果は 1 つではありません。役割の違う 3 つの働きが、同じ「リンク」という形で同時に起きています。
| 役割 | 誰のためか | 中身 |
|---|---|---|
| クロール経路 | 検索エンジン | リンクを辿ってページを発見・巡回する。孤立ページは辿れない |
| 評価の受け渡し | 検索エンジン | 集めた評価(リンク資産)をリンク先へ渡し、重要ページを押し上げる |
| 回遊による離脱抑制 | 読者 | 次に読むべきページへ導き、直帰を減らして滞在を深める |
注目したいのは、3 つが独立ではなく補強し合う点です。読者が回遊するページはクローラーも辿りやすく、 辿られたページは評価を受け取りやすい。逆に、どこからもリンクされないページは 3 つの効果すべてを取り逃がします。 だからこそ「重要なページほど、多くの場所から自然にリンクされている」状態を目指します。
アンカーテキストは何と書けばいいですか?
リンク先の内容を具体的に表す語を書きます。「こちら」「詳細はこちら」「続きを読む」だけでは、リンク先が何のページか人にも検索エンジンにも伝わりません。たとえば「料金プランを見る」「canonical の設定方法」のように、行き先の主題を含めます。ただし同じ語を不自然に繰り返す過剰最適化は逆効果なので、文脈に沿った自然な言葉を選びます。
アンカーテキスト(リンクの文字)は、読者と検索エンジンの両方に「この先に何があるか」を予告するラベルです。 「こちら」「詳細」だけのリンクは、その予告を放棄しているのと同じで、行き先が本文を読まないと分かりません。
<!-- ★ 良い例: アンカーテキストが行き先の内容を表している -->
<a href="/guide/canonical">canonical タグの設定方法</a>
<a href="/pricing">料金プランを見る</a>
<!-- △ 悪い例: これだけでは行き先が分からない -->
<a href="/guide/canonical">こちら</a>
<a href="/pricing">詳細はこちら</a>コツは、リンク先ページの主題を、短い言葉で先に見せることです。 ただし「SEO 対策 東京 格安」のようなキーワードの詰め込みや、同じアンカーの機械的な連発は過剰最適化と見なされます。 あくまで文章の流れに沿った、自然で具体的な言葉を選ぶのが正解です。
JavaScript のナビでもクローラーは辿れますか?
href を持つ a 要素であれば辿れますが、onClick だけで遷移する要素は辿れないことがあります。クローラーは基本的に href 属性の URL を収集するため、div や span に onClick を付けただけの疑似リンクや、href を持たない a はリンクとして認識されない場合があります。ページ遷移は必ず href を持つ a 要素で組むのが安全です。
クローラーは、ページを読み込んでhref 属性に書かれた URL を集めることでリンクを辿ります。 裏を返すと、href の無い遷移は見落とされることがあります。
<!-- ★ 正しい: href を持つ a 要素。クローラーが辿れる -->
<a href="/products/x100">製品 X100 の詳細</a>
<!-- ★ SPA でも href は必須。Next.js の Link は a に href を出力する -->
<Link href="/products/x100">製品 X100 の詳細</Link>
<!-- NG: onClick だけの疑似リンク。href が無く、辿られないことがある -->
<div onClick="location.href='/products/x100'">製品 X100 の詳細</div>div や span に onClick を付けてページ遷移を実装すると、見た目はリンクでも クローラーには「ただの箱」に見え、その先のページが発見されないことがあります。 React や Vue などの SPA でも、ページ遷移は必ず href を持つ a 要素で組んでください。 Next.js の <Link> は実際の HTML に href 付きの a を出力するので、この点は安全です。
関連して、そもそも本文が JavaScript でしか描画されない場合の注意はサーバーサイドレンダリングの解説も参照してください。
どこからもリンクされないページはどうなりますか?
孤立ページはクロールされにくく、インデックスから漏れる原因になります。サイトマップに載っていても、内部リンクが一本も無いページはクローラーが辿り着く経路を持たず、評価も受け取れません。新しく作ったページは、必ず関連する既存ページや一覧ページから 1 本以上リンクを張り、サイトの回遊網に組み込んでください。
孤立ページ(オーファンページ)とは、サイト内のどこからも内部リンクが張られていないページのことです。 クローラーはリンクを辿って巡回するため、入り口となるリンクが 1 本も無いページには辿り着けません。
「サイトマップに載せているから大丈夫」と考えがちですが、サイトマップは あくまで発見の補助であって、内部リンクの代わりにはなりません。サイトマップで存在は伝えられても、 評価の受け渡しや回遊は内部リンクでしか起きないからです。新しいページを公開したら、 必ず関連する既存記事・カテゴリ一覧・パンくずのいずれかから最低 1 本はリンクを張るのを習慣にしてください。
内部リンクでやりがちな失敗は何ですか?
過剰・無関係・隠しリンクの 3 つが代表的な失敗です。1 ページに何十本もの無関係なリンクを詰め込むと評価が薄まり、読者も迷います。文脈と関係ないページへ機械的に張るリンク、CSS で見えなくした隠しリンクは、検索エンジンに不自然とみなされる恐れがあります。数を稼ぐのではなく、関連性の高いリンクを必要な場所に置くのが基本です。
- 過剰なリンク — 1 ページに無関係なリンクを大量に並べると、評価が分散し、読者もどれが重要か判断できなくなる
- 無関係なリンク — 文脈と関係ないページへ機械的に張るリンク。読者の役に立たず、関連性のシグナルも濁る
- 隠しリンク —
display:noneや背景と同色の文字で見えなくしたリンク。検索操作を狙った不正と見なされる恐れがある
内部リンクの状態はどう確認すればいいですか?
各ページに入ってくるリンクと出ていくリンクを洗い出し、孤立ページと href の欠けたリンクを探します。ブラウザの検証ツールで a 要素の href を確認し、Search Console のリンクレポートで内部リンクの本数を把握できます。本ツールの診断でも、href を持たないナビや、どこからもリンクされていないページの兆候を検出します。
確認は「入ってくるリンク」と「出ていくリンク」の両面で行います。まず全ページを棚卸しし、どこからもリンクされていない孤立ページと、href の欠けた疑似リンクを洗い出します。
- 検証ツール — ブラウザで
a要素を調べ、hrefが付いているかを確認する - Search Console — リンクレポートで、内部リンクの多いページ・少ないページを把握する
- 本ツールの診断 — href を持たないナビや、孤立ページの兆候を機械的に検出する
機械でできるのは「リンクが有るか / href が付いているか」までです。そのアンカーテキストが適切か、 リンク先が本当に関連しているかは、最終的に人が読んで判断します。まず孤立と href 欠けをゼロにし、 次にアンカーテキストを具体的な語へ直す、という順で進めると迷いません。