HTML見出しタグH1〜H6の使い方:SEO完全ガイド

H1〜H6は文書の意味的な階層であり、文字サイズの指定ではありません。SEO、読みやすさ、アクセシビリティを満たす見出し構造の作り方を解説します。

HTMLの見出しは、<h1>から<h6>までの6段階です。SEOでH1が重要なことは多くの人が知っています。一方で、H2やH3以下の役割、検索エンジンのクローラーとの関係、階層が崩れるとSEOにもユーザーにも悪影響が出る理由は、あまり理解されていません。

Googleのクローラーにとって、見出しタグは文書の目次です。ロボットは見出しからページのテーマと下位テーマを読み取り、検索クエリに対する文書の関連性を判断します。階層の抜け、H1の重複、見た目だけのために使った見出しがあると、この地図が壊れます。

見出し階層をツリーで表した図です。H1が根、H2が主な枝、H3が葉にあたります。検索エンジンは、これを文書の目次として読みます。
見出しタグには3つの役割があります。検索エンジンへの意味の伝達、スクリーンリーダーへの構造の提示、ページを頭から読まず流し見するユーザーの目印です。3者とも無視できません。

H1〜H6の見出しタグとは

H1〜H6は、見出しを6段階の重要度で示すHTMLの要素です。H1がページのメイン見出しで、H6が最も深い階層の小見出しです。各レベルは、クローラーに「このセクションの内容はこのテーマについてです」と伝えます。

6

見出しレベル

HTMLにはH1〜H6があります。実際にはH1〜H3だけのページがほとんどです

約8%

H1のないページ

HTTPArchiveによると、Web上の約12ページに1ページにH1タグがありません

33%

GoogleがH1を採用

スニペットでGoogleがtitleではなくH1のテキストを使う割合(Zyppy、2021年)

約40%

H2のクエリへの流入

H2見出しがカバーする副次的なクエリ経由のオーガニックトラフィックの推定割合

見た目の装飾(<b>、<big>、CSSクラス)と違い、見出しタグは意味を持ちます。ブラウザーはH1をデフォルトで大きな太字にしますが、サイズは副次的な結果にすぎません。CSSでH6をH1より大きく見せることもできますが、意味は変わりません。検索エンジンやスクリーンリーダーにとって、主見出しはあくまでH1です。

階層:H1、H2、H3とそれ以下

正しい見出し階層は、本の目次と同じ構造です。書名がH1、章がH2、章の中の節がH3、その下の細かい項目がH4以降にあたります。この構造を崩すのは、本から章を破り取ってページをシャッフルするようなものです。

Webページにおける正しい見出し階層です。
html
<!-- Correct hierarchy -->
<h1>Guide to Welders' Protective Clothing</h1>

  <h2>Types of protective clothing</h2>
    <h3>Fire-resistant suits</h3>
    <h3>Protective masks</h3>

  <h2>Regulatory standards</h2>
    <h3>EN ISO 11612</h3>
    <h3>ANSI/ISEA standards</h3>

  <h2>How to choose</h2>

<!-- Wrong hierarchy (skipped levels) -->
<h1>Guide to protective clothing</h1>
  <h3>Fire-resistant suits</h3>  <!-- H2 skipped! -->
    <h5>Standards</h5>           <!-- H4 skipped! -->
見出しレベルを下方向に飛ばしてはいけません。H2を挟まずにH1から直接H3へ進むと「階層の崩れ」になり、クローラーは文脈を見失い、スクリーンリーダーは構造エラーをユーザーに読み上げます。見出しレベルは1段ずつ下げます。セクションを閉じて上位レベルに戻るときに飛ばすのは問題ありません。

H1:ページのテーマ

1ページに1つだけ置きます。文書全体を表し、メインのターゲットキーワードを含めます。ユーザーが着地して最初に目にする要素です。

H2:セクション

ページを大きなテーマごとのブロックに分けます。H2はそれぞれ、副次的なクエリの入口であり、強調スニペットの取得元にもなります。

H3〜H6:詳細

H3はH2の中に、H4はH3の中に入れ子にします。ほとんどの記事は3階層で足ります。H4〜H6が出てくるのは、複雑な技術文書やリファレンスです。

H4〜H6が必要になる場面

