How to Create a Table of Contents in WordPress Without a Plugin

Your WordPress website may feature articles of various lengths. When dealing with long-form content, navigating to sections can become a daunting task for your readers. A table of contents can be the beacon in the textual sea. It offers a snapshot of the article, allowing readers to jump directly to the sections that interest them. Besides reader convenience, TOC can improve your site’s SEO by offering contextual links to your content and keeping visitors engaged.

How to Create a Table of Contents

Here is a step-by-step guide for you:

Step 1: Enable Headings in the WordPress Editor

A crucial element of your TOC’s groundwork begins with effectively structuring your content. This is done by utilizing the HTML heading elements within the WordPress editor.

Headings in WordPress

WordPress has a simple solution to address the website’s content organization — the heading system. When creating or editing a post, you may choose from several heading options from H2 to H6, with H1 being reserved for the post title. These headings not only provide content structure but also inform search engines and screen readers about the hierarchy of the information.

Setting Up Headings

Start by identifying the significant sections of your post. Assign H2 headings to these main sections, and if they require sub-divisions, use H3 headings beneath the H2. Continue this logical structuring down to H6 if necessary. The appearance of these headings can be managed through your theme’s stylesheet for uniformity.

Step 2: Manually Create a Table of Contents

With the headings appropriately set, your next task is to create a TOC that links directly to each section. In HTML, this is done through anchor links.

Anchor Links in HTML

Anchor links are used to create direct paths to specific points within a page. They’re particularly effective when navigating long content. Here’s how you turn your headings into anchors:

  • For an H2 heading, add an id attribute to it, for example, `<h2 id=”section1″>Section 1 Content</h2>`.
  • Create a hyperlink to it anywhere in your post, like so, `<a href=”#section1″>Jump to Section 1</a>`.

Repeat this process for all the sections of your post.

Step 3: Implementing Smooth Scroll

To enhance the user experience further, consider incorporating a smooth scroll effect. This animation will give readers a visual cue of their transition to new sections, which can be far more pleasing than abrupt jumps.

Adding Smooth Scroll Code

To implement smooth scrolling, you’ll need a snippet of JavaScript. This code snippet changes the default behavior of the browser anchor links, introducing a smooth animation instead of an instant jump.

Include the following script in your WordPress theme’s JavaScript file or, for a more temporary effect, in your post’s HTML:

document.querySelectorAll('a[href^="#"]').forEach(anchor => {

anchor.addEventListener('click', function (e) {



behavior: 'smooth'




By adding the above script, readers will now enjoy a sleek transition from one section to another.

Step 4: Formatting and Customization

Your TOC is now functional, but the aesthetics also play a pivotal role in user engagement. It should be styled to be attractive and in line with your site’s overall design.

Styling with CSS

The look of your TOC can be transformed using CSS. This cascading style sheet allows you to control the size, colors, and layout of the TOC. Here’s an example of how you might style your TOC:

#table-of-contents {

background-color: #f5f5f5;

padding: 15px;

border-radius: 5px;


#table-of-contents ul {

list-style-type: none;

padding: 0;


#table-of-contents ul li {

margin-bottom: 5px;


#table-of-contents a {

text-decoration: none;

color: #333;


#table-of-contents a:hover {

color: #ff8300;


This CSS snippet will give your TOC a gray background, with an orange highlight for links on hover.


Adding a table of contents to your WordPress site, whether you use a plugin or not, is a testament to your commitment to user comfort and navigation. A well-structured TOC can help you retain readers, lower bounce rates, and even give your website a minor SEO boost.

By manually crafting your TOC without a plugin, you not only exercise complete control over its function and appearance, but you also gain valuable insight into the fundamental building blocks of web elements – a knowledge that can be useful beyond the context of just this one feature in WordPress.

Wield this newfound power with care, ensuring that your TOC is both user-friendly and reflective of your brand’s image. You’ll likely find that your readers are not only thankful for the guidepost but that they’ve come to expect and appreciate the level of thoughtfulness that such an addition brings to their browsing experience.

Leave a Comment