

The table of contents on a post, inheriting the theme's look.
Install it, and every post that needs a table of contents gets one. That is the whole setup.
FlexiTOC reads the final rendered page — Gutenberg blocks, classic content, shortcode output — finds the headings, gives them stable anchor links, and builds the navigation in one pass. Because the TOC and the anchors come from the same pass, they cannot drift apart: no orphaned links, no “TOC shows a heading I deleted”, no anchors pointing nowhere. That same reliability makes it SEO-friendly — and just as usable for readers: choose exactly which heading levels appear, or flatten the hierarchy entirely, so a long page gets a clean list instead of a wall of deeply nested levels.
Authors stay in control without ever maintaining a list:
However you place it, the same engine renders it:
[flexitoc] for classic content and page builders, including Elementor and Divi.nav landmark, native details collapsing (no JS), aria-current on the active link, reduced-motion respected.hidden, aria-hidden) are ignored automatically.flexitoc-include, flexitoc-exclude (or no-toc) on headings or their containers; flexitoc-ignore on a container to skip everything inside it.flexitoc_headings (the list an instance will show), flexitoc_html (final markup), flexitoc_settings (effective settings).