H4、H5、H6を使う場面は多くありません。4階層以上の入れ子が必要な大規模な技術文書に限られます。たとえば法律の契約書、APIドキュメント、医療プロトコルです。ブログ記事やランディングページなら、H1〜H3の3階層で足ります。

目安として、「H4が必要かもしれない」と思ったら、まずH3の範囲に収まるよう内容を組み直せないか考えます。階層が深いとスクリーンリーダーでの移動が難しくなり、すべてのユーザーにとって読みにくくなります。

見出しがSEOに与える影響

見出しタグはどれも関連性のシグナルです。レベルが上がるほどシグナルは強く、H1はH2より、H2はH3より重みがあります。ただし、どの見出しも、文書が検索クエリにどれだけ合っているかの評価に関わります。

タグSEO上の役割キーワードを置く場所
H1メインのテーマを示すシグナル。Googleがスニペットでtitleの代わりに使うことがあるメインのターゲットクエリを自然に1回だけ
H2副次的なテーマとサブクエリ。強調スニペットや「他の人はこちらも質問」に出る副次的なクエリ、LSI用語、検索で見かける質問
H3H2の掘り下げ。直接の影響は小さいが、ロングテールの検索順位に効く絞り込みのクエリ、具体例、手順のステップ
H4〜H6SEOへの直接の影響は最小限。構造のための要素特定のキーワードを狙う必要はない

Googleは見出しを使って強調スニペットを作ります。ユーザーが質問すると、H2またはH3がクエリとよく一致し、直後のコンテンツブロックが直接の答えになっているページを探します。よく練ったH2見出しは、検索結果の「0位」を狙える無料の候補です。

強調スニペットを狙うには、H2とH3を質問や、質問への直接の答えの形で書きます。「canonical URLの設定方法」は、「canonical URLの設定」より優れています。そうした見出しの直後の段落には、40〜60語ほどの簡潔な答えを置きます。

見出しは内部リンクにも関わります。リンク先ページのH2に合わせたアンカーテキストは、関連性を強めます。サイトマップにも関わります。CMSによっては見出しにid属性を自動で付けるため、ページ内の深いセクションを指すアンカーURLができ、XMLサイトマップから直接参照できます。

アクセシビリティとスクリーンリーダー

スクリーンリーダーは視覚に障害のあるユーザー向けの支援ソフトで、ページ内の移動に見出しタグを主に使います。ユーザーはHキーで見出し間を移動し、ページの目次を耳で確認します。見出し階層が崩れていると、この移動が役に立たなくなります。

見出し構造に頼るユーザー層

正しい階層は3つのユーザー層にとって欠かせません

視覚に障害のある人(スクリーンリーダー利用者)人口の約2.2%
認知障害のあるユーザー(構造が状況把握の助けになる)人口の約15%
読む前にページを流し見するすべてのユーザーセッションの約79%

WCAG 2.1の達成基準1.3.1「情報及び関係性」では、見出しはスタイルではなく、意味を持つHTMLタグで実装することが求められます。font-size: 24px; font-weight: boldを指定したボタンは、スクリーンリーダーにとって見出しではありません。<h2>なら見出しです。この差は大きなものです。

Googleは検索順位の決定でも、アクセシビリティを間接的に考慮します。セマンティクスが正しいページは、クローラーがより正確に解析でき、スニペットも的確になり、ユーザーからの苦情も減ります。アクセシビリティが高いことは、コンテンツ品質を示す強いシグナルになります。

見出しを使うときのルール

実務のほとんどの場面は、次の5つのルールでカバーできます。

ルール1H1は1ページに1つ

H1は文書全体のテーマを示すもので、テーマは1つだけです。H1が複数あるとシグナルが薄まり、スクリーンリーダーも混乱します。HTML5では、<section>要素ごとに複数のH1を置くことが技術的には認められています。ただしGoogleは今でも、ページをフラットな文書として処理します。

ルール2レベルを下方向に飛ばさない

H1の次はH2、H2の次はH3です。H1からH3へ飛ばさないでください。階層が崩れ、アクセシビリティにも反します。セクションを閉じて上位レベルに戻るのは問題なく、禁止なのは下方向に飛ばすことだけです。

ルール3キーワードはH1とH2に

