On This Page
Table of Contents
Overview
Table of Contents (TOC) scans the rendered content of singular posts (and eligible types) for heading elements—typically H2 through H6—and builds a nested list of links. Each item jumps to an in-page anchor so readers can skim long articles the way they do on Wikipedia or developer docs. You can inject the TOC automatically via the_content, or place it precisely with a shortcode inside the block or classic editor.
Advanced Settings control which heading levels appear, how deep the outline goes, styling for the list and anchors, and whether auto-insert runs at all. This keeps editorial workflow simple: authors use normal Heading blocks or tags, and the outline updates on every save without manual HTML maintenance.

Features
Automatic Outline Extraction
Shortcodes
Optional Auto-Insert
Anchors and Deep Linking
Styling and Frontend Assets
Heading Level and Depth Controls
How It Works
Enable the Module
Configure Advanced Settings
Author with Real Headings
Place via Auto or Shortcode
Test and Purge Cache

Installation & Activation
Install WP PowerSuite
Enable Table of Contents
Align with Editorial Style
Conflict Check

Use Cases
- APIDocsAPI reference–style articles with many H2/H3 sections.
- ComparisonContentComparison posts with repeated “Verdict,” “Pricing,” and “FAQ” headings.
- KnowledgeBaseInternal wikis or knowledge bases migrated to WordPress.
- PillarPagesPillar content pages that double as mini homepages for a topic cluster.
Frequently Asked Questions
Does it work with the block editor?
Yes. Filtering happens on output so block markup and inner blocks remain intact as long as headings are semantic Heading blocks.
Can I exclude certain headings?
Use Advanced Settings for level limits, skip patterns, or CSS classes so promotional banners styled as headings do not pollute the TOC.
Why is my TOC list empty?
Common causes: viewing a archive instead of singular post, no eligible headings in content, content loaded via AJAX without hooks, or aggressive optimization stripping heading tags.
Does it support RTL languages?
List layout should follow theme direction; verify anchors still align for RTL themes and adjust CSS if numbers or markers misalign.
Will duplicate IDs break anchors?
The module aims for unique IDs per page; duplicate heading text may need suffixes—if issues persist, edit headings to be distinct or adjust slug-like text in Advanced Settings where available.
Troubleshooting
- TOC is wrong or incompleteConfirm you are on a singular template, headings are real h2–h6, not images or blank spacer blocks. Disable “lazy” plugins that strip markup until scroll.
- Anchors scroll to wrong placeSticky headers can offset scroll position—themes often add scroll-margin-top on headings; add CSS in the child theme as needed.
- TOC appears twiceRemove duplicate shortcodes or disable auto-insert while using manual placement.
- Full-page cache shows old outlinePurge cache after bulk heading edits or schedule automatic purge on save if your host supports it.
