Description
Imran Table of Contents is a lightweight, fast, and highly customizable TOC plugin for WordPress.
It automatically generates a clean and user-friendly table of contents based on your headings and helps improve user experience, navigation, and SEO.
🚀 Key Features:
- Automatic TOC generation
- Manual shortcode support [imran_toc]
- Works with Elementor and Gutenberg
- Heading control (H1–H6 selection)
- Sticky sidebar TOC
- Mobile floating TOC
- Collapse / expand option
- Smooth scrolling and scrollspy
- Search inside TOC
- Click analytics tracking
- Dark mode support
- Insert position control
⚡ Performance Focused:
This plugin is lightweight and does not rely on heavy external libraries.
🎯 Perfect for:
- Bloggers
- SEO experts
- Affiliate marketers
- Content-heavy websites
📌 Usage:
Simply install and activate. The TOC will appear automatically, or use the shortcode anywhere:
[imran_toc]
This plugin is designed to give you full control over your content structure while keeping everything simple and fast.
All options:
[imran_toc title=”Table of Contents” headings=”h2,h3,h4″ list=”ul” position=”top” max=”0″ exclude_text=”Intro,Summary” smooth=”true” spy=”true” sticky=”false”]
Shortcode Parameters
- title — TOC box heading text. Default:
"Table of Contents" - headings — Comma-separated heading tags to include. Default:
"h2,h3,h4" - list — List style:
ul(unordered) orol(ordered). Default:"ul" - position — Where to place the TOC:
top,bottom,after_first_paragraph,after_first_h2. Default:"top" - max — Maximum headings to show.
0means unlimited. Default:0 - exclude_text — Comma-separated heading texts to skip. Default: empty
- smooth — Smooth scroll on click:
trueorfalse. Default:"true" - spy — Highlight active section while scrolling:
trueorfalse. Default:"true" - sticky — Stick TOC while scrolling:
trueorfalse. Default:"false"
License
This plugin is licensed under GPLv2 or later.
See: https://www.gnu.org/licenses/gpl-2.0.html
Installation
- Upload the
Imran Table of Contentsfolder to/wp-content/plugins/. - Activate the plugin through the Plugins menu in WordPress.
- Go to Settings Imran TOC to configure defaults.
- Optionally place
[imran_toc]in any post or page to override auto-insert position.
FAQ
-
Does this plugin slow down my site?
-
No. It uses vanilla JavaScript (no jQuery) and injects minimal inline CSS/JS only on pages where the TOC is displayed.
-
Can I use the shortcode and auto-insert at the same time?
-
No — if
[imran_toc]is found in the post content, auto-insert is automatically disabled for that post to prevent duplicates. -
How do I exclude a heading from the TOC?
-
Use the Exclude by Text field in Settings Imran TOC, or use the
exclude_textshortcode attribute. Enter partial or full heading text, separated by commas. -
What heading levels are supported?
-
H2, H3, and H4. You can configure which levels to include via settings or the
headingsshortcode attribute. -
Is the TOC accessible?
-
Yes. The TOC is wrapped in a
<nav>element with anaria-labelattribute for screen reader support. -
Does it work with the Gutenberg block editor?
-
Yes, it works with both the Classic Editor and the Gutenberg block editor.
-
Does it support WordPress Multisite?
-
Yes. On plugin deletion, settings are removed from all sites in the network via
uninstall.php.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Imran Table of Contents” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Imran Table of Contents” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- Initial release.
- Auto-insert TOC based on H2, H3, H4 headings.
- Shortcode
[imran_toc]with full parameter support. - Sticky TOC option.
- ScrollSpy — highlights active heading while scrolling.
- Smooth scroll to heading anchors.
- Admin settings page under Settings Imran TOC.
- Exclude specific headings by text.
- Max headings limit option.
- Flexible insert position: top, bottom, after first paragraph, after first H2.
- Ordered and unordered list support.
- No jQuery — vanilla JavaScript only.
- Multisite compatible with clean uninstall via uninstall.php.
- Text domain:
imran-by-table-of-contents. - Requires WordPress 5.8+, PHP 7.2+.