メインのクエリはH1に入れます。副次的なクエリとLSI用語はH2に入れます。H3以下は具体的な詳細を扱うため、キーワードを狙うことは優先しません。詰め込まず、1つの見出しに1つのクエリとします。

ルール4見出しはセクションを示すもので、装飾ではない

見出しタグは文字サイズを変えるための道具ではありません。文字を大きくしたいだけでH3を使うなら、<strong>かCSSクラスを使います。見出しを使うのは、新しい論理的なセクションが始まる場所だけです。

ルール5ボットではなく人のために書く

見出しは、ユーザーが一目で理解できる必要があります。「溶接作業服の選び方:4つの基準」は良い見出しです。「溶接 作業服 購入 特徴」は良くありません。自然な言葉のほうが、ユーザーにも検索エンジンにも伝わります。

見出し構造でよくある間違い

これらのエラーは、小さなブログから大規模なプラットフォームまで、ほとんどのサイトの監査で見つかります。

  • ページにH1が複数ある。大きなブロックをすべてH1で囲むビジュアルビルダーが原因になりがちです。Screaming Frogの「H1」→「Multiple」で見つかります。修正は、H1を1つ残し、残りをH2またはスタイルを付けた<div>に置き換えます。
  • 見出しを意味ではなく装飾に使っている。デザイナーが「ちょうどいいサイズに見える」という理由でH2とH3を飛ばしてH4を選んだ例です。クローラーにはH1→H4→H1→H4と見え、構造ではなく混乱が伝わります。
  • H1がない。リニューアルやCMS移行のあと、テンプレートからH1が消えることがあります。H1のないページは、ページ内で最も重要な関連性のシグナルを失います。
  • 全ページのH1がサイト名になっている。 CMSのテンプレートが会社名をH1に一括で出力しています。全ページが同じH1になり、サイト全体で重複し、関連性はゼロになります。
  • 入れ子で階層を飛ばしている。 H1→H3(H2がない)、H2→H4(H3がない)などです。スクリーンリーダーはエラーを通知し、クローラーは下位セクションの文脈を見失います。
  • 見出しタグの代わりに<p>や<div>を使っている。見た目は見出しでも、検索エンジンやスクリーンリーダーには見出しとして認識されません。古いテンプレートによくあります。
  • 見出しが長すぎる。 3文あるH2は見出しではなく段落です。見出しは一目で読み切れる長さにします。目安は4〜12語です。
見出し構造でよくある間違いのコード例です。
html
<!-- BAD: typical template with errors -->
<div class="title">Workwear catalogue</div>    <!-- not H1! -->
<h1>Acme Workwear Ltd</h1>                     <!-- H1 = company name -->
<h1>Winter workwear</h1>                       <!-- second H1 -->
<h3>Fire-resistant suits</h3>                  <!-- H2 skipped -->

<!-- GOOD: correct structure -->
<h1>Winter welders' workwear catalogue</h1>
  <h2>Fire-resistant suits</h2>
    <h3>Suits to EN ISO 11612</h3>
    <h3>Suits to ANSI Z49.1</h3>
  <h2>Protective masks and shields</h2>
見出しタグを文字の見た目を整えるために使わないでください。「H2の見た目が好きだから、ここで装飾として使おう」というのは、開発者やコンテンツ担当者がよくやる間違いです。見た目はCSSクラスで整えます。見出しは、文書の論理構造を示すためだけに使います。

見出し構造を監査するツール

ツール種類チェックできる内容無料
Screaming Frog SEO Spiderデスクトップサイト全体のH1〜H6:欠落、重複、長さ最大500 URLまで
Chrome DevTools(Elements)ブラウザー個別ページのセマンティクス、入れ子、見出しのidあり
HeadingsMap(Chrome/Firefox拡張機能)拡張機能ページの見出しマップをリアルタイムで表示あり
WAVE Web Accessibility Toolオンライン / 拡張機能アクセシビリティのエラー:階層の飛び、H1の欠落、順序の誤りあり
Netpeak Spiderデスクトップ大量クロール:サイト全体のH1〜H3、Excelへのエクスポートトライアル
Google Search Consoleオンライン間接的に確認:Googleがスニペットで使う見出しあり
Ahrefs Site AuditオンラインH1の欠落、H1の複数指定、H1とtitleの一致、見出しの長さ有料
手動での簡易チェックは次のとおりです。ページを開いてF12キーでコンソールを開き、$$('h1,h2,h3,h4,h5,h6').map(h => h.tagName + ': ' + h.textContent.trim())を入力します。ページ上の見出しが順番どおりに一覧で表示されます。
javascript
// Quick heading hierarchy check in the browser console
const headings = $$('h1,h2,h3,h4,h5,h6');
const report = headings.map(h => ({
  tag: h.tagName,
  text: h.textContent.trim().slice(0, 60)
}));
console.table(report);

