「WordPressで目次を付けたいけど、プラグインをこれ以上増やしたくない」 「プラグインなしのやり方を調べたら、コピペするコードが出てきた。貼ればいいの?」 「目次は作れたけど、クリックしても飛ばない」
3つ目で止まっている人は、目次そのものではなく「見出し側」の話を読んでください。この記事はそこから始めます。
先に結論です。プラグインなしで目次を作る記事はたくさんありますが、そのほとんどは「このコードをコピペしてください」で終わっています。ところが実際に運営してみると、詰まるのはコードではありませんでした。詰まったのは次の2つです。
- 目次の本体は、目次そのものではなく「見出しに振られた番号(id)」のほうだった
- 毎回コピペで貼る運用にすると、必ずどこかで貼り忘れる
筆者のブログは現在公開110記事あります。そのうち109記事に目次が入っていて、貼り忘れが1記事あります。目次の中のリンクは全部で3,209本ありますが、飛ばないリンクは0本です。これはがんばって手で貼った結果ではなく、記事を公開する工程の中で自動的に入るようにした結果です。
筆者は40代の会社員(非エンジニア)です。プログラムは書けません。この記事では、コピペで貼る方法との違いも含めて、「毎回勝手に目次が入る状態」の作り方を、専門用語を噛み砕いて説明します。
※ 本記事は Claude Code(筆者が使用中のAIアシスタント)が筆者の実体験を元に執筆しています。
この記事はこんな方向け
- プラグインの数をこれ以上増やしたくない人
- コピペのコードを貼ったのに、目次から飛ばない人
- テーマの目次機能を使っているが、テーマを乗り換えたときが不安な人
- 記事数が増えてきて、毎回同じ作業をするのが限界になってきた人
🎬 この記事に登場するキャラ
- 社長 — 筆者本人(40代・副業で複数の事業を運営)
- 凛 — 姉御肌の相棒。甘えを許さない
- 策 — 冷静な軍師。手順に落とす担当
- Claude — AIアシスタント。実測値を出す担当
社長:「目次のプラグイン、入れるかどうかで1週間悩んでるんだよ。」
凛:「1週間。……で、調べたら『プラグインなしでもコピペでできます』って出てきたんでしょ。」
社長:「そうそう。貼ってみたんだよ。目次っぽいのは出た。でもクリックしても動かないんだ。」
策:「それは目次のコードの問題ではありません。飛び先が用意されていないだけです。目次はリンクなので、飛び先がなければ何も起きません。」
凛:「つまり、あんたが貼ったのは行き先が書いてない案内板。そりゃ動かないわよ。」
📌 目次(クリックでジャンプ)
1. 【問題提起】プラグインなしの目次でつまずく本当の理由
1-1. 目次の正体は「案内板」ではなく「番号札」
まず用語を1つだけ噛み砕きます。id(アイディー)とは、ページの中の1か所に付ける番号札のことです。「ここは3番」と札を下げておくイメージで、ページの中で重複しない名前を1つ持たせます。

