How to Add a Table of Contents to Blog Posts for SEO: Methods and Jump Link Setup

by | Nov 10, 2026 | 0 comments

A table of contents looks like a small formatting detail. In practice, it changes how people move through a long article, how long they stay, and sometimes how your result looks on Google’s search page. That is why table of contents SEO keeps coming up in forums, Reddit threads and daily SEO tip posts: people want to know whether a TOC is a ranking trick or just a nice-to-have.

Short answer: it is not a direct ranking factor, but it is one of the cheapest ways to improve on-page behaviour, win jump links in search results, and tighten your internal navigation. This guide shows you exactly what a TOC does, three ways to build one in WordPress, and the rules that tell you when a table of contents helps and when it just clutters a short post.

What a table of contents actually does for SEO

A TOC is a list of clickable links at the top of your article, each one pointing to a heading further down the page. The links are anchor links (also called jump links) that use an HTML id on the target heading.

Here is what that structure buys you.

1. Jump links (sitelinks) in Google search results

When a page is well structured with headings and anchors, Google can display extra links under your blue title that send users straight to a specific section. You may also see a “Jump to” label on a featured snippet. You cannot force this, and Google decides case by case, but pages with clean, named anchors are the ones eligible for it.

Why it matters for clicks: a result that shows three sub-links takes more vertical space in the SERP and answers a more specific need, so it tends to attract a better click-through rate than a single-line result.

2. Engagement time and “dwell time”

A 2,500-word guide is intimidating on a phone. A TOC turns that wall of text into a menu. Readers scan it, pick the part they came for, and land there in one tap instead of bouncing back to the results page. The practical effects you can measure:

  • Lower pogo-sticking back to Google
  • Higher average engagement time per session
  • Better scroll depth on long pieces
  • More interaction events, since each TOC click is a user action

3. Internal navigation and crawlability

A TOC forces you to look at your own heading structure. If the list reads badly, the article is badly organised. On top of that, section anchors give you reusable deep links: you can point an internal link from another blog post straight to /guide/#pricing instead of dumping the reader at the top of a long page.

4. A head start for AI summaries and answer engines

Chunked, clearly labelled sections are easier for any extraction system to parse, whether it is a Google snippet, an AI overview or an assistant. A TOC does not create that structure by itself, but it is the visible proof that the structure exists. The team at sitecentre.com.au reached a similar conclusion.

table of contents

Direct ranking factor or indirect benefit?

This is the exact question that fills SEO forums, so let’s be blunt about it.

Claim Reality
“A TOC boosts rankings directly” No. There is no documented ranking signal for the presence of a table of contents.
“A TOC can get you jump links in the SERP” Yes, it makes your page eligible. Google still decides whether to show them.
“A TOC improves user signals” Usually, on long content. It reduces friction and makes long pages less daunting.
“Add a TOC to every post” No. On short posts it pushes the answer below the fold and adds noise.

So the honest framing is: indirect benefit, real impact, zero risk when done properly.

Step zero: fix your headings before you build the TOC

A table of contents is only as good as the heading structure underneath it. Do this first:

  1. One H1 per page (your post title).
  2. Main sections in H2, sub-sections in H3, details in H4. Never skip a level for styling reasons.
  3. Write headings as answers or tasks, not as teasers. “How to add jump links manually” beats “The fun part”.
  4. Put secondary keywords and natural questions into headings, since those become your anchor text.
  5. Keep each heading under about 60 characters so the TOC stays readable on mobile.
table of contents

Method 1: manual anchor links (full control, no plugin)

The classic method. You add an id attribute to each heading, then build a list of links pointing to those IDs.

Step by step

  1. Open your post in the Code editor (or use the “HTML anchor” field in the block settings of each heading block).
  2. Give every H2 you want to list a short, lowercase, hyphenated ID.
  3. Build an unordered list at the top of the article with links to those IDs.
  4. Preview on mobile and test every link.

The code

<h2 id="what-is-a-toc">What is a table of contents</h2>
<h2 id="manual-anchor-links">Manual anchor links</h2>
<h2 id="wordpress-plugins">WordPress plugins</h2>

