2026年6月2日
2026年6月2日
WordPressの目次(TOC)プラグイン比較|Easy Table of Contentsほか主要プラグインとテーマ標準機能の選び方
WordPress の記事に目次を付ける方法は、「テーマに付いている目次機能を使う」「目次プラグインを入れる」「見出しにアンカーを付けて手作業で作る」の3つです。日本製の人気テーマを使っているなら、まずテーマの目次機能で足りるかを確認し、足りない場合や海外テーマを使っている場合に Easy Table of Contents などのプラグインを検討する、という順番が無駄の少ない進め方です。この記事では、主要な目次プラグインの違い、テーマ標準機能との重複を避ける方法、導入後に確認すべき表示の不具合までを説明します。
まずテーマの目次機能を確認する
SWELL や Cocoon をはじめ、日本製の WordPress テーマの多くは目次の自動挿入機能を備えています。テーマの目次はデザインがテーマと揃っており、追加のプラグインを入れずに済むため、管理する部品が増えないのが利点です。
注意したいのは、テーマの目次機能を有効にしたまま目次プラグインを入れると、記事内に目次が2つ表示されることです。プラグインを使うと決めたら、テーマ側の目次機能を「表示しない」に切り替えてください。どこで設定するかはテーマによって異なり、カスタマイザーの中にある場合とテーマ独自の設定画面にある場合があります。
なお、WordPress 本体のブロックエディターには、目次を自動生成するブロックは標準では含まれていません(2026年10月現在)。そのためテーマかプラグインに頼るか、手作業で作ることになります。
主要な目次プラグインの比較
代表的な目次プラグインの方向性は次のとおりです。
| 方法 | 目次の作り方 | 強み | 向いているケース |
|---|---|---|---|
| テーマの目次機能 | 自動挿入(テーマ設定) | デザインがテーマと揃う。プラグイン不要 | 日本製テーマを使っていて、標準の見た目で足りる |
| Easy Table of Contents | 自動挿入、ショートコード、ウィジェット | 挿入条件や対象の見出しレベルを細かく設定できる | 海外テーマを使っている、細かい制御がしたい |
| Rich Table of Contents | 自動挿入、ブロック | デザインのプリセットが多く、日本語ブログで使われることが多い | 見た目を手早く整えたい |
| LuckyWP Table of Contents | 自動挿入、ブロック、ショートコード | 投稿ごとに目次の有無や設定を変えやすい | 記事ごとに目次の扱いを変えたい |
| 手作業(HTMLアンカー) | 見出しにアンカーを付け、リストでリンク | プラグイン不要で自由に構成できる | 目次が必要な記事が少ない |
いずれも無料で使える範囲が広いプラグインですが、配布状況や更新頻度は変わります。導入前に WordPress.org のプラグインページで最終更新日と、検証済みの WordPress バージョンを確認してください。長く更新が止まっているプラグインは、将来の WordPress 更新で表示が崩れたり、セキュリティ上の問題が放置されたりするおそれがあります。
Easy Table of Contents
利用者が多い定番の目次プラグインです。「見出しがいくつ以上あるときに表示するか」「どの投稿タイプに挿入するか」「どの見出しレベルを目次に含めるか」といった条件を管理画面で決められ、サイドバー用のウィジェットも用意されています。設定項目が多いぶん、最初は既定値のまま表示を確認し、必要な項目だけを変えていくと迷いにくくなります。
Rich Table of Contents
目次のデザインを複数のプリセットから選べるプラグインで、日本語のブログで使われる例をよく見かけます。テーマの目次機能のデザインが物足りないときの代替として検討しやすい選択肢です。
LuckyWP Table of Contents
ブロックやショートコードで記事の好きな位置に目次を置けるほか、自動挿入にも対応しています。記事ごとに目次を出す・出さないを切り替える運用に向いています。更新頻度はプラグインによって差があるため、ここでも最終更新日の確認を欠かさないでください。
選ぶときに確認したいポイント
- 対象にする見出しレベル: h2 と h3 までにするのが一般的です。h4 以下まで含めると目次が長くなり、かえって探しにくくなります。
- 自動挿入の条件: 短い記事にまで目次が出ると読みにくくなります。「見出しが一定数以上のときだけ表示」などの条件を設定できるかを確認します。
- アンカー(リンク先 ID)の作り方: 見出しの文字列から ID を作る方式では、日本語の見出しが URL エンコードされて長い ID になることがあります。目次のリンクを SNS などで共有する予定があるなら、どのような ID が付くかを確認しておきます。
- 読み込む CSS と JavaScript: 開閉ボタンやスムーズスクロールのためにファイルを読み込むプラグインもあります。表示速度への影響は小さいことが多いものの、気になる場合は導入前後で PageSpeed Insights の結果を比べてください。
- 日本語での表示: 「目次」「表示」「非表示」などのラベルが英語のまま出る場合は、設定画面の見出しテキストを書き換えられるかを確認します。
導入後によくある表示の不具合
目次が2つ表示される
テーマの目次機能とプラグインの両方が有効になっているのが主な原因です。どちらか一方を止めてください。目次ブロックを手動で置いた記事に自動挿入も重なっている場合も同じ症状になります。
目次をクリックすると見出しが固定ヘッダーに隠れる
上部に固定ヘッダーがあるテーマでは、ジャンプ先の見出しがヘッダーの下に潜り込むことがあります。プラグインにスクロール位置のずれを調整する設定があればそれを使い、なければ子テーマの CSS かカスタマイザーの「追加 CSS」で、見出しの上に余白を確保します。
/* ジャンプ先の見出しを固定ヘッダーの高さ分だけ下げて表示する */
h2[id],
h3[id] {
scroll-margin-top: 80px; /* 固定ヘッダーの高さに合わせて調整 */
}
目次に一部の見出しが出ない
ページビルダーやカスタムブロックの中の見出しは、プラグインが検出できない場合があります。また、目次に含める見出しレベルの設定から外れている可能性もあります。設定を見直し、それでも出ない場合は、その記事だけ手動で目次を作るのが確実な回避策です。
プラグインを使わずに目次を作る方法
目次が必要な記事が少ないなら、プラグインを入れずに作ることもできます。ブロックエディターで見出しブロックを選び、右側の設定パネルの「高度な設定」にある「HTML アンカー」に英数字の ID(例: setup-step1)を入力します。次に、記事の冒頭にリストブロックを置き、各項目に #setup-step1 のようなリンクを設定すれば目次になります。手間はかかりますが、余計なファイルを読み込まず、ID も自分で管理できます。
まとめ
- 日本製テーマを使っているなら、まずテーマの目次機能で足りるかを確認する
- プラグインを使うなら Easy Table of Contents、Rich Table of Contents、LuckyWP Table of Contents が代表的な候補
- テーマとプラグインの目次機能を同時に有効にしない
- WordPress.org の最終更新日と互換性を導入前に確認する
- 固定ヘッダーで見出しが隠れる場合は scroll-margin-top で余白を確保する