目次のリンクは、この番号札を指して「3番へ行け」と書いているだけです。つまり、目次が動くために必要なものは2つあります。
| 必要なもの | 役割 | 無いとどうなる |
|---|---|---|
| 見出しに付いた番号札(id) | 飛び先そのもの | クリックしても何も起きない |
| 目次のリンク(#番号) | 案内板 | 目次が表示されない |
コピペで配られているコードは、このうち案内板のほうだけを作るものが少なくありません。見出しに番号札を付ける処理が入っていないと、リンクは作られても飛び先が存在しないので、押しても動きません。「目次は出たのに飛ばない」の正体はこれです。
1-2. コピペ運用は「作れる」が「続かない」
もう1つ、記事を書き続けると効いてくる問題があります。コピペは1記事ぶんの解決にしかならないことです。
コピペで目次を入れる方法は、大きく2通りに分かれます。
- 記事ごとに貼るタイプ(その記事の見出しに合わせて手で書く)
- テーマの追加コード欄にまとめて貼るタイプ(全記事に効かせる)
前者は、記事を書くたびに人間が1工程ふえます。見出しを1つ増やしたら目次も直す、順番を入れ替えたら目次も入れ替える。これを毎回やるわけです。
そして、増えた工程は必ずどこかで抜けます。筆者のブログの実測がまさにそれで、公開110記事のうち1記事だけ目次が入っていません。その1記事は、いつもの手順を通さずに単発で公開したものでした。1本だけ手作業を挟むと、その1本が抜けます。
社長:「110本中1本か。まあ1本くらい……いや、よく考えたらその1本が抜けたことに今まで気づいてないのがマズいな。」
Claude:「はい。目次が無くてもエラーにはなりません。ページは正常に表示されます。抜けたことを知らせてくれる仕組みが無いのが、この種の作業の共通点です。」
凛:「まとめて何かをやる作業って全部これなの。失敗が静かなの。」
1-3. テーマの目次機能に任せると、乗り換えのときに消える
「そもそもテーマに目次機能があるから、それでいいのでは」という話もあります。実際、目次機能を持つテーマは多く、それで足りる人はそれが一番手軽です。
ただし1つだけ知っておいてほしいことがあります。テーマの目次は、そのテーマを使っている間だけ出るものです。記事の中に目次が保存されているわけではなく、表示するときにテーマが作っています。
筆者は2026年5月にテーマを乗り換えました。このとき、記事の中に目次が入っている方式だったので、目次はそのまま残りました。表示側に任せていたら、乗り換えた瞬間に110記事ぶんの目次が全部やり直しになっていたはずです。
- テーマが作る目次 — 手軽。ただしテーマを替えると消える
- 記事の中に入っている目次 — 記事と一緒に引っ越す。テーマを替えても残る
どちらが正しいという話ではありません。長く続ける前提なら後者が安全、というだけです。
2. 【AI導入で変わった】目次を「作る作業」から「公開の工程」に変える
2-1. 発想を変える:目次は書くものではなく、出るもの
やったことは単純です。記事を公開する処理の中に、目次を作る処理を差し込んだ。それだけです。
記事の本文には目次を書きません。書くのは見出しだけです。公開のボタンを押した時点で、次の3つが自動で起きます。
- 本文にあるすべての見出しに番号札(id)を順番に付ける
- その番号札をたどって目次のリンク一覧を組み立てる
- 組み立てた目次を最初の大見出しの直前に差し込む
人間がやることは「見出しを書く」だけに戻ります。見出しを増やしても、順番を入れ替えても、目次は次の公開のときに勝手に作り直されます。直す作業そのものが消えます。
2-2. 非エンジニアがAIに頼むときの言い方
ここが本題です。筆者はコードが書けないので、この処理はAIに書いてもらいました。頼み方は日本語でこれだけです。
ブログ記事のHTMLを渡すので、次の3つをやってください。
1. 記事の中の大見出し(h2)と中見出し(h3)に、上から順に toc-1, toc-2 ... という
id を付けてください
2. その見出しの一覧から、クリックすると各見出しへ飛ぶ目次のリストを作ってください
大見出しは外側、中見出しはその中に入れ子にしてください
3. 作った目次を、最初の大見出しのすぐ前に入れてください
(リード文より前には入れないでください)
大事なのは、「目次を作って」だけで頼まないことです。それだと1-1で書いた「案内板だけ」が返ってきます。番号札を付ける工程を、独立した1番目としてはっきり書く。ここが非エンジニアが自分で気づきにくい分かれ目でした。
社長:「これ、俺には思いつかんぞ。『目次を作って』しか言えん。」
策:「そこは自然です。ただ「押しても飛ばない」という症状を伝えれば、AIの側から番号札の話が出てきます。分からないなら、うまく頼もうとせずに症状をそのまま言うのが早いです。」
凛:「知らないことを知ってるふりして頼むのが、一番遠回りなのよ。」
2-3. 目次に入れる範囲を決めておく
もう1つ、実際に運用して分かった細かい話です。記事の全部の見出しを目次に入れると、目次が汚れます。
筆者の記事には、本題に入る前に「この記事はこんな方向け」「登場するキャラ」といった案内の見出しが入っています。これを目次に入れると、目次の一番上が本題と関係ない項目で埋まります。
そこで、最初の大見出しより前にある見出しは、目次に載せないというルールにしました。番号札自体は全部の見出しに付けますが、目次のリストには載せません。読者が目次で探しているのは本題だからです。
3. 【具体例】110記事に自動で入れて分かった3つのこと
実際にこの方式で運用した実測値を出します。集計対象は公開済み110記事です。

3-1. 実測:目次109記事・見出し3,209本・飛ばないリンク0本
| 項目 | 実測値 |
|---|---|
| 公開記事数 | 110記事 |
| 目次が入っている記事 | 109記事(貼り忘れ1記事) |
| 目次に載っている見出しの総数 | 3,209本 |
| リンク先が存在しない(飛ばない)リンク | 0本 |
| 1記事あたりの大見出し | 平均 7.2個(最大15個) |
| 1記事あたりの中見出し | 平均 22.0個(最大44個) |
注目してほしいのは飛ばないリンクが0本というところです。番号札を付ける処理と目次を作る処理が同じ場所で、同じ順番で動いているので、ズレようがありません。手で貼っていたら、3,209本の中に必ず何本か混ざります。
そしてもう1つ。1記事あたりの見出しは平均29個あります。これを手で目次にするのは、正直やっていられません。プラグインを使わない選択をするなら、手で貼らない前提にしないと続きません。
3-2. 「テーマの目次」と二重に出ないようにする
つまずいたのはここでした。記事の中に自前の目次を入れると、テーマの目次機能と合わせて目次が2つ表示されることがあります。読者から見れば同じものが2回並ぶので、単純に邪魔です。
対処はどちらかを止めるだけです。筆者はテーマ側の目次表示をオフにして、記事の中の目次だけを出す形にしました。どちらを残すかは好みですが、両方出ている状態だけは避けてください。
3-3. スマホでは「最初の見出しの前」だけでは足りなかった
目次は最初の大見出しの直前に入っています。パソコンではこれで十分でした。ところがスマホで読むと、記事の後半まで進んだ読者は、目次まで戻るのに延々と上へスクロールすることになります。
そこで、スマホのメニュー(画面の端から出てくる引き出しのような部分)に、記事の目次を複製して表示するようにしました。これも仕組みは単純で、「ページの中に目次があったら、それをコピーしてメニューの中に入れる」という指示を1つ足しただけです。プラグインは使っていません。
読者は記事のどこにいても、メニューを開けば目次に戻れます。目次を置く場所の問題は、目次を作る問題とは別でした。
社長:「言われてみりゃ、俺もスマホで読むとき目次まで戻らんわ。戻るのが面倒で、そのまま閉じてる。」
凛:「そこよ。目次は入れた時点で終わりじゃなくて、読者が使える場所にあって初めて意味があるの。」
Claude:「補足します。目次を作る処理は公開のときに1回動くだけですが、メニューへの複製は読者がページを開くたびに動きます。動くタイミングが違うので、別々に用意する必要があります。」
4. 【じゃあどうやる?】プラグインなしで目次を自動で入れる5ステップ
ここからは実際の手順です。コードを書ける必要はありません。AIに頼む前提で書きます。

Step 1. 先に、いまの状態を数える
作業の前に必ずやってください。公開している記事が何本あって、そのうち目次が入っているのが何本かを数えます。
数え方は「自分のブログの記事一覧を出して、目次が入っているかどうかを1本ずつ確認して、本数を教えて」とAIに頼めば出ます。ここで出た数字が、あとで答え合わせに使う基準になります。筆者の場合は110本中0本からのスタートでした。
Step 2. 見出しに番号札を付ける処理を先に作る
1-1のとおり、番号札が先です。目次から作ると、飛び先の無い目次ができます。
「記事の大見出しと中見出しに、上から順に番号札(id)を付けてください」と頼みます。この時点で見た目は何も変わりません。見た目が変わらないのが正常です。
Step 3. 番号札から目次を組み立てる
次に目次です。「その番号札をたどって、クリックで飛ぶ目次を作ってください。大見出しの下に中見出しを入れ子にしてください」と頼みます。
ここで入れ子にすると指定するのを忘れないでください。指定しないと、大見出しも中見出しも同じ並びで29個ずらっと出て、かえって読みにくくなります。
Step 4. 公開の工程に組み込む
ここが一番大事です。作った処理を、記事を公開する手順の中に入れます。「記事を公開するときに、必ずこの目次の処理を通してから公開する」という形にします。
これをやらずに「必要なときに手で動かす」運用にすると、1-2の1記事のように、いつか必ず抜けます。人間が思い出す前提の手順は、思い出せなかった日に壊れます。
Step 5. もう一度数える
公開したあと、Step 1と同じ数え方でもう一度数えます。見るのは2つです。
- 目次が入っている記事の本数が、記事の本数と一致しているか
- 目次の中のリンクで、飛び先が存在しないものが0本か
2つ目が本命です。飛ばないリンクは、開いてクリックするまで誰も気づきません。数える工程を入れて、初めて「静かな失敗」が音を立てます。
社長:「また『先に数えて、後で数える』だ。」
凛:「毎回言ってるでしょ。まとめてやる作業のこわいポイントは、作業が違っても同じなの。」
策:「補足すると、この5つのうち目次を作っているのはStep 3だけです。残りの4つは、抜けや壊れを見つけるための工程です。」
5. よくある質問(FAQ)
Q. プラグインを使うのと、どちらが正解ですか? A. 記事数が少なくて、テーマを当分替えないなら、プラグインでもテーマ機能でも十分です。この記事の方式が効いてくるのは、記事数が増えて手作業が限界になってからと、テーマを乗り換えるときです。
Q. コピペのコードを貼るだけではダメですか? A. ダメではありません。見出しに番号札を付ける処理が含まれているコードなら動きます。押しても飛ばない場合は、そこが入っていないと考えて間違いないです。
Q. 目次が2つ出てしまいました。 A. テーマの目次機能と、記事の中の目次の両方が出ています。どちらかをオフにしてください。記事の中に入っているほうを残すと、テーマを替えても残ります。
Q. 番号札は日本語の見出しそのままではダメですか? A. 動く場合もありますが、通し番号のほうが安全です。見出しの文字をそのまま使うと、同じ見出しが2つあったときに番号札が重複して、片方に飛べなくなります。
Q. 既に公開している記事にも、あとから入れられますか? A. 入れられます。ただし公開済みの記事の本文を書き換える作業になるので、先にバックアップを取ってから、まず1本だけ試して表示を確認してください。いきなり全記事に流さないでください。
Q. 目次はどこに置くのが良いですか? A. 筆者は最初の大見出しの直前にしています。リード文を読んでから目次を見る流れが自然だからです。あわせて、スマホのメニューにも複製しています(3-3)。
6. まとめ|目次より先に、見出しに番号札を付ける
社長:「『目次が飛ばない』って1週間悩んでたけど、原因は目次じゃなかったんだな。」
凛:「そう。目次は結果で、原因は見出しの側。症状だけ見て道具を替えても直らないの。」
策:「そしてもう1つ。貼る運用をやめて、公開の工程に入れたのが本当の解決でした。1記事ぶんの正解と、110記事ぶんの正解は別物です。」
Claude:「実測を再掲します。公開110記事、目次あり109記事、目次のリンク3,209本、飛ばないリンク0本。抜けた1記事は、いつもの工程を通さずに公開したものでした。」
この記事で伝えたかったことは3つです。
- 目次が飛ばないのは、見出しに番号札(id)が付いていないから。目次のコードの問題ではない
- 1記事ぶんのコピペと、100記事ぶんの仕組みは別物。毎回貼る運用は、いつか必ず1本抜ける
- 記事の中に目次が入っていれば、テーマを乗り換えても残る。表示側に任せると乗り換えで消える
プラグインを使うかどうかは、正直どちらでもいいと思っています。ただ、目次を「毎回貼るもの」だと思っている間は、記事が増えるほどしんどくなります。目次は書くものではなく、公開すれば出るものにできます。そこだけ先に変えておくと、あとが楽です。
次に読むべき記事
- Claude Code副業の始め方と実践事例 — この記事の前提になっている、AIに繰り返し作業を任せる考え方の総まとめ
- Claude Codeで内部リンクを一括設置する方法 — 同じ「記事の中のリンク」を、記事をまたいで整える側の話
- WordPressのメタディスクリプションを一括設定する方法 — 1本ずつ開かずに直す、という同じ考え方の別作業
- WordPressで一括置換する方法 — 公開済みの本文をまとめて書き換えるときの注意点(FAQの最後で触れた話)
- WordPressのタグを一括変更する方法 — 「まとめてできること・できないこと」を見分けるシリーズの1本
※ 本記事は Claude Code(筆者が使用中のAIアシスタント)自身が、筆者の実体験を元に執筆しています。 ※ 本記事にはアフィリエイトリンクが含まれます。


