Add a Table of Contents and In-Post Pagination to WordPress

Add a Table of Contents and In-Post Pagination to WordPress

As a webmaster, some of your goals are likely to be increasing the number of pages a visitor views on your site per visit, as well as increasing the time they spend on your site. Increasing both of these metrics can benefit your site in a number of ways.

As Google can use these metrics to evaluate how useful and relevant your content is to your readers, it can have a positive effect on the ranking of your site in the search engine results pages. This can in turn increase the number of visitors to your site.

By adding a table of contents to the start of your posts, you can easily convey to your readers just what is covered in the post, and if necessary allow them to jump to the most relevant part. This is a great way to decrease the likelihood that the user might bounce back to the search engine results page after landing on your site. By being able to quickly see what is in front of them via the contents, they can immediately determine how useful the content is to them.

Another way to increase the page views per visitor is to divide your content up into smaller chunks. By paginating your posts, or dividing them into pages, you can increase the pages a visitor views during their visit, which again reduces the bounce rate in the eyes of Google and can have a positive effect on how they evaluate the relevance and quality of your site, therefore ranking it more positively in their results pages.

If you sell advertising space on your website, then increasing these metrics can also help you increase the amount you can charge. Low bounce rates and a high number of page views per visitor can all increase the attractiveness of your site to potential sponsors and advertisers, or even if you ever decide to sell your website.

Adding a Table of Contents to WordPress

Adding a table of contents to your longer WordPress posts not only makes it easier for your visitors to navigate a long piece of content, but it also shows them exactly what your will be covering and what they will learn as soon as they hit your page.

Another advantage of adding a linked table of contents that allows users to quickly ump to the part they are most interested in, is that it makes it easy for you and your readers to directly link to a specific part of your posts. Instead of just providing a link to the post, it is possible to link to a specific paragraph using the table of contents anchor links. This can make your content more sharable, increasing visitors to your site.

The Best Table of Contents Plugin

If you were building your website by hand, writing the underlying HTML, then you would have to create anchor links throughout your document, and then create the list of contents and link each one to those anchor points. This could quickly get time consuming as the number of pages on your site grows.

Thankfully for WordPress users there is a very handy free table of contents plugin that makes adding this feature to your content a very hands off and automated affair. That plugin is the aptly named Table of Contents Plus and while there are other options, this is a good choice with over 48,000 downloads and a very respectable 4.8 out of 5 star rating, not to mention its great features and ease of use.

Table of Contents TOC+

To install the plugin, just login to your WordPress admin dashboard, click on Plugins > Add New and search for Table of Contents Plus. It should be the first result returned so click on Install Now and then activate the plugin.

Creating a Table of Contents

The way the plugin works is to scan your posts and pages, looking for headers. If the plugin detects more than a set number of headings, it will then create a table of contents (TOC) for your post.

The settings page for the plugin can be found under the Settings sidebar menu then clicking on TOC+. From here you can set the number of headings required in a document to show the TOC. You can also set the position of the TOC and choose which content types automatically get a TOC, by default just pages is selected. The plugin can also be configured to show a custom header above each TOC.

Other settings and features of TOC+:

  • Add show/hide controls for the TOC
  • Use a hierarchical structure based on different heading types (H2, H3, etc.)
  • Number list the items
  • Smooth scroll rather than jump to the section of the page
  • Set the width, font size, and direction of text wrapping
  • Choose a colour theme or create your own
  • Select which headings to include (H1, H2, etc.)
  • Disable for individual pages using a shortcode
  • Disable for specific headers or those containing a certain word
  • Display the TOC in the sidebar using the widget

For a free plugin, this one is really feature packed and covers every eventuality that might occur when configuring your TOC.

Table of Contents Example

Add a Sitemap

Another interesting feature of this plugin is the ability to add a sitemap page to your site. This can be done simply by entering a shortcode into a post or page. By default, that page will then contain a big TOC of all the pages on your site.

Table of Contents Sitemap

The sitemap shortcode can be customised to also show the following:

  • Posts – ordered by title, date, author, number of comments, ID, and more
  • Category – lists categories instead of posts or pages


Adding a TOC to your posts and pages with this plugin couldn’t be any easier. If you are writing long posts for your site, this plugin comes highly recommended.

Table of Contents Plus

Adding Pagination to a WordPress Post

WordPress already uses pagination to make it easier for your visitors to navigate their way through your published content. This feature allows you to show a set number of posts on a page, and then display a link to view the next set of posts. This is instead of simply showing a huge list of all your site’s posts.

This same principle can be applied to long form content in WordPress, such as in-depth posts and pages. This can make it easier for your readers to consume your content as they can work their way through the page in a more step by step manner. It also allows you or your readers to link directly to a specific sub-page of the post.

The easiest way to start dividing your posts up into more manageable chunks is to simply add the following into your content at the point you would like to start the next page:


Please note this must be done when using the Text view of the post editor:

Table of Contents NextPage

While this does work, some themes might not display the required links to the next page. If this is the case for your theme, either upgrade to a better theme, or edit your single.php file to include <?php wp_link_pages(); ?> (more info here).

As anyone who has tried to add more ‘advanced’ features to their posts, switching from Visual to Text view can cause problems with formatting. Using the manual approach to post pagination also means that you have to consciously remember to add pagination to each post. A better way for you and your site might be to use a post pagination plugin.

The Best In-Post Pagination Plugin for WordPress

Like adding a table of contents to your site, an easier and more feature rich way to enable post pagination can be to use a plugin. When it comes to automatically paginating your posts and splitting them into multiple pages, there aren’t many options. The best one seems to be Automatically Paginate Posts which auto-inserts the required tag into your content.

After installing the plugin, its settings are added to the reading page (Settings > Reading). From here you can choose which post types will be automatically paginated and also set the number of pages each post will be divided into.

Table of Contents Auto Paginate Settings

The plugin can be overridden when creating a new post or page by using the metabox that is added to the post editor screen. If enabled, the plugin will add some links to the end of your post which allows the user to move onto the next part.

If you want to use the manual method for adding pagination, by inserting the next page tag, then it will disable auto-pagination for that post. This is handy if you want to ensure that your content is divided in a more meaningful way and doesn’t separate parts of the post that should be on the same page, such as a paragraph and its associated image.

The Atomically Paginate Posts plugin isn’t ideal as it will break up a post no matter how long it is. This can be annoying for the reader if they have to click after every few lines which would happen on a short post. It would be nice if the settings allowed you to divide the posts after a set amount of words, rather than setting the number of pages a post must be divided up into. However, you can disable the plugin at the individual post level which is a good idea for short posts.


Adding a table of contents to your posts and pages and also breaking them up into more manageable chunks with in-post pagination is a great way to make your content more manageable and easy to consume.

Adding in a table of contents makes it very easy for you and your readers to directly link to a relevant part of the page, thanks to the way the table of contents plugin adds anchor links into posts. This can help make your content more sharable as a reader can link straight to the point they are referencing in their own blog posts or social media posts.

In-post pagination is also a great way to increase your page views and reduce bounce rate. This can have a positive effect on your sites SEO rating as it shows to Google that your readers stick around for longer and do more than check out the page they land on before bouncing straight back to the search results.

Have you implemented tables of contents or in-content pagination on your site and did you notice any increase in visitor engagement?