SKR Tips logo SKR TipsWebsite tips that actually work
WordPress

How to Add a WordPress Table of Contents to Long Guides

Your boss guide runs to 4,000 words, and readers who only want phase three scroll past everything else, give up, and go back to the search results.

A laptop on a desk showing a long game guide page with a boxed list of section links at the top, a game controller and notebook beside it

Your boss guide runs to 4,000 words, and readers who only want phase three scroll past everything else, give up, and go back to the search results. A WordPress table of contents fixes that by putting a clickable list of sections at the top, so people jump straight to the part they came for.

It sounds like a small thing, and it is. But on a game guide site, where a single page might cover twelve bosses or forty item locations, it changes how long people stay and how often they come back. This walkthrough covers three ways to add one, how to set it up so it does not break, and when you should skip it.

What a WordPress table of contents actually does

A table of contents reads the headings in your post, usually the h2 and h3 tags, and builds a list of links to them. Each heading gets an anchor, which is a short name added to the end of the URL, so a link like /elden-ring-boss-guide#malenia takes the reader straight to that section.

Three things come out of this. Readers find the right section faster. You can share a link to one section in Discord instead of saying "scroll down to the bit about the second phase". And Google sometimes shows "jump to" links under your result, which can lift clicks on long guides.

What it does not do is rank a thin page. If the content under each heading is weak, a neat list of links just makes that easier to see.

Three ways to add one

Option 1: the core block editor, no plugin

Since WordPress 6.x there is a Table of Contents block available through the Gutenberg plugin, and some block themes include their own. If yours does not, you can build a manual version in about ten minutes:

  1. Select each heading, open the Advanced panel in the block sidebar, and type a short anchor such as "phase-two".
  2. Add a List block near the top of the post.
  3. Type each section name and link it to #phase-two, #rewards and so on.

This is fine for a handful of evergreen guides. It is tedious for a site with 300 posts, and it does not update itself when you rename a heading.

Option 2: a dedicated plugin

Plugins like Easy Table of Contents, LuckyWP Table of Contents and Joli Table of Contents scan your headings and insert the list automatically. Most are free, and setup takes about five minutes. Look for these settings:

  • Which post types get a table, so it shows on guides but not on your homepage or forum pages.
  • A minimum heading count, usually 3 or 4, so short news posts stay clean.
  • Which heading levels to include. For most guides, h2 and h3 is the right depth.
  • Whether it starts collapsed or open. Open is better for long guides, since a closed box is easy to miss.
  • Smooth scrolling and an offset if your theme has a sticky header, so the heading is not hidden under the menu after the jump.

Option 3: your SEO plugin or theme

Rank Math includes a table of contents block, and Yoast offers one in its block set. Some themes such as GeneratePress and Kadence add their own. If you already run one of these, use its version before installing anything new. Every extra plugin is another thing to update and another chance of the kind of clash covered in our guide to finding a WordPress plugin conflict.

Setting it up so it does not break

Most table of contents problems come from headings, not the plugin. A few rules keep things tidy:

  • Use real heading blocks. Bold paragraph text that looks like a heading will not be picked up. Neither will headings inside some page builder widgets.
  • Keep heading levels in order. An h4 sitting directly under an h2 produces a strange nested list. Go h2, then h3, then back to h2.
  • Write short headings. "Phase two: the waterfowl dance" works in a list. A 20 word heading wraps across three lines and makes the box enormous.
  • Keep anchors stable. If people share links to #phase-two, renaming that heading can break the anchor. Many plugins let you set a fixed anchor so the link survives an edit.
  • Check the sticky header offset. Click every link once on mobile. If the heading lands under your menu bar, raise the offset in the plugin settings by the height of your header, often 60 to 90 pixels.

After setup, clear your cache and test in a private window. A table that refuses to appear is often a cached page, not a broken plugin, which is a problem we cover in why caching plugins hide your own updates.

When a table of contents is a bad idea

A lot of SEO advice says to add a table of contents to every post. I disagree, and the reason is the reader.

On a 600 word patch summary, a table of contents pushes the actual content down the screen. On a phone, the reader may see your title, an ad, and a box of five links before reading a single useful sentence. That is a worse first impression, not a better one.

A rough rule that works on most gaming sites: add one when a post has at least four h2 sections and runs past 1,500 words, or when readers clearly hunt for one part, like a single boss or a single collectible. Skip it on news posts, short reviews and opinion pieces, where people read from top to bottom anyway.

Also watch your page weight. Some table of contents plugins load a JavaScript file and a stylesheet on every page, even pages without a table. If yours does, check whether it has an option to load assets only where needed. If it does not, a lighter plugin or the manual method is worth considering, especially if you have already worked through speeding up a slow WordPress site.

Measuring whether it helped

Give it four to six weeks, then compare a handful of long guides before and after. Look at three numbers:

  • Average engagement time per page in your analytics.
  • Click-through rate in Search Console for those guide URLs.
  • Clicks on table of contents links, if you track outbound or anchor clicks with an event.

On a mid-sized fan wiki, a 10 to 20 percent rise in engagement time on long guides is a fair result. If nothing moves, your readers may already be skimming happily, and you can keep the table on your biggest guides only.

Frequently asked questions

How do I add a table of contents in WordPress without a plugin?

Give each heading an anchor in the Advanced panel of the block sidebar, then add a List block near the top and link each item to #your-anchor. It takes about ten minutes per post. The downside is that it will not update when you rename or add headings.

Does a table of contents help SEO?

It can help indirectly. Google sometimes shows "jump to" links from a table of contents, which can raise clicks, and readers who find the right section quickly tend to stay longer. It will not lift a weak page on its own.

Why is my table of contents not showing in WordPress?

The usual causes are too few headings for the plugin's minimum count, headings that are styled paragraphs instead of heading blocks, or a cached page. Check the plugin's post type and heading settings, then clear the cache and reload in a private window.

SF
Saskia Ferrante

Saskia has built WordPress sites for clients since the early 2010s and tested more themes than she can remember. She edits SKR Tips and writes about themes, builders and plugins.

More posts by Saskia

More in WordPress

01doorganico 084goad 3hot8 4465456 after5internprogram ahandfulofblessings ahmadpc ahomcybersecurity allodialresources annodex antiquesandperiodcollectibles aotc asianworldkashmir beedlectrics bloggertemplatefree bluefeatheragency bodyweightsolution campaign08blog carfixadvisor catstreetcollective cbstvsports cnfanspurchasing committeeof500yearsofdignityandresistance covertopsdjs cs-kaiyuangame cuestacomunicaciontotal cxoutlet dancebetgame deskgearhub destinyvillastay detectmagazine di33 diamondsteelbuildings donmo dyanadropship emarsysfinance emimattl escapechan eskitarih evautoplay everythingweddings-orlando farmzone feedviewerapp foxstudiosscratch gamevui123 gleasongrade greetingsday hacklabasu haskell iw-kaiyun jagoanproperti jilidskripsi joltbusinessfinance juegodepokergratis juegospucca kaeru-festival latestmehndidesigns lestanzediottaviano litemagazines localcommunityhero lustrsazan mariashebets menswheels newwebstechs1 nikkit ootheday oxigenvpn plurfitness prefetial probudgetcarpetcleaning psychicmrsmartin pyaten qvantor rejoignezlogis rexzbot riselayouts ruchin rwxqsgd5 sakaltime shibiaowang shop-bot strcoding tetapatrium topselller uneplanteartificielle vipertechcr webtech1223411 wo-kygaming yamaha-mekar yeknava yoybuysheets zenunwa yamaha-mekar jilidskripsi ankertoto ankertoto ankertoto ankertoto