BuddyX

13 min read · 2,619 words

7 Best Table of Contents Plugins for WordPress

Table of Contents Plugins for WordPress

A table of contents matters most on long posts, tutorials, guides, anything a reader might scan for one section rather than read start to finish, and it’s worth treating as a genuine content feature rather than a decorative add-on once you’re publishing anything past a couple thousand words regularly. These plugins generate one automatically from your headings, so you’re not maintaining a manual list of anchor links by hand. Beyond the obvious usability win, a good table of contents does real work for SEO too, Google’s search results have shown jump-to-section links directly under a result for years now, pulled straight from a page’s heading structure and anchor links, and that visibility only happens if your headings and anchors are built the way these plugins build them.

BuddX Theme

The plugins

1. Table of Contents Plus

Table of Contents Plus is the largest and most actively maintained option here, now under the AIOSEO team, with a redesigned settings screen shipped this year. Auto-generates from your headings, with style, color, and horizontal/vertical layout options, a sidebar widget, and screen-reader support. 200,000+ installs.

Being under the AIOSEO umbrella now matters beyond just the update cadence, it means the plugin gets tested against AIOSEO’s own SEO plugin for compatibility as a matter of course, which reduces the odds of a conflict if you’re running both. The auto-insert behavior, deciding which posts get a table of contents automatically based on word count or heading count thresholds, is genuinely well thought out, you can set a minimum number of headings before it bothers inserting one, so a short post with two subheadings doesn’t get a table of contents that’s longer, proportionally, than the content itself.

2. Easy Table of Contents

Easy Table of Contents has the largest install base of anything on this list (600,000+) and one of the more active update cadences, same core feature set as Table of Contents Plus (heading-level selection, styling, smooth scroll), with a slightly simpler settings screen.

The install-base gap over Table of Contents Plus is worth noting because it usually correlates with a broader compatibility testing surface, more themes, more page builders, more edge cases already reported and fixed by the time you install it. If you’re running a less common theme or a page builder like Elementor or Divi, the wider user base means someone else has probably already hit and reported whatever conflict you might run into, which isn’t guaranteed but does shorten the odds of an unusual, unreported bug.

3. Tocer (formerly Fixed TOC)

If you’ve seen “Fixed TOC” recommended elsewhere, it’s now called Tocer. The name change reflects an expanded feature set beyond the original sticky-TOC concept, including WP Query-based content pulling and list-marker customization added in recent versions. Sold on CodeCanyon for $21 (regular license), actively updated through 2025.

The sticky-positioned table of contents, one that stays visible in a sidebar or floating panel as the reader scrolls, is Tocer’s standout feature relative to the free options above, both of which generate a static in-content table of contents by default. On a long guide or reference article, a sticky TOC that tracks the reader’s current section (highlighting which heading they’re currently under) genuinely improves navigation on long-form content in a way a static, in-content one doesn’t.

4. Heroic Table of Contents

Heroic Table of Contents is smaller (5,000+ installs) but genuinely maintained, with a straightforward dropdown-or-list display and full responsive support. Worth a look if the two bigger options above feel more configurable than you actually need.

The dropdown display mode specifically is a nice option for mobile-heavy content, rather than a long expanded list of links taking up vertical space above the actual article on a phone screen, a collapsed dropdown lets a reader tap to expand it only if they want to jump around, keeping the initial page load visually clean without sacrificing the navigation option for readers who want it.

5. Ultimate Blocks

Ultimate Blocks isn’t a dedicated TOC plugin, it’s a Gutenberg block library that happens to include a table of contents block alongside call-to-action, countdown, and review blocks. Makes sense if you want several content blocks from one plugin rather than a single-purpose TOC tool. 50,000+ installs.

Because it’s a native Gutenberg block rather than an auto-inserting plugin working behind the scenes, you place it manually wherever you want in the block editor, which gives more precise control over exactly where the table of contents appears relative to your intro paragraph, but also means it’s a manual step per post rather than a set-and-forget global setting like the dedicated plugins above. Worth the trade-off specifically if you’re already using Ultimate Blocks for its other content blocks and don’t want a second plugin just for the TOC piece.

6. LuckyWP Table of Contents

LuckyWP Table of Contents has a solid install base (100,000+) and a strong review history, but it’s worth flagging: WordPress.org currently shows a “not tested with the latest 3 major releases” warning, and the last update was April 2025. Not dead, but check it works on a staging copy of your site before relying on it in production.

