Elementor Table of Contents: Let People Skip to the Part They Came For

October 2, 2026
·
Shahidul Islam
Elementor table of contents sticking beside an article with the current section highlighted

Long pages get skimmed, not read. Somebody arrives from a search result with one question, lands halfway down a two thousand word article, and has no idea whether the answer is above them or below. Most of them scroll for a few seconds and leave.

The fix is not shorter articles. Long pages rank and long pages sell. The fix is telling people what is on the page and letting them jump.

The Elementor table of contents builds that list from the headings you already wrote, keeps it visible as people scroll, and highlights the section they are currently in.

Elementor table of contents beside an article with the current section highlighted
The list builds itself from the headings, sticks as the page scrolls, and marks where the reader is.

Where an Elementor table of contents earns its place

  • Long form articles. Anything over a thousand words, which is most content written to rank.
  • Documentation and help pages. Where people arrive with one specific question.
  • Legal and policy pages. Terms, privacy and refund pages that are read by section, never in full.
  • Product pages with depth. Specifications, compatibility, shipping and returns as jumpable sections.
  • Course and lesson pages. Module outlines that double as progress.
  • Landing pages with a long middle. A way to reach the pricing block without scrolling past everything.

Why an Elementor table of contents beats manual jump links

Hand written jump linksAn Elementor table of contents
Built by hand, out of date after one editBuilt from the headings, always current
Scrolls away with the pageSticks, per breakpoint
No indication of where you areCurrent section highlighted as you scroll
Every level shown at onceDeeper levels collapse until needed
Plain list stylingMinimal, accordion or timeline layouts

The Elementor table of contents features that matter

It builds itself. Choose which heading levels to scan, h2, h3 and h4 by default, and the list appears. Edit the article, add a section, and the list updates. Nobody has to maintain anything, which is the only reason a table of contents survives on a real site.

Sticky per breakpoint. Stick it on desktop, on tablet, on mobile, or on any combination. On a wide screen a sticky sidebar list is genuinely useful. On a phone it usually is not, and being able to turn it off there is the difference between helpful and intrusive.

The current section is marked. As the reader scrolls, the matching entry becomes active, with its own colour and styling. That is orientation, and it costs the reader nothing.

Collapse the depth you do not need. Set how many levels stay expanded, from all collapsed to all visible, and let the rest open as the reader reaches them. A twenty heading article stays a six item list until somebody goes deeper.

Three layouts. Minimal is a clean list, accordion groups the levels, and timeline draws the progression down the side. Each one has its own styling section, so the list matches the article rather than sitting on top of it.

Behaviour you can actually tune. Smooth scrolling with a duration you set, an offset so a fixed header does not cover the heading you jumped to, and an option to update the URL so a reader can copy a link to the section they are on.

Three Elementor table of contents layouts from the demo page
Minimal, accordion and timeline layouts, each styled to its own article.

Add a contents list with the Elementor table of contents

  1. Put the widget in the article template, in a sidebar column or above the body.
  2. Scan h2 and h3 only. Adding h4 usually makes the list longer than the section it describes.
  3. Set the collapse depth to one, so the list opens as the reader goes deeper.
  4. If the site has a fixed header, set the offset, then test a jump to a middle heading.
  5. Turn sticky on for desktop and decide separately about phones.
  6. Style the active state clearly. It is the part doing the most work.

A table of contents is a promise about the page. If the headings are vague, the list is useless. Fix the headings first.

Why it works

Jump links change what a long page costs the reader. Without them, reading section four means scrolling past sections one to three, and the reader has to decide whether that is worth it before they know what is there. With them, section four is one click, and the page is worth staying on.

The headings do double duty. A clear heading structure is what a table of contents is built from, and it is also what search engines use to understand a page. The WordPress guidance on heading structure and the wider accessibility convention both point the same way: one h1, a sensible h2 spine, h3s underneath. Writing headings properly gives you the contents list for nothing.

There is an accessibility dividend as well. Screen reader users navigate by heading, so the same structure that feeds the list also gives them a way through the page. Getting it right helps two audiences with one piece of work.

Elementor table of contents on desktop and collapsed on a phone
A sticky sidebar list on a laptop and a collapsed list above the article on a phone.

Getting it right

  • Scan two levels, not four. A contents list longer than a screen is another thing to scroll.
  • Write headings as answers. “How long delivery takes” beats “Delivery”.
  • Set the offset for fixed headers. Otherwise every jump lands with the heading hidden behind the bar.
  • Reconsider sticky on phones. A list following somebody down a narrow screen is often just in the way.
  • Turn on the URL hash. It lets readers share the exact section, which is how good content spreads.

Elementor table of contents: common questions

Is it free?

Yes. The table of contents is in the free Sky Addons plugin.

Do I have to maintain the list?

No. It is built from the headings on the page, so it updates when the content does.

Which heading levels does it use?

By default h2, h3 and h4, and you can pick any subset you want.

Can it stick only on desktop?

Yes. Sticky is set separately for desktop, tablet and mobile.

Does it highlight the section I am reading?

Yes. The matching entry becomes active as you scroll, with its own styling.

The short version

The Elementor table of contents turns a long page into something people can navigate: a list built from your own headings, sticky where you want it, with the current section highlighted and the deeper levels collapsed until they are needed. Three layouts and full styling mean it belongs to the article, and because it maintains itself it is still accurate a year later. It is free.

See the layouts in place

The Table of Contents demo shows the minimal, accordion and timeline layouts on one page, with sticky and collapsed variants. Every control is listed in the Table of Contents documentation.

For orientation above the article rather than inside it, Elementor breadcrumbs are the matching widget, and the Elementor sticky element handles anything else you want to keep on screen.

The table of contents costs nothing. Sky Addons Pro adds the motion, menu and store widgets, and the free versus Pro page shows where the line falls.

Written by
Shahidul Islam
Writes about the work behind the widgets — what shipped, why, and what it cost.
Share
In this post

More from the journal

Elementor Table of Contents: Let People Skip to the Part They Came For

Elementor Table of Contents: Let People Skip to the Part They Came For

The Elementor table of contents builds itself from your headings, sticks as people scroll, highlights the current section and collapses the deeper levels.
Elementor Pricing Table: Make the Right Plan the Obvious One

Elementor Pricing Table: Make the Right Plan the Obvious One

The Elementor pricing table handles sale prices, tooltips on any feature, a ribbon and twenty currencies, with the internal blocks in any order you like.
Elementor Form Builder: A Form That Sends Where You Need It

Elementor Form Builder: A Form That Sends Where You Need It

The Elementor form builder posts straight to Zapier, Make or n8n as well as email, with invisible reCAPTCHA, rate limiting and a switch to pause submissions.

Comments are closed.