// How many H1s are on the page?
const h1Count = $$('h1').length;
console.log(`H1 count: ${h1Count}`, h1Count === 1 ? '✓' : '✗ ERROR');

見出し構造のチェックリスト

H1

  • サイトの全ページにH1がちょうど1つある
  • H1にそのページのメインのターゲットクエリが含まれている
  • H1がtitleタグと意味で一致している(表現は違ってよい)
  • H1がテンプレートで重複せず、サイト全体で一意になっている
  • H1が空ではなく、画像だけでもなく、CSSで非表示にもなっていない

H2

  • H2がH1の次に、レベルを飛ばさず続いている
  • H2がそれぞれ、ページの異なる主要セクションを表している
  • H2に副次的なクエリとLSI用語が自然に(詰め込まずに)入っている
  • H2の書き方が強調スニペットの足がかりになる
  • 見た目のためだけのH2がなく、新しいテーマのセクションが始まる場所だけにある

H3〜H6

  • H3がH2の中に、H4がH3の中に入っている(下方向にレベルを飛ばしていない)
  • H4〜H6は、深い入れ子が本当に必要なときだけ使っている
  • 見た目のサイズを理由に、H2の代わりにH3〜H6を使っていない
  • 見出しだけをざっと読むと、論理的な目次として読める

アクセシビリティ

  • HeadingsMapまたはWAVE拡張機能で見出しの順序を確認した
  • すべての見出しが、スタイルを付けたdivではなく、意味を持つHTMLタグで実装されている
  • 非表示の見出しがない(display: none、visibility: hidden)
  • すべての見出しに意味のある内容があり、空の見出しやプレースホルダーがない
本文がなくても、見出しだけで論理的な目次として読めれば、方向は合っています。見出しだけを読んで各セクションの内容がわかり、読み進めるかどうか判断できる状態が理想です。

FAQ

監査やコンテンツチームのワークショップでよく出る、見出し構造についての質問をまとめました。

1ページに複数のH1を使えますか?
HTML5では、<section>要素ごとに複数のH1を置くことが形式上は認められています。これが「アウトラインアルゴリズム」です。ただ実際には、Googleもほとんどのスクリーンリーダーも、ページをフラットな文書として処理し、複数のH1をエラーとして扱います。実務では、1ページにH1は1つとします。
見出しの数はSEOに影響しますか?
「見出しが多いほど良い」という直接の関係はありません。大切なのは数ではなく構造です。よく書けたH2が3つあるページは、意味のないH2が20個あるページより評価されます。見出しの数は、内容の量と論理に合わせます。
すべての見出しにid属性が必要ですか?
SEOでは必須ではありませんが、あると便利です。見出しのidでアンカーリンク(/page#section)ができ、ユーザーが使いやすくなり、ディープリンクも可能になります。強調スニペットでは、Googleがアンカー付きのURLを使うことがあります。CMSやSSG(Next.js、Gatsby)は、通常idを自動で生成します。
H2やH3が、それぞれ独自のクエリで上位表示されることはありますか?
はい。H2とH3は、副次的なクエリやロングテールのクエリで上位表示される候補です。URL全体が別のクエリで表示されていても、Googleは個別のH2を強調スニペットや「他の人はこちらも質問」に表示することがあります。長文のガイドでは特に有効です。
ロゴやナビゲーションのマークアップはどうすればよいですか?
ロゴ、ナビゲーション、ページヘッダーはコンテンツの見出しではありません。サイトヘッダーの会社名、メニュー項目、ボタンのラベルにH1〜H6を使わないでください。適切なスタイルを付けた<a>、<nav>、<span>、<p>を使います。H1は、ページのメインコンテンツ内で最初に出てくる見出しにします。

Check it with SpiderHead

Free and local: run the audit on your own machine.

Try it