That compatibility warning isn’t necessarily a sign of active problems, plenty of simple plugins keep working fine across several WordPress core releases without the developer needing to touch anything, but it is a sign the developer hasn’t proactively confirmed compatibility, which is a meaningfully different level of assurance than a plugin actively tested and re-verified against each new WordPress release. Weigh that against the plugin’s genuinely good feature set and review history rather than dismissing it outright, but do the staging test before trusting it on a production site.

7. CM Table of Contents

CM Table of Contents is the smallest plugin here by a wide margin (100+ installs, 3.3/5 rating) but it is still being updated. Only worth considering if none of the more established options above fit your specific setup.

What actually matters in a table of contents, beyond the plugin

Heading structure comes first, before any plugin choice. A table of contents can only be as good as the headings it’s built from, and a lot of posts have messier heading hierarchy than their authors realize, an H3 used for visual emphasis rather than actual sub-topic structure, or headings skipped entirely (jumping from H2 straight to H4) because a smaller font size looked better in the moment. Every plugin here reads your actual heading tags to build its list, so cleaning up heading structure before installing a TOC plugin, using H2 for main sections and H3 consistently for subsections within them, produces a noticeably better table of contents than bolting one onto already-inconsistent headings.

Anchor link behavior is worth checking after setup, not assuming it works correctly. Clicking a table of contents entry should scroll smoothly to the right heading with the heading itself visible, not hidden behind a sticky header bar. This is a genuinely common bug, a theme with a sticky navigation header at the top of the screen covers the target heading after the jump, since the browser’s default anchor-jump behavior doesn’t account for fixed-position elements sitting on top of the content. Most of the plugins above have a “scroll offset” setting specifically for this, worth setting to match your theme’s header height rather than leaving at the default, which assumes no sticky header at all.

Performance impact, worth actually checking

A table of contents plugin is generally lightweight, but “generally” is doing some work in that sentence. The ones that auto-scan every post’s headings on every page load, rather than caching the generated table of contents, add a small but real processing cost that compounds on a high-traffic site. Most well-built options cache the result after the first generation and only regenerate when the post content actually changes, worth confirming your chosen plugin does this (usually mentioned in the plugin’s FAQ or settings) rather than assuming, particularly if you’re running a content-heavy site where page load speed already matters for SEO and user retention.

When a table of contents actually isn’t worth adding

It’s worth saying directly: not every post needs one. A 600-word post with two subheadings gets nothing from a table of contents beyond visual clutter, and the better-built plugins on this list actually let you set a minimum word or heading count threshold specifically to avoid this, worth configuring rather than letting every single post get a table of contents regardless of length. A landing page, a short announcement, a simple how-to with three steps, none of these benefit from forcing a navigation aid onto content short enough to read in full without needing to jump around.

The flip side is content genuinely structured as reference material, a comprehensive guide, a comparison roundup like this one, a long troubleshooting article covering multiple distinct scenarios, where a reader is much more likely to arrive looking for one specific answer rather than reading start to finish. That’s exactly the content type where a table of contents earns its place, and where investing the setup time above (proper heading structure, scroll offset tuned to your theme, styling that matches your site) pays off the most.

A quick migration note if you’re switching plugins

If you’re replacing an existing table of contents plugin rather than adding one for the first time, deactivating the old plugin and activating a new one is usually enough, since all of them read from the same underlying post content and heading tags rather than storing separate proprietary data. The one thing worth double-checking afterward: if the old plugin inserted a shortcode directly into specific posts (rather than relying purely on auto-insert), that shortcode won’t render correctly once the plugin generating it is deactivated, and you’ll see the raw shortcode text exposed on the live page instead of a table of contents. A quick search through your posts for the old plugin’s shortcode tag before fully removing it catches this before it becomes a visible, slightly embarrassing bug on a published page.

Accessibility, not just a styling checkbox

A table of contents is fundamentally a navigation aid, and navigation aids matter disproportionately for keyboard and screen reader users who don’t have the option of just visually scanning down the page to find a section. Confirm your chosen plugin wraps the table of contents in a semantic <nav> element with an appropriate aria-label (something like “Table of contents,” distinguishing it from the site’s main navigation menu), and that each link is a genuine, keyboard-focusable anchor tag rather than a JavaScript-only click handler that skips keyboard users entirely. The more actively maintained plugins on this list handle this correctly out of the box, but it’s worth a quick keyboard-only test, tab through the page and confirm you can reach and activate each table of contents entry, rather than assuming it based on the plugin’s marketing copy.