<div class="toc-box">
  <p><strong>In this article</strong></p>
  <ul>
    <li><a href="#what-is-a-toc">What is a table of contents</a></li>
    <li><a href="#manual-anchor-links">Manual anchor links</a></li>
    <li><a href="#wordpress-plugins">WordPress plugins</a></li>
  </ul>
</div>

The one CSS line everybody forgets

If your theme has a sticky header, the jump link will hide the heading behind it. Fix it with:

h2, h3, h4 { scroll-margin-top: 100px; }
html { scroll-behavior: smooth; }

Best for: pillar pages, cornerstone guides, landing pages where you want pixel control.
Downside: if you edit a heading later, you have to remember to update the link.

Method 2: a WordPress plugin (automatic and scalable)

If you publish often, a plugin that generates the TOC from your headings saves hours and never breaks when you reorder sections.

Popular options

  • Easy Table of Contents and LuckyWP Table of Contents: classic standalone plugins with per-post-type rules and heading-depth settings.
  • SimpleTOC: a lightweight block that outputs clean HTML with no extra CSS or JavaScript bloat.
  • Rank Math and Yoast SEO: both ship a table of contents block inside your existing SEO plugin, so no extra install.
  • Block libraries (Kadence Blocks, Ultimate Blocks, Spectra): include a TOC block with sticky and collapsible options.

Settings to get right

  1. Auto-insert rules: enable on posts only, not on pages, products or short announcements.
  2. Minimum headings: set the trigger to 4 or 5 headings so short posts never get a TOC.
  3. Heading depth: H2 and H3 only. Going down to H4 produces an unreadable list.
  4. Position: after the first or second paragraph, so the reader gets context before the menu.
  5. No JavaScript-only rendering: if the TOC is injected client side and the IDs do not exist in the HTML, search engines may not see the anchors.
  6. Do not nofollow the links. They are same-page links, there is nothing to protect.

Best for: blogs with dozens or hundreds of posts and multiple authors.
Downside: one more plugin to maintain, and some add CSS or JS weight.

Method 3: the block editor route (native, no extra plugin)

The WordPress block editor already gives you two clean ways to build jump links without touching code.

Option A: the Table of Contents block

Many block themes and modern block libraries expose a Table of Contents block that reads your document outline automatically. Insert it near the top, choose which heading levels to include, and it updates as you write. Check the front end once published, because some implementations only render correctly after saving.

Option B: list block + HTML anchors

This works on any WordPress install, today, with zero dependencies:

  1. Click a heading block, open the sidebar, go to Advanced, and fill the HTML anchor field (for example pricing-rules).
  2. Repeat for every section you want to list.
  3. Add a List block at the top of the post.
  4. Type each section name, select it, press Ctrl/Cmd + K and enter #pricing-rules.
  5. Optionally wrap the list in a Group block with a background colour so it looks like a real TOC box.

Best for: writers who want a native look without plugins.
Downside: still manual, so it needs discipline when editing old posts.

table of contents

Which method should you choose?

Criteria Manual anchors Plugin Block editor
Setup time per post 5 to 10 minutes 0 (automatic) 3 to 5 minutes
Technical skill needed Basic HTML None None
Design control Total Limited to settings Good
Stays in sync with edits No Yes Partly
Performance impact None Small to moderate None to small
Bulk rollout on old posts Painful Instant Painful

Rule of thumb: plugin for the blog archive, manual anchors for your five or six money pages.

When a table of contents helps rankings and when it clutters the page

This is where most sites get table of contents SEO wrong. A TOC is a navigation tool, not a decoration.

Add a TOC when

  • The post is roughly 1,200 words or more and has at least 4 or 5 H2 sections.
  • The content is a how-to, a tutorial, a comparison, a glossary or documentation, where readers arrive with one precise question.
  • Different sections target different long-tail queries that could each earn a jump link.
  • The page is a pillar or hub that people revisit to find one specific part.
  • Mobile traffic is heavy and scrolling to section seven would take forever.

