Title: Tidy Table of Contents – Lightweight, Accessible TOC Block
Author: tidyplugins
Published: <strong>28 april 2026</strong>
Last modified: 5 oktober 2026

---

Plugins zoeken

![](https://ps.w.org/tidy-table-of-contents/assets/banner-772x250.png?rev=3728213)

![](https://ps.w.org/tidy-table-of-contents/assets/icon.svg?rev=3635361)

# Tidy Table of Contents – Lightweight, Accessible TOC Block

 Door [tidyplugins](https://profiles.wordpress.org/pierreferrolliet/)

[Download](https://downloads.wordpress.org/plugin/tidy-table-of-contents.1.0.10.zip)

 * [Details](https://nl.wordpress.org/plugins/tidy-table-of-contents/#description)
 * [Beoordelingen](https://nl.wordpress.org/plugins/tidy-table-of-contents/#reviews)
 *  [Installatie](https://nl.wordpress.org/plugins/tidy-table-of-contents/#installation)
 * [Ontwikkeling](https://nl.wordpress.org/plugins/tidy-table-of-contents/#developers)

 [Ondersteuning](https://wordpress.org/support/plugin/tidy-table-of-contents/)

## Beschrijving

Tidy Table of Contents is a lightweight, accessible table of contents plugin. It
automatically generates jump links from your headings, or you can place it yourself
with the TOC block or the shortcode. It works out of the box with no configuration,
and offers deep customization when you need it.

**Key features:**

 * 🤖 **Automatic** — parses H2–H6 headings and generates the TOC instantly
 * ♿ **Accessible** — proper ARIA roles, keyboard navigation
 * ⚡ **Performant** — output cached per post, no render-blocking JS
 * 🎨 **Customizable** — configure depth, position, title, open/collapsed state
 * 📌 **Per-post control** — override global settings via meta box
 * 🔗 **Smooth scroll** — animated anchor navigation
 * 📱 **Responsive** — collapsible on mobile
 * 🧩 **Shortcode** — `[tidy_toc]` for manual placement

#### More from Tidy Plugins

If you like this plugin, take a look at the rest of the Tidy suite:

 * [Tidy Draft Share](https://wordpress.org/plugins/tidy-draft-share/) — share drafts
   via secure, expiring preview links
 * [Tidy Author Box](https://wordpress.org/plugins/tidy-author-box/) — author bio
   box with avatar and social links
 * [Tidy Broken Link Scan](https://wordpress.org/plugins/tidy-broken-link-scan/)—
   find broken links and images, no external service

## Schermafbeeldingen

[⌊Table of contents inserted automatically after the first paragraph (Card theme)⌉⌊
Table of contents inserted automatically after the first paragraph (Card theme)⌉[

Table of contents inserted automatically after the first paragraph (Card theme)

[⌊Settings — choose post types, heading levels and where the TOC is inserted⌉⌊Settings—
choose post types, heading levels and where the TOC is inserted⌉[

Settings — choose post types, heading levels and where the TOC is inserted

[⌊Appearance — three visual themes with a live preview, list style and width⌉⌊Appearance—
three visual themes with a live preview, list style and width⌉[

Appearance — three visual themes with a live preview, list style and width

[⌊Outline theme, for a lighter look inside the article⌉⌊Outline theme, for a lighter
look inside the article⌉[

Outline theme, for a lighter look inside the article

## Blokken

Deze plugin heeft 1 blok.

 *   Table of Contents Display an automatic table of contents generated from your
   headings.

## Installatie

 1. Upload the `tidy-table-of-contents` folder to `/wp-content/plugins/`
 2. Activate the plugin through the **Plugins** menu in WordPress
 3. The TOC will appear automatically above the first H2 heading in your posts
 4. Configure global defaults under **Settings  Tidy TOC**

## FAQ

### Which heading levels are included?

By default H2 and H3. You can configure the minimum and maximum heading depth in
the settings.

### Can I disable the TOC for a specific post?

Yes. Each post has a meta box where you can disable the TOC or override global settings.

### Does it work with the block editor?

Yes. The TOC is generated server-side from the rendered post content, so it works
regardless of how the post was written.

### Does it slow down my site?

No. The TOC output is cached per post and invalidated automatically when the post
is updated.

### Can I place the TOC manually?

Yes. Use the `[tidy_toc]` shortcode anywhere in your content, or disable auto-insertion
in the settings.

### Why does the table of contents not appear on some posts?

By default a post needs at least three headings before a table of contents is worth
showing. You can lower that threshold in Settings, or set a minimum word count instead.

### Can I change where it is inserted?

Yes. It goes after the first paragraph by default, which is what most readers expect,
but you can place it before the content, after the first heading, or turn automatic
insertion off and use the block or the `[tidy_toc]` shortcode.

### Will it help me get sitelinks in Google?

It gives Google a clean anchor structure to work with, which is what jump links 
are built from. Nobody can promise sitelinks, but a proper heading outline with 
stable anchors is the prerequisite.

### Does it change my heading IDs?

It adds an anchor id to headings that do not already have one, and leaves existing
ids alone. Links you have already shared keep working.

### Can I exclude a category or a specific heading?

Yes. Settings lets you exclude categories, tags and individual headings by their
text, which is handy for boilerplate sections like “Comments” or “Related articles”.

### Does it load JavaScript on every page?

No. Assets are only enqueued on pages that actually display a table of contents,
and the markup is cached per post.

## Beoordelingen

Er zijn geen beoordelingen voor deze plugin.

## Bijdragers & ontwikkelaars

“Tidy Table of Contents – Lightweight, Accessible TOC Block” is open source software.
De volgende personen hebben bijgedragen aan deze plugin.

Bijdragers

 *   [ tidyplugins ](https://profiles.wordpress.org/pierreferrolliet/)

[Vertaal “Tidy Table of Contents – Lightweight, Accessible TOC Block” in je eigen taal.](https://translate.wordpress.org/projects/wp-plugins/tidy-table-of-contents)

### Interesse in ontwikkeling?

[Bekijk de code](https://plugins.trac.wordpress.org/browser/tidy-table-of-contents/),
haal de [SVN repository](https://plugins.svn.wordpress.org/tidy-table-of-contents/)
op, of abonneer je op het [ontwikkellog](https://plugins.trac.wordpress.org/log/tidy-table-of-contents/)
via [RSS](https://plugins.trac.wordpress.org/log/tidy-table-of-contents/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 1.0.10

 * The review prompt now waits until the plugin has actually rendered a table of
   contents on your pages, appears only on the plugin’s settings screen, and says
   how many days it has been running.

#### 1.0.9

 * Added a dismissible tip on the plugin screen pointing to our free companion tool,
   Broken Link Scan, for a full-site broken-link and image check.

#### 1.0.8

 * Declared compatibility with WordPress 7.0.

#### 1.0.7

 * Replaced the grid-template-rows collapse trick with a max-height transition. 
   The grid trick would refuse to fully collapse in some themes, leaving a residual
   strip with the first row of items partially visible. max-height: 0 hides the 
   body cleanly.

#### 1.0.6

 * Fixed the collapsed state leaving a visible padding strip under the header. The
   body wrapper is now `box-sizing: border-box` so its padding is included in the
   collapsed height (full collapse, no leftover band).

#### 1.0.5

 * TOC item sizes inherit from the active theme again (reverts the explicit `rem`
   fallback added in 1.0.4).
 * Title bumped to 1.25rem so the SOMMAIRE label stays clearly readable as a header
   above inherited link sizes.

#### 1.0.4

 * Fixed the toggle button picking up theme button styles (coloured background, 
   padding, hover gradient) — the “Table of Contents” header now reliably renders
   as a plain text label across themes.
 * Hardened TOC item font sizes against context shrinkers (sidebar, nav, .entry-
   content ul). Sizes are now expressed in `rem` so they track the theme’s root 
   font size while staying isolated from nested overrides.

#### 1.0.3

 * Default insertion position is now “After first paragraph” (was “Before content”)—
   better reading flow on a fresh install.
 * Removed hardcoded font sizes from the front-end stylesheet (base, title, H2/H3/
   H4 link sizes). The TOC now inherits typography from the active theme.

#### 1.0.2

 * Removed all rendering code for premium-only features (sticky positioning, “custom”
   theme with color/radius/border options, reading-time badge). The free plugin 
   now exposes only the three documented free themes (Minimal, Card, Outline) — 
   no hidden capabilities behind add-on hooks.

#### 1.0.1

 * Removed all licence checks and premium-feature gating from the free plugin code(
   premium features are now distributed via a separate companion plugin).
 * Hardened JSON-LD output with JSON_HEX_* flags to prevent script-tag breakouts.
 * Removed the now-unnecessary `load_plugin_textdomain()` call (handled by WordPress.
   org translation system since WP 4.6).
 * Added extension hooks for add-on plugins (settings defaults/sanitisation, render
   options, shortcode atts/headings, settings page, admin/front localized data, 
   plugin row links).

#### 1.0.0

 * Initial release — automatic TOC generation, caching, accessibility, per-post 
   control.

## Meta

 *  Versie **1.0.10**
 *  Laatst geüpdatet **2 weken geleden**
 *  Actieve installaties **Minder dan 10**
 *  WordPress versie ** 6.0 of nieuwer **
 *  Getest t/m **7.0.7**
 *  PHP versie ** 8.2 of nieuwer **
 *  Taal
 * [English (US)](https://wordpress.org/plugins/tidy-table-of-contents/)
 * Tags
 * [anchor links](https://nl.wordpress.org/plugins/tags/anchor-links/)[jump links](https://nl.wordpress.org/plugins/tags/jump-links/)
   [table of contents](https://nl.wordpress.org/plugins/tags/table-of-contents/)
   [toc](https://nl.wordpress.org/plugins/tags/toc/)[toc block](https://nl.wordpress.org/plugins/tags/toc-block/)
 *  [Geavanceerde weergave](https://nl.wordpress.org/plugins/tidy-table-of-contents/advanced/)

## Waarderingen

Er zijn nog geen beoordelingen ingediend.

[Je beoordeling](https://wordpress.org/support/plugin/tidy-table-of-contents/reviews/#new-post)

[Bekijk alle beoordelingen](https://wordpress.org/support/plugin/tidy-table-of-contents/reviews/)

## Bijdragers

 *   [ tidyplugins ](https://profiles.wordpress.org/pierreferrolliet/)

## Ondersteuning

Iets te melden? Hulp nodig?

 [Het supportforum bekijken](https://wordpress.org/support/plugin/tidy-table-of-contents/)