Configuring one properly: the settings that actually matter

Most people install a table of contents plugin, accept every default setting, and move on, which leaves real value on the table. A few settings are worth deliberately reviewing rather than skipping past. Heading levels included is the first one, defaulting to H2 and H3 usually produces a clean, useful list, including H4 as well often makes the table of contents longer than it needs to be and buries the genuinely important sections under minor sub-points. Start narrower and only widen it if you find yourself wanting a specific H4 to be jumpable.

Auto-insert position is the second. The default is usually right after the first paragraph, which works for most posts, but a post that opens with a longer, scene-setting intro benefits from a table of contents placed after that intro rather than interrupting it. Most plugins let you either set a global position or manually place a shortcode where you want it on a per-post basis, worth using the manual option on your longest, most important pieces of content even if you leave the global default for everything else.

Collapsible behavior is the third, worth turning on for long posts with a lot of sections. A table of contents with fifteen entries fully expanded, sitting at the top of the article, can feel like more of an obstacle than a help, a reader has to scroll past a wall of links before reaching actual content. A collapsed-by-default table of contents that expands on click gives the same navigation value without that upfront visual weight.

A common mistake: styling that fights the theme

Table of contents plugins ship with their own default styling, box shadows, specific fonts, colored borders, and that default styling frequently looks visually disconnected from a well-designed theme, like a widget bolted onto the page rather than a native part of the design. This is worth fixing with custom CSS rather than living with, since a mismatched table of contents undercuts the professional feel of an otherwise polished site. Most plugins expose enough CSS classes to restyle the box, border, and link colors to match your theme’s existing design tokens without needing to touch the plugin’s own code, just your theme’s custom CSS panel or a child theme stylesheet.

On a BuddyX-powered site specifically, matching the table of contents box to the theme’s existing card and accent-color styling, rather than leaving the plugin’s default blue links and gray border, takes maybe fifteen minutes of CSS work and makes a noticeable difference in how intentional the whole page feels. It’s a small detail, but small details are exactly what separates a site that feels professionally built from one that feels like a stack of plugins loosely wired together.

Beyond the direct usability win, a properly structured table of contents genuinely helps with how Google displays your page in search results. Search engines parse a page’s heading hierarchy and anchor link structure to understand what a page covers section by section, and pages with clean, descriptive headings paired with working anchor links are more likely to surface as jump-to-section links directly under a search result, letting a searcher click straight to the specific section that answers their query rather than landing on the top of the page and scrolling to find it. That’s a meaningful click-through and engagement advantage that a plugin with sloppy or broken anchor generation doesn’t reliably deliver, another reason the heading-hygiene point above matters as much as the plugin choice itself.

Picking one

None of these plugins are a set-it-and-forget-it fix on their own, the underlying heading structure and the styling pass matter as much as which one you pick. But given clean headings and a bit of styling attention, any of the actively maintained options here will genuinely improve how readers navigate your long-form content and how well that content performs in search.

Table of Contents Plus or Easy Table of Contents cover the vast majority of use cases and both have the update history to back up relying on them long-term. Tocer is the pick if you want a polished, premium feel and a sticky, scroll-tracking display, and don’t mind paying $21 once. Heroic is worth a look for a lighter-weight, dropdown-friendly mobile experience if you don’t need the fuller settings screen of the two bigger free options. Skip LuckyWP and CM Table of Contents unless you’ve specifically tested them on your setup, given the compatibility flags on both. Whichever one you land on, budget the extra twenty minutes for the configuration and styling pass covered above rather than accepting the defaults, that’s genuinely where the difference between “technically has a table of contents” and “has a table of contents readers actually use” comes from.

Reign BuddyPress Theme


Interesting Reads:

8 Best Plugins to Convert a WordPress Site Into a Mobile App

10 Best Instagram WordPress Plugins

Reading
13 min · 2,619 words
Published
Apr 5, 2023
Shashank Dubey
BuddyX contributor

Writing about WordPress communities, BuddyPress, BuddyBoss, LMS plugins, and the business of paid communities.

Keep reading

More from the BuddyX blog

Browse all posts on community, WordPress, BuddyPress and the studio of plugins behind BuddyX.