Skip the TOC when

  • The post is under about 800 words or has fewer than four headings. The list becomes longer than the content it describes.
  • It is a news item, a short update or an opinion piece meant to be read top to bottom.
  • The article is a narrative or a story where jumping ahead destroys the flow.
  • The page is a conversion landing page and the TOC would push your offer below the fold.
  • The headings are vague (“Let’s dig in”, “The big surprise”), which makes the TOC useless anyway. Fix the headings first.

Design rules that keep it clean

  1. Keep it to 5 to 12 entries. More than that, collapse the H3 level.
  2. Maximum two levels of depth.
  3. On mobile, make it collapsible (a simple details/summary element works and needs no JavaScript).
  4. Label it plainly: “Table of contents”, “In this article” or “What you will learn”.
  5. Use real text links, not buttons built with JavaScript handlers.
  6. If you use a sticky sidebar TOC on desktop, make sure it does not cover content on tablets.

Common mistakes to avoid

  • Duplicate IDs on the same page. The browser jumps to the first one and the rest silently fail.
  • IDs with spaces, accents or capitals. Stick to lowercase and hyphens.
  • Changing a heading and forgetting the anchor, which breaks any external deep link pointing to it.
  • Stuffing keywords into headings so the TOC reads like a keyword list. Google reads that list too.
  • Faking structure with styled paragraphs instead of real heading tags.
  • Adding ItemList schema for the TOC. There is no table of contents structured data type for articles, so skip it.
  • Heavy plugins that load jQuery just to scroll a page. Watch your Core Web Vitals.
table of contents

How to measure whether your TOC is working

Do not guess. Give it 4 to 8 weeks after rollout and compare:

  1. Google Search Console: impressions and CTR for the affected URLs, before and after. A CTR lift often signals that jump links are showing.
  2. GA4: average engagement time per session and scroll events on long-form URLs.
  3. Click tracking: tag TOC links as outbound-style events to see which section people want most. That tells you what to expand next.
  4. Manual SERP check: search your exact title and look for sub-links under the result.

If one TOC entry gets 60% of the clicks, that section probably deserves its own dedicated article, with an internal link from the parent page.

Quick implementation checklist

  • Post is long enough and has 4+ real H2 sections
  • Headings are descriptive and ordered logically
  • Every listed heading has a unique, lowercase, hyphenated anchor ID
  • TOC sits after the intro, not before it
  • Maximum two heading levels, 5 to 12 entries
  • Collapsible on mobile
  • scroll-margin-top set so sticky headers do not hide the target
  • All links tested on desktop and mobile
  • No nofollow, no JavaScript-only anchors, no TOC schema

FAQ

Is a table of contents a Google ranking factor?

No, not directly. The benefit is indirect: better navigation, better engagement signals on long pages, and eligibility for jump links in search results. None of that works if the content itself is weak.

Will Google always show jump links if I add a TOC?

No. Google decides algorithmically, based on the query, the page structure and whether the sections genuinely answer different sub-questions. Clean anchors make you eligible, nothing more.

How long should an article be before it needs a TOC?

As a practical threshold, around 1,200 words with at least four or five H2 sections. Under 800 words, a TOC usually hurts more than it helps.

Should the TOC go above or below the introduction?

Below a short introduction. Give the reader one or two paragraphs of context first, then the menu. Putting it above the first line pushes your answer off the screen on mobile.

Do TOC links pass internal link value?

They are same-page fragment links, so there is no PageRank to pass between separate URLs. Their value is usability and section discoverability, not link equity.

Plugin or manual anchors, which is better for SEO?

Both produce the same HTML when configured well. Choose a plugin for consistency across a large blog, and manual anchors when you want precise control on key pages. What matters is that the IDs exist in the server-rendered HTML.

Can a table of contents slow down my page?

A heavy plugin can, especially if it loads extra scripts and stylesheets on every post. Test with PageSpeed Insights before and after, and prefer lightweight blocks or plain HTML lists. There is a detailed walkthrough elsewhere.

Final word

Treat the table of contents as what it is: a navigation layer that makes long content usable. Build the structure first, add the anchors second, and only ship a TOC on posts long enough to need one. Done that way, table of contents SEO costs you ten minutes per article and quietly improves clicks, reading time and the way your deep sections surface in search.

Search

Recent Posts

Subscribe now